Visual Studio 2015无法识别Razor的web.config中的导入名称空间

Pau*_*erø 3 asp.net intellisense razor asp.net-webpages visual-studio-2015

我有一个包含大量.cshtml(WebPages,而不是MVC)文件的网站项目,我在web.config文件中定义了一组通用的命名空间,就像这样

<system.web.webPages.razor>
  <pages pageBaseType="Composite.AspNet.Razor.RazorFunction">
    <namespaces>
      <add namespace="DinArv.Forms"/>
      <add namespace="DinArv.Web"/>
    </namespaces>
  </pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)

在安装VS 2015 RTM之后,我突然在web.config中定义的名称空间中出现'类型或命名空间......找不到'类型的错误,而Resharper似乎没有问题.我还可以浏览页面,并且在构建我的网站时没有构建错误.在我的Visual Studio 2013中,Intellisense正在按预期工作.

如果我在.cshtml文件而不是web.config中显式导入名称空间,VS 2015也很满意,但我真的不想这样做.

有什么问题,我该如何解决?

VS 2015截图

Pau*_*erø 6

几个小时后,我不小心偶然发现了似乎在做什么的伎俩.我的部分组定义如下,VS 2013没有问题

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor">
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor" requirePermission="false" />
</sectionGroup>
Run Code Online (Sandbox Code Playgroud)

一旦我将版本号添加到这样的类型,VS 2015中的Intellisense就会亮起来.Grrrrr ....多么浪费时间,但希望这可以节省别人的时间.

<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="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
Run Code Online (Sandbox Code Playgroud)