找不到类型或命名空间名称“System”

在Visual Studio 2015 Professional中打开我的项目时,我的所有视图(* .cshtml)中都存在以下错误(以及更多错误)。

错误CS0246找不到类型或命名空间名称’System’(您是否缺少using指令或程序集引用?)严重性代码描述项目文件行

错误CS0518未定义或导入预定义类型“System.Object”严重性代码描述项目文件行

错误CS0518未定义或导入预定义类型“System.String”

我得到了这些参考:

   False N:\XXX\Sitecore.Kernel.dll   N:\XXX\Sitecore.Mvc.dll            False N:\XXX\System.Web.Helpers.dll   False N:\XXX\System.Web.Mvc.dll   N:\XXX\System.Web.Providers.dll   False N:\XXX\System.Web.Razor.dll   False N:\XXX\System.Web.WebPages.dll   False N:\XXX\System.Web.WebPages.Deployment.dll   False N:\XXX\System.Web.WebPages.Razor.dll         

我找到了一些解决方案,说没有引用mscorlib ..但是当我尝试添加它时,它说它已经存在(即使我没有在csproj文件中看到它)。

System.dll参考:

在此处输入图像描述

在此处输入图像描述

解:

管理问题..我将构建路径设置为“c:… \ bin”而不是“\ bin”。 我相信这是因为我在项目的根目录中没有任何web.config,因此VS没有将我的项目识别为Web项目。

我尝试重新创建您的问题,并在Visual Studio 2013中创建解决方案时遇到类似的错误,然后尝试在vs 2015中构建它。

一旦我重新安装NuGet Package Manager(并关闭,然后重新打开VS 2015),我就能够获得成功的构建。

参考/信用

通过使用早期版本的NPM for VS 2015,有几个与构建问题相关的SO问题(即我只是传递了我尝试过的内容)。 重复解决方案通常是在电源shell中更新/重新安装NPM或更改执行策略。 我倾向于喜欢更新+重启方法,以避免修改Windows中的黑盒子。 一个来源: https : //stackoverflow.com/a/32251092/1158842可能还存在MSBuild集成解决方案的问题,在这种情况下,从解决方案中的NuGet资源迁移可以解决问题。

来源: https : //stackoverflow.com/a/31811461/1158842

当我尝试从互联网上编辑一个开源项目时,我遇到了同样的问题。

只需清洁解决方案并重建它即可解决问题。

希望这可以帮助。

清洁液对我有用。

我还建议一旦关闭并重新启动Visual Studio。

跟着这些步骤 :

  1. 右键单击Solution> Restore NuGet包
  2. 右键单击Solution> Clean Solution
  3. 右键单击Solution> Build Solution
  4. 关闭Visual Studio并重新打开。

就这样。

右键单击项目名称,然后打开属性窗口。 降级您的Target框架版本,构建解决方案然后将您的Target框架版本升级到最新的构建解决方案。

如果清理解决方案不起作用,任何看到这个问题并尝试移动项目或重命名的人。

打开包管理器控制台并键入“dotnet restore”。