Можно ли применить политику издателя к строго названной частной сборке?
Я создал общую библиотеку на работе, но в отличие от этого вопроса, она не публикуется в GAC. Вместо этого он публикуется в частном порядке в папке установки конкретной компании. РЕДАКТИРОВАТЬ: все внутренние приложения находятся в этой же папке.
Можно ли по-прежнему применять политику издателя, позволяющую более старым приложениям использовать более новые версии DLL? Эта статья звучит так, как я могу, но она мне не совсем понятна.
Если так, что я должен распространять в папку установки моей компании?
- Файл конфигурации для общей библиотеки? (policy.1.0.MyLibrary.config) (Это будет проще всего.)
- Политика DLL для общей библиотеки? (policy.1.0.MyLibrary.dll - соответствующая версия #1.)
- Или набор файлов конфигурации для каждого приложения, которое использует общую библиотеку? (MyApp1.exe.config, MyApp2.exe.config и т. Д.) (YUCK!)
1 ответ
- было бы все, что вам нужно ИМО. Или, если быть точным, в вашем настройке app.config элемент bindingRedirect, и все готово.
Упс извините. bindingRedirect требует, чтобы папка находилась в папке вашего приложения.
В чем преимущество "папки установки для конкретной компании", которая отсутствует в папке приложения в отношении GAC? ИМО, GAC лучше, если они хотят, чтобы сборки были общими.
Если они настаивают на том, что вы можете "вручную" загрузить сборки. Посмотрите на событие AppDomain.AssemblyResolve.