У меня есть 2 сборки, которые позволяют называть их A и B. Я назначил им сильные имена, и теперь возникает проблема, когда сборка B ищет старую версию сборки A. ** EDIT2 : Если я удалю AssemblyB, проблема не исчезнет, поэтому просто VS2008 может найти старую версию? Кроме того, через fusionlog я вижу следующее предупреждение: wrn application configuration file binding перенаправляет запрещенные. Связано ли это с этим? **Еще одна сборка, ссылающаяся на старую dll
я получаю несколько ошибок одного и того же рода, вот один отрывок:
You must add a reference to assembly 'AssemblyA, Version=1.2.4737.25316, Culture=neutral, PublicKeyToken=null'.
Сильный названный AssemblyA внутри проекта показывает эти свойства:
Внутри app.config Я размещен этот фрагмент кода:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="AssemblyA" culture="neutral"
publicKeyToken="a22e30ac6a0edfc0"/>
<bindingRedirect oldVersion="1.2.4737.25316" newVersion="1.3.0.19440"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Но это не сработает. У меня есть доступ к источнику обеих сборок.
EDIT: Если удалить сильные имена и добавить старый (слабую) с именем DLL к проекту он выдаст сообщение об ошибке с просьбой о сильной версии с именем
You must add a reference to assembly 'AssemblyA, Version=1.3.0.19440, Culture=neutral, PublicKeyToken=a22e30ac6a0edfc0'.
Что здесь происходит?
Что делать, если я нахожусь на проекте без app.config –
@ ShadyM.Najib Зависит от того, какой проект вы работаете. Вы можете попробовать добавить его с помощью этого метода: http://msdn.microsoft.com/en-us/library/ms184658(v=vs.90).aspx. Если вы работаете с компонентом скрипта SSIS, вы можете попробовать изменить этот файл: C: \ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn \ DtsDebugHost.exe.config, поместите фрагмент кода между тегами , –
tutu
На самом деле я имею в виду тип проекта, который не поддерживает файл конфигурации. Проект Windows 8, например: D –