无法加载文件或程序集System.Net.Http版本4.1.1.0
我正在将Net Framework 4 dll移植到Net Core。 移植我的unit testing项目时,我得到一个运行一些特定测试的exception(不是全部)。
System.IO.FileLoadException:无法加载文件或程序集’System.Net.Http,Version = 4.1.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040)
这是我的dll的project.json
{ "version": "1.0.0-*", "dependencies": { "log4net": "2.0.7", "NETStandard.Library": "1.6.1", "Newtonsoft.Json": "9.0.1", "StackExchange.Redis": "1.2.1" }, "frameworks": { "netstandard1.6": { "imports": "dnxcore50" } } }
这是unit testing项目的Packages.config
通过将System.Net.Http更新为4.3.1来修复它
我遇到了这个问题,并意识到这是因为我有两个不同的引用。 一个引用来自我的项目库,第二个引用是.Net标准库的依赖项,因此是一个Nuget包。 要解决的步骤如下:
现在再次运作。 ?
我的问题是我的服务有一个引用的程序集,它引用了较新版本的System.Net.Http。 我通过更新服务中的System.Net.Http解决了这个问题。
我有这个问题,而我有10个项目相互依赖。 我通过在其中一个依赖的项目中添加它要求的版本来修复它。 它不需要编译,但似乎添加它,在恢复时修复了其他项目中的版本。 所以它是:
无法加载文件或程序集’System.Net.Http,Version = 4.1.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一。 该系统找不到指定的文件。
然后:
无法加载文件或程序集’System.Net.Http,Version = 4.1.1.1,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一。 该系统找不到指定的文件。
所以我在一个项目中添加了“System.Net.Http”:“4.1.1”。
这实际上解决了问题,同时恢复了8个项目。
我同意让。 删除对程序集的引用,然后通过Nuget添加新的引用! 实际的System.Net.Http版本并不重要。 删除对程序集的引用后,一切正常,版本4.3.2
也许是offtop,但我的问题是Azure不支持最新的.NET Framework。
解决此问题的最佳和最简单的方法是使用绑定重定向。
只需将oldVersion指定为0.0.0.0-5.0.0.0,将newVersion指定为4.1.1.0
例如,4.1.1.0是你的版本。
现在是初级程序员解决方案….仔细检查您是否正在Jawen和Jean在Nuget Package Manager中建议的更新也在正确的位置。 请记住,您可能拥有项目和测试项目的解决方案,因此请仔细检查以更新两组参考。
上述就是C#学习教程:无法加载文件或程序集System.Net.Http版本4.1.1.0分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/957722.html