我正在使用Visual Studio 2013 RC中的MVC 5 RC 1。效果很好。
现在我将VS 2012中的现有MVC 4项目升级为MVC 5,方法与描述here相同
我还更改了web.config(s) - 请参阅“upgrading from MVC4 to MVC5”
除了在视图中突出显示Razor / C#代码之外,所有内容(构建,运行Web应用程序,甚至智能感知)都能正常工作。
我还尝试了在VS 2013中创建的MVC 5项目。结果相同。所以我假设VS 2012没有“理解”新组件?!
任何已知的解决方法或想法可以突出显示?
答案 0 :(得分:75)
Microsoft发布了适用于VS 2012的新版ASP.NET Web Tools。 安装后语法突出显示又回来了。
安装VS 2012 Update 4还不够。
提供了一组离线安装程序。离线安装程序比Web平台工具调用程序(WebNode11Pack.exe @ ~114KB)更容易使用:
如果您需要离线安装程序,请转到http://www.microsoft.com/en-us/download/details.aspx?id=41532
答案 1 :(得分:16)
ASP.NET和Web Tools 2013.1 for Visual Studio 2012现已发布,应解决VS 2012的MVC5 intellisense问题。
此版本带来了大量改进,包括一些 ASP.NET MVC 5,Web API 2,Scaffolding和 Visual Studio 2012和Visual Studio 2012用户的实体框架 Express for Web。
To Moderator:它可能只是一个下载链接,但这解决了这个问题,它对我有用,并且对于投票给这个答案的用户起了作用。如果您要删除它,请提供理由,谢谢!
答案 2 :(得分:9)
This answer声称VS2012无法理解Razor 3,所以你(和我)将不得不升级到VS2013
答案 3 :(得分:6)
我目前正在使用一种解决方法来使智能感知在VS2012中工作(我认为这不会正常工作)如果我在同一个项目中使用VS2013; b)如果我尝试使用Razor 3功能):
将web.config更改为使用旧的webpages
版本:
<add key="webpages:Version" value="2.0.0.0" />
为了确保这不会以任何方式影响生产,我添加了web.config转换:
<add key="webpages:Version" value="3.0.0.0" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
不幸的是,这种解决方法存在问题(到目前为止我已经注意到了):
Html.RenderPartial()
,并在设计器中显示为错误)。答案 4 :(得分:6)
我从微软开发者那里得到了这个答案:
VS 2012的MVC 5 / Razor 3工具支持尚未发布。我们希望在11月中旬提供这种支持。
所以现在接受的答案是正确的,但我们也可以计划很快在VS2012获得这种支持。
答案 5 :(得分:3)
在Microsoft Platform Installer中安装“ASP.NET和WebTools 2013.1 for Visual Studio 2012”
答案 6 :(得分:1)
对我来说,我的问题是我将构建文件输出到bin
以外的目录。一旦我的文件输出到bin
,我的语法高亮显示就会回来。
解决此问题的一种方法是创建一个后构建操作,该操作将项目根目录bin文件夹中的文件(与项目外部的过滤器相比)复制到目标目录。