Csharp/C#教程:无法加载文件或程序集System.Net.Http版本4.1.1.0分享


无法加载文件或程序集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

(0)
上一篇 2021年11月22日
下一篇 2021年11月22日

精彩推荐