Определите ссылку .net, чтобы всегда использовать последнюю версию DLL GAC? - PullRequest
4 голосов
/ 06 января 2010

У нас есть поставщик, который пишет для нас приложение, которое использует предоставленную им dll. Мой босс только что узнал, что если нам когда-нибудь понадобится внести изменения в одну из наших dll, мы должны предоставить поставщику обновленную версию, чтобы они могли перекомпилировать свой проект. Это вызывает проблемы, потому что у нас нет автоматизированного тестирования, и любая новая сборка потребует полной проверки нашим отделом контроля качества.

Я не слишком много делал с GAC, но считаю, что это может быть то, что мы ищем. Есть ли способ, которым я мог бы развернуть свою dll (ту, которую я предоставляю поставщику) в GAC и заставить поставщика собрать свой проект .net таким образом, чтобы всегда получать последнюю версию из GAC?

Ответы [ 2 ]

4 голосов
/ 06 января 2010

Им нужно будет установить свойство SpecificVersion ссылки на false в проекте, который они компилируют. См. этот вопрос и статью, на которую он ссылается .

1 голос
/ 06 января 2010

Если вы внесли серьезные изменения в свою DLL, вам, конечно, нужно будет отправить новую версию, чтобы ваш поставщик мог скомпилировать ее.

Но в противном случае поставщику не нужно иметь последнюю версию. Вместо этого вы можете использовать Перенаправление привязки сборки , чтобы убедиться, что вы используете наиболее подходящую (обычно последнюю) версию во время выполнения.

Существует несколько способов достижения этого, как описано в связанной статье, - наиболее распространенным является использование настроек в файле конфигурации приложения (если вы хотите повлиять только на это приложение) или в файле политики издателя (если вы хотите повлиять на него). все приложения, использующие общую сборку).

...