【问题标题】:Visual Studio 2015 doesn't recognize imported namespaces in web.config for RazorVisual Studio 2015 无法识别 web.config for Razor 中导入的命名空间
【发布时间】:2015-10-13 02:02:53
【问题描述】:

我有一个网站项目,其中包含大量 .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>

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

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

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

【问题讨论】:

    标签: asp.net razor intellisense visual-studio-2015 asp.net-webpages


    【解决方案1】:

    几个小时后,我偶然发现了似乎可以解决问题的方法。我的section group是这样定义的,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>
    

    只要我将版本号添加到这样的类型,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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-07
      • 2015-02-17
      • 2015-09-17
      • 2011-02-11
      • 2016-01-21
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      相关资源
      最近更新 更多