Ответ 1
У меня было много проблем с CSHTML Intellisense с MVC 4 в VS 2015 и решил просто перейти на MVC 5. Однако MVC 4 все равно должен работать, просто не идеально, в соответствии с: Поддерживает ли Visual Studio 2015 более старые версии MVC?.
У меня такая странная ошибка только в файлах .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' не удалось найти
У меня было много проблем с 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". Я считаю, что это произошло, потому что у меня нет никакого web.config в корне проекта, поэтому VS не идентифицировал мой проект как веб-проект. После того как я изменил корень сборки и перезагрузил проект, ошибки исчезли, и появилась intellisense.
Добавьте ссылку на сборку системы в ссылках проекта:
щелкните правой кнопкой мыши по ссылкам → добавить ссылку → сборки → Рамка → Система