У меня есть две DLL, app1.dll и app2.dll, которые используют одну и ту же третью dll, util.dll, которая может иметь несколько другое поведение при построении для определенного приложения.DLL Hell issues: Назначение сильных имен
Я хочу, чтобы app1.dll и app2.dll были изолированы относительно версий util.dll, которые они используют. В MSDN я читал, что назначение сильного имени util.dll - это решение, то есть это сильное имя содержит имя и версию DLL, а также отпечаток пальца из-за подписания.
В настоящее время я построить util.dll ...
- для App1 с KeyFileApp1.snk и версии 1.0.0.1
- для app2 с KeyFileApp2.snk и версии 1.0.0.2
и эти швы работают на целевом компьютере при развертывании приложений с соответствующей сборкой util.dll.
Однако, у меня есть некоторые неясности:
- было бы достаточно, чтобы построить util.dll всегда с версии 1.0.0.0, но с разными ключевыми файлами для обоих приложений и иметь оба приложения, используя правую DLL в конце ?
- Являются ли сильные имена рассмотренными только при помещении dll в глобальный кеш сборки или также при наличии его как частной сборки?
Если бы я был вами, я определенно разделил бы две версии util.dll на номер версии (не обязательно должен быть основной), иначе вы просите адский ад, как вы упомянули в названии , – Grzenio