Я столкнулся с той же проблемой, но причина была немного другой. Это было немного сложно решить. Проект имел правильную версию DLL 1.0.0.0 для System.Web.WebPages и правильную конфигурацию в Web.config. Однако библиотеки DLL System.Web.WebPages.Deployment и System.Web.WebPages.Razor ссылались на версию 2 вместо версии 1.
Решение моего коллеги было магическим путем, ссылаясь на правильные версии, в то время как мое изначально не было. Когда я посмотрел на файл проекта, Версия была равна 2, но путь подсказки для DLL был к Версии 1. Поэтому, когда он открыл решение, использовалась Версия 1, а на моей Версии 2. Я думаю, что путь подсказки имел значение здесь.
Что было проверено:
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.Deployment.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
После исправления:
<Reference Include="System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />