无法解析目标框架“.NET Framework,版本v4.6.1”的mscorlib。

6

当我尝试在.NET 4.6.1项目中更新或配置服务引用时,VS会抛出以下错误:

无法为目标框架'.NETFramework,Version = v4.6.1'解析mscorlib。如果未安装目标框架或框架修饰符格式不正确,则可能会发生此情况。

路径长度没问题,我也检查了SO上的其他答案,但仍然无法解决。 也许有人遇到过类似的问题?


你说服务引用?出于好奇,你使用的是哪个框架/核心版本? - TheGeneral
你尝试过移除并重新添加mscorlib引用吗?同时在引用属性中将“使用特定版本”设置为false。 - Code Name Jack
4.6.1,并且引用中从未出现过“mscorlib”。该项目在其他计算机上运行正常,但在我的计算机上却无法工作。 - Troll the Legacy
6个回答

5

我在使用VS2019时遇到了同样的错误。
这个错误是因为我从未还原nuget包并构建解决方案导致的。

在还原了nuget包并对解决方案进行全面重建后,错误消失了!


2
有时候,只需关闭VS并重新打开即可。 - HackSlash

4
很难确定,但我认为我的问题与超出TFS路径259个字符的限制有关。简而言之,在从TFS获取最新版本时,由于它们的路径超过了259个字符,我认为某些文件未能下载到我的本地机器上。
将工作目录重命名为更短的路径后,我能够配置现有和新的服务引用。这里有一条链接讨论了这个限制:TFS Path Too Long Problems

2

enter image description here

您需要在项目的应用程序属性中刷新目标框架。


2
我遇到了与VS 16.10.0预览版1.0 for 4.8相同的问题。为了解决这个问题,我首先清理了项目,然后将其从4.8重新定向到4.7.2,再重新定向回来,然后它就正常工作了。

我一直遇到这个问题,必须来回切换才能使其正常工作。我开始使用“目标框架迁移器”扩展程序来获取解决方案中的每个项目。 - Donovan Woodside
1
问题已解决!目标框架已更改为较低版本,重新构建并再次更改为4.8。 - Muhammad Saad

1
在我的情况下,进入项目文件夹并手动删除每个解决方案中以下内容的:
/bin
/obj,然后删除解决方案文件夹中的
/packages 的内容,重新打开解决方案并重建 + 恢复NuGet包即可。

谢谢!我克隆了我的项目并使用字符串替换在所有地方替换了应用程序名称。它起作用了,但是它显示了mscorlib错误。删除bin和obj文件夹对我有用。谢谢! - tmighty

0

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