ASP.NET MVC 4项目-Razor intellisense已丢失

李东

我最近将一个ASP.NET MVC项目从v3更新到了v4,现在在Visual Studio中进行编辑时,.cshtml Razor视图丢失了智能感知功能。关键字和辅助属性(例如@ model,@ Url,@ Html等)无法识别,并且在VS中产生错误。运行后,该应用程序本身可以正常运行。

我尝试了来自各种在线资源(包括SO)的建议解决方案,其中大多数涉及对web.config的调整。我已经看过它们了,我很确定我的配置设置对于MVC 4是正确的:

<configuration>
    <configSections>
        <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
            <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.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=4.0.0.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" />
       </namespaces>
    </pages>
 </system.web.webPages.razor>

<appSettings>
    <add key="webpages:Enabled" value="false" />
</appSettings>

<system.web>
    <httpHandlers>
        <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>    
    <pages
    validateRequest="false"
    pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <controls>
            <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
        </controls>
    </pages>    
</system.web>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />

    <handlers>
       <remove name="BlockViewHandler"/>
       <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
</system.webServer>
</configuration>

现在,我进行了一些观察,这使我对问题可能出在哪里有了一个清晰的认识。如果我通过我的web.config并将对MVC 3的引用(即MVC从版本4.0还原到3.0,将Razor / WebPages从2.0还原到1.0),我的智能感知又回来了(但是很明显,这使我无法运行应用程序)。

我认为我可能存在安装问题,并且出于任何原因,Visual Studio都无法出于Razor intellisense的目的而在web.config中找到指定的程序集。我通过NuGet安装了ASP.NET MVC 4参考,并且我再次检查了所有我引用的程序集是正确的版本。我尝试过重新安装MVC软件包,并且尝试过几次清理和重建。

在此先感谢您对我如何进行这项工作提出的任何建议。目前,这确实妨碍了我的工作效率。

李东

适用于我的解决方案(摘自http://www.asp.net/whitepapers/mvc4-release-notes的发行说明):

  • 在解决方案资源管理器中,右键单击项目名称,然后选择“卸载项目”。然后再次右键单击该名称,然后选择“编辑ProjectName.csproj”。
  • 找到ProjectTypeGuids元素,并将{E53F8FEA-EAE0-44A6-8774-FFD645390401}替换为{E3E379DF-F4C6-4180-9B81-6769533ABE47}。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Angular 2设置ASP.NET MVC 4或5项目

来自分类Dev

将类添加到ASP.NET MVC4项目

来自分类Dev

更新我的ASP.NET MVC4项目模板?

来自分类Dev

ASP.Net MVC 4项目文件夹体系结构

来自分类Dev

使用Angular 2设置ASP.NET MVC 4或5项目

来自分类Dev

如何在Visual Studio 2015中创建ASP.NET MVC 4项目

来自分类Dev

在本地运行ASP.NET MVC 5项目

来自分类Dev

ASP.NET MVC:Razor ActionLink问题

来自分类Dev

如何将global.asax文件添加到ASP.NET MVC4项目?

来自分类Dev

将ASP.NET MVC 5项目迁移到ASP.NET 5

来自分类Dev

ASP.NET MVC - 在 MVC4 Razor 视图中使用 RadioButtonFor

来自分类Dev

ASP.NET MVC 6项目未被识别为Web项目

来自分类Dev

如何通过循环使用Asp.Net MVC Razor语法连续显示3个项目

来自分类Dev

如何通过Razor Pages扩展ASP.NET Core MVC项目?

来自分类Dev

如何在asp.net MVC 4 Razor中绑定Kendo Grid

来自分类Dev

如何使用Razor语法在ASP.NET MVC 4中获取文本中URL的链接?

来自分类Dev

将@ Html.Raw转换为ASP.NET MVC 4 Razor中的字符串

来自分类Dev

创建链接以使用ASP.NET MVC4中的Razor升级控制器

来自分类Dev

Javascript中的ASP.NET MVC4 Razor。Google地图未加载

来自分类Dev

如何在ASP.Net MVC4 Razor中选择查询字符串

来自分类Dev

将图表绘制到ASP.NET MVC 4(Razor,C#)网站中

来自分类Dev

需要Paypal订阅才能创建帐户-ASP.Net/MVC4/C#/Razor

来自分类Dev

如何使用Razor链接到ASP.NET MVC 4中的文件?

来自分类Dev

ASP.NET MVC4 + Mono上的Razor + EF 6 DateTime崩溃

来自分类Dev

在ASP.NET MVC 4 Razor中,如何获取@ Html.Label的值(文本)?

来自分类Dev

如何使用Razor语法在ASP.NET MVC 4中获取指向文本中URL的链接?

来自分类Dev

将图表绘制到ASP.NET MVC 4(Razor,C#)网站中

来自分类Dev

无需javascript的Razor,ASP.NET MVC 4中的主从创建视图

来自分类Dev

Javascript中的ASP.NET MVC4 Razor。Google地图未加载

Related 相关文章

  1. 1

    使用Angular 2设置ASP.NET MVC 4或5项目

  2. 2

    将类添加到ASP.NET MVC4项目

  3. 3

    更新我的ASP.NET MVC4项目模板?

  4. 4

    ASP.Net MVC 4项目文件夹体系结构

  5. 5

    使用Angular 2设置ASP.NET MVC 4或5项目

  6. 6

    如何在Visual Studio 2015中创建ASP.NET MVC 4项目

  7. 7

    在本地运行ASP.NET MVC 5项目

  8. 8

    ASP.NET MVC:Razor ActionLink问题

  9. 9

    如何将global.asax文件添加到ASP.NET MVC4项目?

  10. 10

    将ASP.NET MVC 5项目迁移到ASP.NET 5

  11. 11

    ASP.NET MVC - 在 MVC4 Razor 视图中使用 RadioButtonFor

  12. 12

    ASP.NET MVC 6项目未被识别为Web项目

  13. 13

    如何通过循环使用Asp.Net MVC Razor语法连续显示3个项目

  14. 14

    如何通过Razor Pages扩展ASP.NET Core MVC项目?

  15. 15

    如何在asp.net MVC 4 Razor中绑定Kendo Grid

  16. 16

    如何使用Razor语法在ASP.NET MVC 4中获取文本中URL的链接?

  17. 17

    将@ Html.Raw转换为ASP.NET MVC 4 Razor中的字符串

  18. 18

    创建链接以使用ASP.NET MVC4中的Razor升级控制器

  19. 19

    Javascript中的ASP.NET MVC4 Razor。Google地图未加载

  20. 20

    如何在ASP.Net MVC4 Razor中选择查询字符串

  21. 21

    将图表绘制到ASP.NET MVC 4(Razor,C#)网站中

  22. 22

    需要Paypal订阅才能创建帐户-ASP.Net/MVC4/C#/Razor

  23. 23

    如何使用Razor链接到ASP.NET MVC 4中的文件?

  24. 24

    ASP.NET MVC4 + Mono上的Razor + EF 6 DateTime崩溃

  25. 25

    在ASP.NET MVC 4 Razor中,如何获取@ Html.Label的值(文本)?

  26. 26

    如何使用Razor语法在ASP.NET MVC 4中获取指向文本中URL的链接?

  27. 27

    将图表绘制到ASP.NET MVC 4(Razor,C#)网站中

  28. 28

    无需javascript的Razor,ASP.NET MVC 4中的主从创建视图

  29. 29

    Javascript中的ASP.NET MVC4 Razor。Google地图未加载

热门标签

归档