【发布时间】:2011-12-16 08:16:00
【问题描述】:
我有一个在开发环境中引用此程序集的应用程序:
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, Culture=neutral, PublicKeyToke n=89845dcd8080cc91' 或其之一 依赖关系。该系统找不到指定的文件。文件名: 'Microsoft.Data.SqlXml,版本=3.2.2917.0,文化=中性,PublicKe yToken=89845dcd8080cc91' ---> System.IO.FileNotFoundException: 可以 不加载文件或程序集 'Microsoft.Data.SqlXml, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' 或其之一 依赖关系。该系统找不到指定的文件。文件名: 'Microsoft.Data.SqlXml,版本=9.0.242.0,文化=中性,PublicKey 令牌=89845dcd8080cc91'
在这种情况下有没有办法重定向到旧版本的库?
【问题讨论】:
标签: c# .net assemblies