Razor intellisense不使用自定义ASP.NET MVC构建

时间:2012-12-28 01:00:40

标签: asp.net-mvc visual-studio-2012

我能够创建一个ASP.NET MVC的自定义版本并在Web应用程序中使用它,但是,我似乎无法弄清楚如何让Razor intellisense正常工作。

如果您按照以下步骤操作,Razor intellisense将仅显示WebPages信息,而不显示任何其他内容(HTML帮助程序等)。

我正在使用VS 2012。

这是我到目前为止所做的:

  1. 我克隆了最新的ASP.NET Web Stack
  2. 打开Runtime.sln并构建解决方案
  3. 创建了一个新的ASP.NET MVC 4(.NET 4.0)Web应用程序
  4. 删除了System.Web.MvcSystem.Web.RazorSystem.Web.WebPagesSystem.Web.WebPages.RazorSystem.Web.WebPages.Deployment的现有参考文献,并在步骤#2中添加了对已构建程序集的引用。
  5. ~/Views/Web.config中,仅使用System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35
  6. 替换了System.Web.WebPages.Razor
  7. 此外,仅使用System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35
  8. 替换了System.Web.Mvc
  9. web.config

    中删除了以下内容
    <runtime>
        <assemblyBinding xmlns="urn:schemasmicrosoftcom:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
    </runtime>
    

1 个答案:

答案 0 :(得分:1)

如果您正在VS 2012中查看视图中的intellisense支持,以及控制器文件夹和视图文件夹的右键单击上下文菜单(添加控制器和添加视图的快捷方式),则需要打开。您的Web项目的csproj文件并手动编辑它以包含MVC项目类型GUID。这就是VS实际用来决定你得到什么样的智能感知(等等)。

具体来说,您要查找的.csproj文件的xml标记是:

<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

您应该缺少GUID值

{E3E379DF-F4C6-4180-9B81-6769533ABE47}
祝你好运!