绑定重定向失败 - 不同的publicKeyToken

dra*_*fly 9 .net c# assemblies

我有一个在开发环境中引用此程序集的应用程序:

name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="89845dcd8080cc91" version="9.0.242.0"
Run Code Online (Sandbox Code Playgroud)

但是,实时服务器包含此库的旧版本:

name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="b77a5c561934e089" version="3.2.2917.0"
Run Code Online (Sandbox Code Playgroud)

如您所见,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>
Run Code Online (Sandbox Code Playgroud)

但我仍然得到错误:

未处理的异常:System.IO.FileNotFoundException:无法加载文件或ass embly'Microsoft.Data.SqlXml,Version = 3.2.2917.0,Culture = neutral,PublicKeyToke n = 89845dcd8080cc91'或其依赖项之一.该系统找不到指定的文件.文件名:'Microsoft.Data.SqlXml,Version = 3.2.2917.0,Culture = neutral,PublicKe yToken = 89845dcd8080cc91'---> System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.Data.SqlXml,Version = 9.0.242.0,Culture = neutral,Publi cKeyToken = 89845dcd8080cc91'或其依赖项之一.该系统找不到指定的文件.文件名:'Microsoft.Data.SqlXml,Version = 9.0.242.0,Culture = neutral,PublicKey Token = 89845dcd8080cc91'

在这种情况下,有没有办法重定向到旧版本的库?

Chr*_*int 9

如果公钥不同,则无法重定向程序集,我担心,您需要重新编译旧版本并删除重定向.