Предопределенный тип System.Object не определен или не импортируется

У меня такая странная ошибка только в файлах .cshtml в VS 2015. Ошибка не появляется, когда я открываю проект с помощью VS 2013.

Ошибка CS0246 Тип или имя пространства имен 'System' не найдено (вам не хватает директивы using или ссылки на сборку?)

вот мои ссылки:

<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" />

Что может быть причиной этого?

Пожалуйста, обратитесь к этому вопросу, который я также создал. Это та же проблема: Тип или имя пространства имен 'System' не удалось найти

Ответы

Ответ 2

Это проблема как для 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/

Таким образом, путь сборки должен быть установлен в bin\ для проектов MVC. Если вам нужно, чтобы ваш вывод проходил где-то еще, вы должны создать шаг после сборки, который копирует файлы из bin\ в другое место.

Ответ 3

У меня возникла проблема. У меня был путь сборки к "c:...\bin" вместо "\ bin". Я считаю, что это произошло, потому что у меня нет никакого web.config в корне проекта, поэтому VS не идентифицировал мой проект как веб-проект. После того как я изменил корень сборки и перезагрузил проект, ошибки исчезли, и появилась intellisense.

Ответ 4

Добавьте ссылку на сборку системы в ссылках проекта:

щелкните правой кнопкой мыши по ссылкам → добавить ссылку → сборки → Рамка → Система