我在一台新安装了Windows 7 64位Professional的机器上安装了Visual Studio 2010/SP1/MVC 3(带April Tools Update)。
我没有安装重新打磨机。我从未在这个新的操作系统上安装过RC或Beta。
我的安装步骤如下:
- 安装Visual Studio Professional
- 安装Web平台安装程序
- 从WPI安装Visual Studio SP1
- 安装Microsoft ASP.net MVC 3(带四月工具更新)
- 安装生产力电动工具
帮助>关于Microsoft Visual Studio节目:
Microsoft Visual Studio 2010版本1.0.40219.1SP1Rel
Microsoft.NET Framework版本4.0.30319 SP1Rel
System.Web.Mvc.dll文件版本显示:3.0.20105.0
安装后,我做了以下操作:
- 打开Visual Studio
- 文件>新建项目
- 选择"ASP.Net MVC 3 Web应用程序"
- 在"新建ASP.NET MVC 3项目"对话框中。我选择了"互联网应用程序","Razor"视图引擎。点击OK
项目中的行为如下:
- 打开任何cshtml文件,Razor@块都不会高亮显示
- Intellisense提供html片段作为剃刀块内外的选项,但不识别其中的html助手或模型等
- 项目正在构建
- 您可以运行项目,并且在构建时一切正常。Razor视图是正常渲染的
有人知道Razor Intellisense工作的一套明确的先决条件吗?我可以在其他运行Razor Intellisense的Win7 64位机器和存在此问题的2台机器之间进行区分吗?注册表项?是否有任何Visual Studio日志可以帮助调试此问题?在经历了几个小时的沮丧之后,阅读了我遇到的每一篇Razor Intellisense帖子和问题,却没有想出任何有效的方法,我只是希望能对下一步要解决的问题有一些新的想法。
谢谢你在这方面的帮助。
我知道距离上一篇文章已经有一段时间了,但我通过卸载MVC 2和MVC2 VS Tools修复了我的问题,只安装了MVC 3。
如果安装了MVC4和MVC3,则需要将其添加到web.config中的appsettings中(在根目录和Views文件夹中)以使用MVC3
<appsettings>
<add key="webpages:Version" value="1.0.0.0">
...
</appsettings>
还要检查根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个小时的生命。发生在我身上的是,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。。。我只是想发布这个,以防其他人遇到同样的问题,从而轻松解决。
Razor Intellisense与Razor Editor一起工作
检查它是否被选为默认编辑器,为此做
- 右键单击视图文件(.cs.html)
- 选择打开方式
- 检查Razor编辑器选择为默认值
- 如果没有,请从控制面板卸载mvc3并重新安装
再次检查文件必须在Razor编辑器中打开。我已经完成了这项工作,现在它正在发挥作用。
我通过右键单击cshtml文件并选择"查看标记"来修复它。
你可能已经尝试过了,但对我来说,这篇博客文章中的步骤很有效:http://blogs.msdn.com/b/webdevtools/archive/2011/03/24/razor-tooling-for-mvc3-rc-with-visual-studio-2010-sp1-rtm.aspx
我们遇到了问题,因为编译器在构建Razor视图时似乎使用了32位MSBuild,即使您的所有项目都设置为64位或Any Cpu。当我们将我们的web项目强制为64位时,它不会编译,因为剃刀视图是以32位构建的,并且由于一些视图引用了一个引用了第三方64位dll的项目而失败。
我的一个项目出现了这个问题,问题是当我将该项目从独立的MVC应用程序转换为Orchard模块时,该项目不知何故被转换为类库项目。
修复了在文本编辑器中打开.csproj文件并替换此行:
<ProjectTypeGuids>{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
这个:
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
请注意,对我来说,导致问题的原因是安装了Roslyn语言服务插件。当我卸载插件时,问题得到了解决。要卸载插件,只需转到工具->扩展管理器并找到插件Roslyn语言服务。单击卸载按钮并重新启动VS2010。
我遇到了同样的问题,我只需安装Visual studio 2010 SP1就解决了它。从那以后一切都很好。我希望这对你有帮助。
您可以从这里下载:http://www.microsoft.com/download/en/details.aspx?id=23691
祝好运
与BuildStarter一样,单击Open With并将默认值设置为Razor Editor,即使它已经设置。应该得到颜色编码和智能化。
我遇到了同样的问题。当我将Views web.config中的视图引擎更改为自定义引擎时,这种情况开始随机发生。当自定义视图引擎就位或视图从自定义视图页继承时,VS2010Intellisense在识别保留字方面存在问题,这是一个已知问题。
每个遇到Razor Intellisense问题的人都应该检查一下。上述修复程序(重新安装VS、敲击SP1、重新应用MVC3工具更新)都没有帮助。