|
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
|
|
.NET 4.x Посредник для вспомогательной библиотеки27.05.2018, 12:31. Показов 915. Ответов 10
Метки нет (Все метки)
Всем привет.
У меня есть много приложений под AutoCAD и Revit. В этих приложениях используется библиотека для оформления окон Mahapps.Metro.dll. Также есть моя собственная вспомогательная библиотека, которая подключена ко всем проектам. В моей библиотеке создан класс BaseMteroWindow, унаследованный от MetroWindow из Mahapps.Metro.dll. Проблема заключается в следующем: 1) Ко всем проектам обязательно нужно подключать библиотеку Mahapps.Metro.dll 2) Если я хочу обновить библиотеку Mahapps.Metro.dll, то мне нужно пересобрать все мои приложения с новой версией. Это очень накладно. Причем в библиотеке убрано StrongNamed, но видимо xaml плевал на это =)) Вопрос - может можно как-то эту библиотеку от всех других "отвязать" сделав некоего посредника? Чтобы для обновления библиотеки достаточно было пересобрать только библиотеку-посредника
0
|
|
| 27.05.2018, 12:31 | |
|
Ответы с готовыми решениями:
10
Модуль-посредник для wtsapi32.dll
Установка вспомогательной карты от nvidia для поддержки physx на картах amd |
|
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,437
|
|
| 27.05.2018, 14:07 | |
|
Modis, не совсем я понял вопроса, если честно. Чтобы вы не сделали (с посредник или без него), но обновлять всё придётся. Т.е. если вы введёте посредника, то его тоже придётся обновлять, и как следствие, все использующие его приложения тоже.
Если API не меняется и нет строгого имени, то можно просто подкладывать новую версию сборки всем её использующим. Без перекомпиляции. Так же, может очень сильно помочь заворачивание вашей сборки в NuGet-пакет и размещение его в локальном репозитории. Там и версии можно вести и обновляться более-менее централизованно.
0
|
|
|
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
|
||
| 27.05.2018, 14:12 [ТС] | ||
|
Просто перекомпилировать одну библиотеку (та, что якобы посредником является) и донести до пользователя - это не проблема. Но все основные программы пересобрать и донести до пользователя - труд примерно на неделю времени (учитывая еще и сопутствующую работу на сайте)
0
|
||
|
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,437
|
|
| 27.05.2018, 14:19 | |
|
Modis, так а где гарантии, что сборка-посредник корректно воспримется?)
Если вам не проблема пересобрать сборку и всем приложениям подсунуть, то какая проблема пересобрать все приложения? Если что, то приложения можно завернуть в Click Once или Squirrel использовать. Тогда ПО само за обновлениями будет ходить к вам на сайт.
0
|
|
|
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
|
|||
| 27.05.2018, 14:25 [ТС] | |||
|
Так что просто поверьте мне на слово - для меня такое обновление делать почти неделю (по вечерам если) =)
0
|
|||
|
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,437
|
|
| 27.05.2018, 14:37 | |
|
Modis, никто вам не запрещает завести инсталлятор для плагинов, который сам всё скопирует и настроит.
Возиться с подкладыванием сборок - ненадёжное и муторное занятие) Был раз, когда в релиз ушло приложение с багом, тогда отделались пересборкой и подкладыванием отдельной библиотеки (клиент не хотел ждать обновления очередного). Такое работает (чаще всего), но это разовые процедуры, которых надо избегать. Если у вас обновления планируются частые, то вам одна дорога - инсталлятор. Пускай он и следит за обновлениями.
0
|
|
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 27.05.2018, 14:42 | |
|
Modis, почитайте про mef.
Там нет привязки к библиотекам вообще. Есть привязка к контракту(интерфейсу). В библиотеке реализуется реализация интерфейса. в другом динамическая загрузка и использование библиотеки.
0
|
|
|
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
|
|
| 27.05.2018, 19:02 [ТС] | |
|
Andreyip, посмотрел, почитал. Опять таки - это не решает именно те проблемы, которые создает WPF.
0
|
|
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 27.05.2018, 20:10 | |
|
Modis, причем тут вообще wpf он вообще не будет знать какая библиотека используется какой версии и где. Если методы и свойства контракта не обновились все будет работать как работало.
0
|
|
|
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
|
|||
| 02.06.2018, 14:37 | |||
|
0
|
|||
|
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
|
||
| 02.06.2018, 19:40 [ТС] | ||
|
Проблема где-то кроется в "двойном" использовании - т.е. библиотеки "потребляют" мою dll, которая "потребляет" эту самую искомую dll. Если бы этой прослойки не было - то скорее всего и проблем бы не было. И я больше чем уверен, что все проблемы связаны именно с xaml. Это вообще больная часть всего net framework'а
0
|
||
| 02.06.2018, 19:40 | |
|
Помогаю со студенческими работами здесь
11
Посредник и overload Нужен посредник сделки Посредник между клиентом и сервером Word, Access и, видимо, посредник-VB... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|