欢迎光临
我们一直在努力

C# 项目中引用的DLL 版本不一致的问题

本文介绍了让.NET程序兼容不同版本的Dll文件的方法:把所有的新版DLL文件拷贝到运行目录下,希望主程序能够直接调用新版的库文件。只要在config里面加入runtime节点就可以完成主程序一调用。

<!–应用程序策略:
应用程序策略可以在应用程序配置文件中进行配置,应用程序配置文件位于应用程序目录下。对于.EXE应用程序,其配置文件由exe文件名加上.config后缀名构成,例如一个test.exe的应用程序,其配置文件就是test.exe.config。
而对于任何一个Web应用程序来说,其配置文件的文件名都是web.config。–>
<runtime>
<!–版本策略都记录在配置文件的assemblyBinding节点下–>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<!–对这个程序集进行版本重定向–>
<dependentAssembly>
<!–程序集标识assemblyIdentity包含name:Newtonsoft.Json,publicKeyToken:60c29e5f0af3e9bb …属性,定义了该程序集的标识信息–>
<assemblyIdentity name=”Newtonsoft.Json” publicKeyToken=”60c29e5f0af3e9bb” culture=”neutral”/>
<!–重定向的策略[将0.0.0.0到4.5.0.0之间的所有版本重定向到6.0.0.0版本上]–>
<bindingRedirect oldversion=”0.0.0.0-4.5.0.0″ newversion=”6.0.0.0″/>
</dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<dependentAssembly>
<assemblyIdentity name=”NET.MST.Second.Compile” publicKeyToken=”60c29e5f0af3e9bb” culture=”neutral”/>
<bindingRedirect oldversion=”0.0.0.0-12.2.2.2″ newversion=”12.3.0.0″/>
</dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<dependentAssembly>
<assemblyIdentity name=”Common.Logging” publicKeyToken=”af08829b84f0328e” culture=”neutral” />
<bindingRedirect oldVersion=”2.0.0.0″ newVersion=”2.1.1.0″ />
</dependentAssembly>
</assemblyBinding>
</runtime>

赞(0) 打赏
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

今日种种,似水无痕,明夕何夕,君已末路。

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏