c# - 预定义类型 System.Object 未定义或导入

标签 c# asp.net-mvc visual-studio-2015 .net-4.5 asp.net-mvc-5.1

我只在 VS 2015 的 .cshtml 文件中遇到这个奇怪的错误。 当我使用 VS 2013 打开项目时,错误没有出现。

Error CS0246 The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)

这是我的引用资料:

<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Sitecore.Kernel, Version=7.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\Sitecore.Kernel.dll</HintPath>
</Reference>
<Reference Include="Sitecore.Mvc">
  <HintPath>N:\XXX\Sitecore.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Providers">
  <HintPath>N:\XXX\System.Web.Providers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />

这可能是什么原因?

请引用我创建的这个问题。这是同一个问题:The type or namespace name 'System' could not be found

最佳答案

这是 VS 2013 和 VS 2015 中的问题。构建输出必须设置为默认构建路径,以便 Razor intellisense 在 .cshtml 文件中工作.请参阅这篇重现问题并讨论替代方案的优秀文章。 http://www.dennisonpro.info/managing-intellisense-in-razor-views-with-mvc-5-using-custom-builds-in-visual-studio-2013/

因此对于 MVC 项目,构建路径必须设置为 bin\。如果您需要将输出转到其他位置,则必须创建一个构建后步骤,将文件从 bin\ 复制到另一个位置。

关于c# - 预定义类型 System.Object 未定义或导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33215134/

相关文章:

c# - XmlReader 和 NodeTypes

asp.net-mvc - 以编程方式将路线映射到 Controller

testing - Visual Studio 2015 测试代理的 ISO 在哪里?

sqlite - 无法加载 DLL 'sqlite3' - 适用于 Windows Universal Mobile

c# - UWP 与 ITextRange 接口(interface)的使用。 WPF 中的 TextRange 对象

c# - 如何将 List<string> 绑定(bind)到 ItemsControl?

c# - StringBuilder.Append 用于字符串数组?

asp.net-mvc - 使用表单例份验证在ASP.NET MVC上的哪里存储已记录的用户信息?

asp.net-mvc - Visual Studio 2013 项目中的新 Startup.cs 文件有何作用?

c# - 无法在 Visual Studio Update1 中并行运行 mstest