找不到类型或命名空间名称“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。
跟着这些步骤 :
- 右键单击Solution> Restore NuGet包
- 右键单击Solution> Clean Solution
- 右键单击Solution> Build Solution
- 关闭Visual Studio并重新打开。
就这样。
右键单击项目名称,然后打开属性窗口。 降级您的Target框架版本,构建解决方案然后将您的Target框架版本升级到最新的构建解决方案。
如果清理解决方案不起作用,任何看到这个问题并尝试移动项目或重命名的人。
打开包管理器控制台并键入“dotnet restore”。