.net - dependentAssembly

ini*_*iki 6 .net configuration

今天我得到了一些程序集不匹配的问题,经过一些挖掘,我发现对于一个特定的DLL,项目中的实际引用是
针对该项目的其他版本和配置文件显示依赖于同一DLL的某些其他版本.

进出口.

<dependentAssembly>
    <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" />
    <bindingRedirect oldVersion="2.0.1.4000" newVersion="2.1.2.4000" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

我从配置文件中删除了该程序集的依赖声明,瞧!我能够再次跑步:-)

我的问题是 -

何时<dependentAssembly>在项目配置文件中进行声明?我们手动添加它们吗?在什么情况下?

tom*_*ern 5

何时<dependentAssembly>在项目配置文件中进行声明?我们手动添加它们吗?在什么情况下?

如果要确保软件在运行时绑定到较新版本的程序集,而不是针对它构建的程序集.

更多信息:http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx

您能否请指导我们在编译时需要旧版本以及运行时更新版本的情况?

例如,如果您使用的是供应商API,则供应商可能已发现错误并需要发布新版本,但您已经发货.