Мое приложение ссылается на библиотеку Microsoft Enterprise V4.1, в то время как одна из более старых DLL (внешнее приложение) требует ссылки на библиотеку Microsoft Enterprise V2.0.Я точно знаю, что могу зарегистрировать обе эти сборки в GAC, и приложение начнет читать соответствующую DLL по мере необходимости, но это не решение для нас, поскольку наш эксперт по безопасности не согласен с принятием этого решения.
Есть ли способ использовать webconfig, где я могу указать, что Старая DLL использует V2.0, а все приложение использует 4.V0.
Примечание: мы используем Asp.net visual Studio C #
Помощь нужна отчаянно!Спасибо
Обновление:
Попробовал решение с использованием проверки privatePath:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;ExtDLL"/>
</assemblyBinding>
В моей веб-папке теперь есть папка ExtDLL, которая содержит V2.0.0.0 DLL для Microsoft Enterpriseбиблиотека, но я все еще получаю следующее исключение, как только я вызываю функцию внешней DLL, которая использует сборку V2.0.0.0:
...System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)