今天我遇到了一些程序集不匹配的问题,经过一些挖掘,我发现对于一个特定的DLL,项目中的实际引用是针对其他一些版本而且 该项目的配置文件显示依赖于同一DLL的某个其他版本。
浓淡
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" />
<bindingRedirect oldVersion="2.0.1.4000" newVersion="2.1.2.4000" />
</dependentAssembly>
我从配置文件中删除了该程序集的依赖声明,瞧!我能够再次跑步: - )
我的问题是 -
项目配置文件中何时进行<dependentAssembly>
声明?我们手动添加它们吗?在什么情况下?
答案 0 :(得分:5)
在项目配置中何时进行
<dependentAssembly>
声明 文件?我们手动添加它们吗?在什么情况下?
如果要确保软件在运行时绑定到较新版本的程序集,而不是它所构建的版本。
更多信息:http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx
请您指导一下我们需要旧版本的情况 在运行时编译时间和更新的版本?
例如,如果您使用的是供应商API,则供应商可能已发现错误并需要发布新版本,但您已经发货。