在VS2012中创建新的ASP.NET MVC 4 Web应用程序时出现0x80070002错误

时间:2012-11-24 02:33:54

标签: c# asp.net-mvc-4 visual-studio-2012

我正在尝试创建一个新的ASP.NET MVC 4 Web应用程序,当选择项目模板(例如Empty)后弹出此消息并按OK:

Error Message

我正在使用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

上述步骤都没有帮助,所以某些地方可能会被打破。

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

如果您需要,请随时询问更多信息,日志或诸如此类的内容:)

3 个答案:

答案 0 :(得分:5)

这样可行,但这不是最安全的事情。

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

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

  1. 安装Express 2012
  2. 安装Web Tools 2012.2更新(这将删除4.1模板)
  3. 安装VS Pro 2012(MVC模板不起作用)
  4. 要解决此问题,您需要转到“添加/删除程序和修复”Microsoft ASP.NET Web框架和工具2012.2“。修复操作将确定您缺少VSPro SKU的更新MSI并为您安装。
  5. 雅克

答案 1 :(得分:3)

来自Jacques(编写安装人员):

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

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

  1. 关闭VS的所有实例
  2. 从Program Files \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ ProjectTemplatesCache中删除ProjectTemplatesCacheFolder
  3. 以管理员身份启动VS开发人员命令提示符
  4. 运行devenv / setup
  5. 确认已重建ProjectTemplateCache
  6. 如果缓存没有重建,那么系统上会出现更严重的错误。

答案 2 :(得分: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 PRO

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

VS 2012 Express

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

它解决了这个问题。