你试过 bindingRedirect 吗? 程序集绑定重定向
来自 MSDN
统一 .NET Framework 程序集的应用程序配置文件中的绑定重定向会取消该程序集的统一。例如,引用 System.XML 中的类型并使用运行时版本 1.0 构建的应用程序将包含对运行时版本 1.0 附带的 System.XML 程序集的静态引用。如果您想重定向绑定引用以指向运行时版本 1.1 附带的 System.XML 程序集,您可以将重定向信息放在应用程序配置文件中。
句法
<bindingRedirect
oldVersion="old assembly version"
newVersion="new assembly version"/>
例如:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>