来自WPI Win7 x64的Razor Intellisense不工作VS2010 SP1Rel MVC3

时间:2011-05-26 02:29:01

标签: visual-studio-2010 asp.net-mvc-3 razor intellisense

我在安装了Windows 7 64位Professional的计算机上安装了Visual Studio 2010 / SP1 / MVC 3(带有April Tools Update)。

我没有安装resharper。 我从来没有在这个新的操作系统安装上安装RC或Beta。

我的安装步骤如下:

  1. 安装Visual Studio Professional。
  2. 安装Web平台安装程序。
  3. 从WPI安装Visual Studio SP1。
  4. 安装Microsoft ASP.net MVC 3(使用April Tools Update)
  5. 安装Productivity Power Tools
  6. 帮助>关于Microsoft Visual Studio显示:

    Microsoft Visual Studio 2010 版本 10.0.40219.1 SP1Rel

    Microsoft .NET Framework 版本 4.0.30319 SP1Rel

    System.Web.Mvc.dll文件版本显示: 3.0.20105.0

    安装完成后,我执行了以下操作:

    1. 打开Visual Studio。
    2. 文件>新项目
    3. 选择“ASP.Net MVC 3 Web应用程序”。
    4. 在“新建ASP.NET MVC 3项目”对话框中。我选择了“Internet Application”,“Razor”View Engine。点击确定。
    5. 在项目中,这是行为:

      1. 打开任何cshtml文件,不突出显示Razor @blocks。
      2. Intellisense提供html片段作为剃刀块内外的选项,但不识别其中的Html助手或模型等。
      3. 项目建设。
      4. 您可以运行项目,一切都在构建时有效。 Razor视图正常呈现。
      5. 有没有人知道让Razor Intellisense有效的一系列明确先决条件?我可以在其他具有Razor Intellisense工作的Win7 64位机器和具有此问题的2机器之间进行区分吗?注册表条目?是否有任何可以帮助调试的Visual Studio日志?经过几个小时的挫折和阅读每一个Razor Intellisense帖子和问题后,我遇到了任何有效的事情,我只是希望能有一些关于如何排除故障/尝试下一步的新想法。

        感谢您提供任何帮助。

12 个答案:

答案 0 :(得分:14)

我知道自上一篇文章发布以来已经有一段时间了,但我通过卸载MVC 2和MVC2 VS Tools来修复我的问题,并且只安装了MVC 3。

答案 1 :(得分:13)

如果您安装了MVC4和MVC3,则需要将其添加到web.config中的appsettings(在root和Views文件夹中)以使用MVC3

<appsettings>
    <add key="webpages:Version" value="1.0.0.0">
    ...
</appsettings>

另请检查root web.config中的引用,它们应包含这些版本

<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

重新打开解决方案以使设置生效

答案 2 :(得分:6)

我只是浪费了2个小时的生命。发生在我身上的是web.config文件被错误地检查并且不再是Unicode UTF8。当VS 2010打开解决方案时,它会检查web.config文件中的appsettings:

<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="true" />

由于文件无法通过正常方式读取,它只是完全跳过它,导致VS认为你需要重新安装MVC ...我只是想发布这个以防万一其他人遇到同样的问题容易解决。

答案 3 :(得分:3)

Razor Intellisense使用 Razor Editor

检查它是否被选为默认编辑器,为此执行

  • 右键单击视图文件(.cshtml)
  • 选择打开方式...
  • 检查Razor编辑器选择默认
  • 如果没有,请从控制面板卸载mvc3重新安装。

再次检查文件必须在Razor Editor中打开。我已经完成了这项工作,现在正在开展工作。

答案 4 :(得分:2)

我通过右键单击cshtml文件并选择“查看标记”来修复它。

答案 5 :(得分:1)

您可能已经尝试过这个,但对我来说,此博客文章中的步骤有效:http://blogs.msdn.com/b/webdevtools/archive/2011/03/24/razor-tooling-for-mvc3-rc-with-visual-studio-2010-sp1-rtm.aspx

答案 6 :(得分:1)

我们遇到了问题,因为在构建Razor视图时编译器似乎使用32位MSBuild,即使您将所有项目都设置为64位或任何Cpu。当我们将它强制为64位时,我们的Web项目将无法编译,因为剃刀视图是以32位构建的并且失败,因为某些视图引用的是一个引用了第三方64位dll的项目。

答案 7 :(得分:1)

我的一个项目遇到了这个问题,问题是当我将它从独立的MVC应用程序转换为Orchard模块时,项目以某种方式被转换为类库项目。

通过在文本编辑器中打开.csproj文件并替换此行来修复:

<ProjectTypeGuids>{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

用这个:

<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

答案 8 :(得分:1)

请注意,对我来说导致问题的原因是安装了Roslyn语言服务插件。当我卸载插件时,问题就解决了。要卸载插件,只需转到tools-&gt;扩展管理器并找到插件Roslyn语言服务。单击卸载按钮,然后重新启动VS2010。

答案 9 :(得分:0)

我遇到了同样的问题,我只是通过安装Visual Studio 2010 SP1来修复它。从那以后,一切都运转良好。我希望这会对你有所帮助。

您可以从这里下载: http://www.microsoft.com/download/en/details.aspx?id=23691

祝你好运

答案 10 :(得分:0)

与BuildStarter一样,单击Open With并将默认设置为Razor Editor,即使它已经设置。应该得到颜色编码和智能。

答案 11 :(得分:0)

我遇到了同样的问题。当我将Views web.config中的视图引擎更改为自定义引擎时,它开始随机发生。这是一个已知问题VS2010 Intellisense在自定义视图引擎到位或视图从自定义视图页面继承时识别保留字时出现问题。

每个遇到Razor Intellisense问题的人都应该检查一下。以上修复程序(重新安装VS,重新安装SP1,重新应用MVC3工具更新)都没有帮助。