Visual Studio 2010:无法解析目标框架".NETFramework,Version = v4.0"的mscorlib

F.B*_*ate 44 .net c# mscorlib visual-studio

我们目前正在从2005年到2010年迁移所有解决方案(这是正确的,我们正在跳过2008年!).我们也在改变我们的文件结构以使其更有意义(一些常见项目将嵌套在特定项目中等).

这一切都意味着参考需要改变!除此之外,我们还将它们全部设置为.NET 4.0.为了实现这一目标,我们在同一解决方案中制作了一个临时"GOD"解决方案,其中包含所有117个项目.

我和一位同事一起这样做,直到大约2小时前,一切都按计划进行.然而,我们遇到了117个项目之一的问题.该项目拒绝在"项目属性"中"显示"它的引用,资源,服务和设置选项卡.

我收到以下确切消息:

无法为目标框架'.NETFramework,Version = v4.0'解析mscorlib.如果未安装目标框架或框架名字对象格式不正确,则会发生这种情况.

现在这很烦人,但情况会变得更糟.我的同事,当从subversion获得相同的解决方案时,CAN实际上可以看到并更改引用和事物.事实上,目前该项目实际上是在他的机器上建造的.他提交了更改,但我无法构建此特定项目,或查看引用.

这导致我得出一个简单的结论,我的客户端必须有所不同,这会造成麻烦!我在网上看到的建议如下:

  • 安装了多个.NET4.0版本(我的客户端不是这种情况)
  • 未安装.NET v3.5; v4.0正在尝试构建v3.5(我的客户端安装了3.5)
  • 注册密钥:OnlyUseLatestCLR已设置并且正在搞砸了!(扫描我的注册表,这个键在任何地方都没有!)

请参阅:http://connect.microsoft.com/VisualStudio/feedback/details/542789/

我还没有尝试过的唯一一件事就是修复.NET 4.0我怎么会高度怀疑这是问题,因为我们有大约100个其他项目,我可以编辑和构建就好了.C#和VB.NET都有.

Mik*_*ike 70

可能是您的解决方案的路径太长:

含义:

C:\ MyProject的\文件夹\子文件夹...

应该在"256字符"下.

http://wcfvs.blogspot.com/2011/04/could-not-resolve-mscorlib-for-target.html

当我遇到同样的问题但没有参考问题时,我找到了这个帖子.我找到了上面的链接,它解决了我的问题.希望这可以帮助那些来到这里遇到同样问题的人.

  • 谢谢你为我节省了大量时间.刚遇到这个问题,这就是解决方案. (7认同)
  • 它现在是2015年,我正在使用VS2015.这也是我的确切问题.为什么他们不能告诉我路径太长? (4认同)
  • 现在已经是 2020 年了,这仍然是 VS 2019 的问题。我讨厌电脑。 (4认同)
  • 哇.这是2013年,这对我来说是正确的解决方案. (3认同)
  • 谢谢,这仍然是我的解决方案. (2认同)
  • 现在是 2019 年,这仍然是 VS 2017 的问题。我想我会成为一个阿米什农民。 (2认同)

F.B*_*ate 24

Microsoft Visual Basic for Applications Extensibility 5.3(VBIDE)是魔鬼的名字!

显然这是我的同事以某种方式提供的参考,但我没有,因为这个参考,一切都死了.我们发现这是因为如果你检查特定项目(这是一个VB.NET项目)上的"显示所有文件",你会得到一个很好的References文件夹,它通常不适用于VB.Net项目.如果Tab失败了我们,该文件夹向我们展示了一个带警告的引用.显然这是编译器或VS2010无法告诉我的东西,但正是为我们搞砸了.

因此,如果您在处理项目时遇到此错误,请"显示所有文件",以便您可以看到References文件夹,并找出可能导致您出现问题的引用!

我很高兴它发现了这个,经过3个多小时!> <


小智 22

今天早上我收到此错误警告.我刚刚去了Rebuild Project,然后我关闭了Visual Studio,重新打开它,错误消失了.

  • 信不信由你做重建就做到了.我浪费了两个小时寻找并尝试其他解决方案,包括重新安装.啊微软! (2认同)

RWC*_*RWC 6

我的项目中的(网络)服务参考也遇到了同样的问题。“更新服务引用”和“配置服务引用”都不再起作用。

好吧,让我们扔掉(Web)服务引用并重新创建它。不许走!同样的错误消息。

解决方案:编辑项目文件并删除与服务引用有关的所有内容。

指示:

  • 转到解决方案资源管理器并右键单击项目名称并选择“卸载项目”。
  • 转到解决方案资源管理器并右键单击项目名称并选择“编辑 YourProjectName.proj”
  • 删除与您的(网络)服务引用有关的每个元素。(通常它包含文本“服务参考”)
  • 转到解决方案资源管理器并右键单击项目名称并选择“重新加载项目”。
  • 现在再次添加您的(网络)服务引用。

问题解决了(就我而言)。

我对可能发生的情况的猜测:我在网络服务中的某个位置更改了一个类。界面未更改,Visual Studio 不知何故看不到更改。(缓存?)配置不再匹配,配置/重建/删除(Web)服务失败。