我的应用程序使用了多个NuGet软件包。一种基于NetFramework 4.5,另一种基于NetFramework 4.6.1。我假设因为该应用程序基于NetFramework 4.6.1,所以System.Web.Http.dll,System.Web.Http.Owin.dll,System.Net.Http.Formatting.dll的版本均为5.2.7.0。但是,基于NewFramework 4.5的NuGet包正在寻找这些文件的版本5.1.0.0。这将导致“定位的程序集的清单定义与程序集引用不匹配”错误。
如果我将应用程序的NetFramework更改为4.5,则尽管该NuGet软件包已卸载并在将应用程序的NetFramework更改为4.5后重新安装,但仍会导致NetFramework 4.6.1 NuGet使用的所有文件出错。
是否有办法将上述System ...文件的版本强制为5.1.0.0,同时仍将应用程序的NetFramework版本保持为4.6.1?还是有解决此冲突的另一种方法?
更新:我以为我已找到BindingRedirect的答案。因此,在上述每个“ assemblyidentity”名称下的app.config中,我插入了
据我了解,这应该是告诉应用程序使用5.2.7.0版,如果任何程序集都要求使用旧版。但这似乎没有效果。
帮助。
谢谢。
拉里