Ошибка 0x80070002 при создании нового веб-приложения ASP.NET MVC 4 в VS2012

Я пытаюсь создать новое веб-приложение ASP.NET MVC 4, когда это сообщение появится после выбора шаблона проекта (например, Пусто) и нажмите OK:

Error Message

Я запускаю Windows 8 Professional с Visual Studio 2012 Professional.

До сих пор я пробовал несколько мелких вещей:

  • Запуск VS2012 в качестве администратора
  • Выполнение devenv /setup из командной строки Developer
  • Переустановка Microsoft ASP.NET MVC 4 из http://www.asp.net/downloads
  • Выполнение ремонта из установщика VS2012
  • Установка Visual Studio 2012 Professional с нуля

Ни один из вышеперечисленных шагов не помог, поэтому что-то, вероятно, где-то сломалось.

Кто-нибудь испытал нечто подобное этому? Любые идеи были бы с благодарностью.

Не стесняйтесь запрашивать дополнительную информацию, журналы или еще что-то, если вам это нужно:)

Ответ 1

Это сработает, но это не самая безопасная вещь.

Мастер MVC является общим компонентом в VS, т.е. Существует одна копия DLL, которая живет в Common7\IDE.

Когда вы установили обновление 2012.2, а затем установили еще один SKU, у вас есть старые шаблоны из нового SKU с новым мастером. Что вы должны сделать в этой ситуации:

  • Установить Express 2012
  • Установите обновление Web Tools 2012.2 (это уменьшает шаблоны 4.1)
  • Установить VS Pro 2012 (шаблоны MVC не будут работать)
  • Чтобы исправить это, вам нужно перейти в "Установка и удаление программ и восстановление" "Microsoft ASP.NET Web Frameworks and Tools 2012.2". Операция восстановления выяснит, что вам не хватает обновленных MSI для VSPro SKU и установите его для вас.

Жак

Ответ 2

От Жака (который пишет установщиков):

Похоже, что файлы отсутствуют в кэше шаблона проекта.

Если у него все установлено, он может попробовать следующее

  • Выключить все экземпляры VS
  • Удалить ProjectTemplatesCacheFolder из программных файлов \Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplatesCache
  • Запустите командную строку VS-разработчика как администратор
  • Запуск devenv/setup
  • Подтвердите, что ProjectTemplateCache был перестроен

Если кеш не восстанавливается, в системе есть что-то более серьезное.

Ответ 3

Это случилось со мной после установки VS 2012 Pro на машине с VS 2012 Express (и наоборот). Дело в том, что они использовали разные версии шаблонов 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

и он исправил проблему.