我在一个大型Visual Studio解决方案(Sitecore Helix)上工作,具有单独的“功能”项目 . 某些项目具有Views> Web.config文件,而其他项目则没有 .

在我们的构建过程中,所有视图都会结束一个位置/项目,而在最终目标中,Views文件夹确实拥有它的 生产环境 Web.config文件 .

但是,如果项目中没有Views> Web.config文件,则(动态) @model 没有IntelliSense . 强类型对象( @Html.Raw )具有自动完成/智能感知功能 . 作为前端人员,我真的依赖于IntelliSense .

除了向每个项目添加单独的Web.config(下面的示例)之外,是否有更好/更合适的方式添加这些引用,特别是因为我只需要这个用于调试/开发 .

示例Web.config,请注意这不是我的整个Web.config文件,但特别是我已缩小的行以使IntelliSense在这种情况下工作 .

<?xml version="1.0" encoding="utf-8"?>

<configuration>
  <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.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="Sitecore.Mvc" />
        <add namespace="Sitecore.Mvc.Presentation" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="GCC.Feature.WebAdmin" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>


</configuration>

IntelliSense处理@model以外的其他内容

IntelliSense无法处理@model没有web配置

IntelliSense使用Web.config