无法找到程序集"mscorlib, Version=2.0.5.0"

5
我已将System.Net.Http更新至4.3.3,自此以后我一直在遇到这个错误。其中一个问题是为什么它仍然获取System.Net.Http 2.2.9文件,而它并不存在于packages文件夹中。System.Net.Http.Extensions不在我的引用列表中。我应该从何处获取最新的dll?感谢任何帮助。
以下是详细模式下的构建日志。
Could not resolve this reference. Could not locate the assembly "mscorlib, 
Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, 
Retargetable=Yes". Check to make sure the assembly exists on disk. If this 
reference is required by your code, you may get compilation errors.
6> For SearchPath"E:..\packages\Microsoft.Net.Http.2.2.29\lib\net45".
6> Considered 
"E:..\packages\Microsoft.Net.Http.2.2.29\lib\net45\mscorlib.winmd", but it didn't exist.
6>Considered 
"E:\..\packages\Microsoft.Net.Http.2.2.29\lib\net45\mscorlib.dll", but it didn't exist.
6> Considered 
"E:\..\packages\Microsoft.Net.Http.2.2.29\lib\net45\mscorlib.exe", but it didn't exist.
Considered "bin\Release\mscorlib.winmd", but it didn't exist.
6> Considered "bin\Release\mscorlib.dll", but it didn't exist.
6> Considered "bin\Release\mscorlib.exe", but it didn't exist.
6> Required by "System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL".

你的项目类型是什么?能否请您分享一些在空白项目中重现此问题的步骤,以便我们可以重现此问题? - Leo Liu
这些是强类型程序集,不会从本地目录中选择,它们只会从GAC中选择,如果要重定向到新版本,则需要在程序集配置文件中使用绑定重定向。 - Mrinal Kamboj
看起来你的代码中仍然有对"System.Net.Http.Extensions, Version=2.2.29.0"的引用,因此它正在尝试加载它并在过程中尝试加载.NET 2.0 mscorlib,这导致了问题。 - Mrinal Kamboj
1个回答

1
您可以检查NuGet包是否存在,如果不存在,可以使用“Package Manager Console”重新安装包:
 Update-Package -reinstall 

你需要将debug文件夹中的所有dll文件复制到release文件夹中。
还有一件事:确保你的项目文件不是只读的。如果是只读的,右键单击项目文件夹并选择属性,然后在属性屏幕上取消只读复选框。
如果这样做不起作用,请参考此链接。你会找到有关你的问题的详细信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接