9

I'm trying to create a new ASP.NET MVC 4 Web Application, when this message pops up after selecting a project template (eg Empty) and pressing OK:

错误信息

我正在使用 Visual Studio 2012 Professional 运行 Windows 8 Professional。

到目前为止,我已经尝试了一些小事情:

  • 以管理员身份运行 VS2012
  • devenv /setup从开发人员命令提示符运行
  • http://www.asp.net/downloads重新安装Microsoft ASP.NET MVC 4
  • 从 VS2012 安装程序运行修复
  • 从头开始安装 Visual Studio 2012 Professional

上述步骤都没有帮助,所以某处可能出现了问题。

有没有人经历过类似的事情?任何想法将不胜感激。

如果您需要,请随时询问更多信息、日志或其他内容:)

4

3 回答 3

5

这会奏效,但这不是最安全的做法。

MVC 向导是 VS 中的一个共享组件,即。Common7\IDE 中有一份 DLL 副本。

当您安装 2012.2 更新,然后完全安装另一个 SKU 时,您将拥有来自新 SKU 的旧模板和新向导。在这种情况下你应该做的是:

  1. 安装 Express 2012
  2. 安装 Web Tools 2012.2 更新(这会删除 4.1 模板)
  3. 安装 VS Pro 2012(MVC 模板不起作用)
  4. 要解决此问题,您需要转到添加/删除程序并修复“Microsoft ASP.NET Web Frameworks and Tools 2012.2”。修复操作将找出您缺少 VSPro SKU 的更新 MSI 并为您安装它。

雅克

于 2013-03-01T22:15:33.803 回答
3

来自 Jacques(编写安装程序):

听起来项目模板缓存中缺少文件。

如果他已经安装了所有东西,那么他可以尝试以下

  1. 关闭所有VS实例
  2. 从 Program Files\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplatesCache 中删除 ProjectTemplatesCacheFolder
  3. 以管理员身份启动 VS 开发人员命令提示符
  4. 运行 devenv /setup
  5. 确认 ProjectTemplateCache 已重建

如果缓存没有重建,那么系统上就会出现更严重的错误。

于 2013-02-27T20:47:18.740 回答
1

这发生在我在一台装有 VS 2012 Express 的机器上安装 VS 2012 Pro 之后(反之亦然)。问题是他们使用了不同版本的 MVC 4 模板。一个正在使用:

  • BasicMvcWebApplicationProjectTemplatev4.0.csaspx
  • BasicMvcWebApplicationProjectTemplatev4.0.cshtml
  • EmptyMvcWebApplicationProjectTemplatev4.0.csaspx
  • EmptyMvcWebApplicationProjectTemplatev4.0.cshtml
  • MvcWebApplicationProjectTemplatev4.0.csaspx
  • MvcWebApplicationProjectTemplatev4.0.cshtml
  • ...

另一个:

  • BasicMvcWebApplicationProjectTemplatev4.1.csaspx
  • BasicMvcWebApplicationProjectTemplatev4.1.cshtml
  • EmptyMvcWebApplicationProjectTemplatev4.1.csaspx
  • EmptyMvcWebApplicationProjectTemplatev4.1.cshtml
  • MvcWebApplicationProjectTemplatev4.1.csaspx
  • MvcWebApplicationProjectTemplatev4.1.cshtml
  • ...

你可以在这里查看:

VS 2012 专业版

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033

VS 2012 快递

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VWDExpress\ProjectTemplates\CSharp\Web\1033

我最终重新格式化了我的机器(在意识到他们使用不同的版本之前),但是这次我先安装了 VS 2012 PRO,然后安装了 VS 2012 Express,但我遇到了同样的问题。所以我将 *ProjectTemplatev4.1.cshtml 文件复制到

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VWDExpress\ProjectTemplates\CSharp\Web\1033

它解决了这个问题。

于 2013-02-27T22:25:32.643 回答