У меня есть приложение, которое ссылается на эту сборку в средах разработки:
name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="89845dcd8080cc91" version="9.0.242.0"
Однако, живой сервер содержит старую версию этой библиотеки:
name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="b77a5c561934e089" version="3.2.2917.0"
Как видите, publicKeyToken отличается. Я добавил bindingRedirect в app.config:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="89845dcd8080cc91" />
<bindingRedirect oldVersion="9.0.242.0" newVersion="3.2.2917.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
но я все еще получаю ошибку:
Необработанное исключение: System.IO.FileNotFoundException: не удалось загрузить
файл или задница включают 'Microsoft.Data.SqlXml, версия = 3.2.2917.0,
Культура = нейтральная, PublicKeyToke n = 89845dcd8080cc91 'или один из его
зависимостей. Система не может найти указанный файл. Имя файла:
'Microsoft.Data.SqlXml, версия = 3.2.2917.0, культура = нейтральная, PublicKe
yToken = 89845dcd8080cc91 '---> System.IO.FileNotFoundException: может
не загруженный файл или сборка 'Microsoft.Data.SqlXml, версия = 9.0.242.0,
Культура = нейтральная, Publi cKeyToken = 89845dcd8080cc91 'или одна из ее
зависимостей. Система не может найти указанный файл. Имя файла:
'Microsoft.Data.SqlXml, версия = 9.0.242.0, культура = нейтральная, PublicKey
Знак = 89845dcd8080cc91'
Можно ли в этом случае перенаправить на более старую версию библиотеки?