Предопределенная система типов.Объект не определен и не импортирован

У меня эта странная ошибка только в .файлы 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:XXXSitecore.Kernel.dll</HintPath>
</Reference>
<Reference Include="Sitecore.Mvc">
  <HintPath>N:XXXSitecore.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:XXXSystem.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:XXXSystem.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Providers">
  <HintPath>N:XXXSystem.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:XXXSystem.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:XXXSystem.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:XXXSystem.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:XXXSystem.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"

5 ответов


У меня было много проблем Cshtml Intellisense с MVC 4 в VS 2015 и решил просто перейти на MVC 5. Однако MVC 4 все равно должен работать, просто не идеально, согласно:поддерживает ли Visual Studio 2015 более старые версии MVC?.


это проблема как в 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\ в другое место.


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


удаление папок bin и obj во всех проектах этого решения работало для меня.

Похоже, что у них были старые файлы, созданные какой-то старой версией visual studio, которые несовместимы с новой версией visual studio.


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

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