Ошибка перенаправления привязки - разные publicKeyToken

у меня есть приложение, которое ссылается на эту сборку в средах разработки:

name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="89845dcd8080cc91" version="9.0.242.0"

однако live server содержит старую версию этой библиотеки:

name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="b77a5c561934e089" version="3.2.2917.0"

как вы видите publicKeyToken отличается. Я добавил bindingRedirect в приложение.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>

но я все равно получаю ошибку:

Необработанное Исключение: Система.ИО.FileNotFoundException: не удалось загрузить файл или задница embly ' Microsoft.Данные.В sqlxml, Версия=3.2.2917.0, Культура = нейтральная, PublicKeyToke n=89845dcd8080cc91 ' или одна из ее зависимости. Система не может найти указанный файл. Имя файла: 'Майкрософт.Данные.SqlXml, версия=3.2.2917.0, культура=нейтральный, PublicKe система yToken=89845dcd8080cc91' - - ->.ИО.Исключение Filenotfoundexception: Не Могли Бы не загружать файл fi или сборку " Microsoft.Данные.SqlXml, Версия=9.0.242.0, Культура=нейтральная, Publi cKeyToken=89845dcd8080cc91 ' или один из ее зависимости. Система не может найти указанный файл. Имя файла: 'Майкрософт.Данные.SqlXml, версия=9.0.242.0, культура=нейтральный, PublicKey Знак=89845dcd8080cc91'

есть ли способ, чтобы перенаправить на более старую версию библиотеки в этом случае?

1 ответов


вы не можете перенаправить сборку, если открытый ключ отличается, я боюсь, вам нужно будет перекомпилировать старую версию и удалить перенаправление.