我更新了NuGet包" Microsoft ASP.NET MVC"和版本5.0.0.0到版本5.2.2.0的依赖关系
要让所有引用引用正确的assambly,我手动更新了Views / Web.config(如stack overflow和大多数教程中的大多数解决方案中所述)。这导致以下配置:
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="System.Text.RegularExpressions"/>
</namespaces>
</pages>
</system.web.webPages.razor>
所有内容都会构建,但它会破坏所有.cshtml剃刀页面上的智能:
The name 'model' does not exist in the current context
当我将主机factoryType版本设置为5.0.0.0时,intellisence再次工作。 奇怪的是,这不是一个引用的集会。
我尝试过这些解决方案:
Copy Local = True
或<Private>True</Private>
<Reference Include="System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.2\lib\net45\System.Web.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
尝试更改<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, ..." ... />
你知道为什么会出现这个问题,以及intellisense如何使用5.0.0.0版本而该程序集甚至不在packages文件夹中? (我查了一下)