Я считаю, что логика для этого содержится в DLL
Microsoft.VisualStudio.Web.ExtensionsUI
Который зарегистрирован в шаблоне проекта, который используется при создании нового проекта ASP.NET MVC:
<WizardExtension>
<Assembly>
Microsoft.VisualStudio.Web.Extensions,
Version=9.0.0.0,
Culture=neutral,
PublicKeyToken=31bf3856ad364e35
</Assembly>
<FullClassName>
Microsoft.VisualStudio.Web.Mvc.TemplateWizard
</FullClassName>
</WizardExtension>
C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ProjectTemplates \ CSharp \ Web \ 1033 \ MvcWebApplicationProjectTemplatev1.cs.zip
Возможно, вы также можете возиться с Руководствами типов проектов в вашем файле .xxproj:
<ProjectTypeGuids>
{603c0e0b-db56-11dc-be95-000d561079b0};
{349c5851-65df-11da-9384-00065b846f21};
{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>
Похоже, что они используются по умолчанию для проекта ASP.NET MVC, сравните их с аналогичными в вашем веб-приложении и перейдите оттуда.
Однако, во многих из этих обстоятельств я согласен с gisresearch: часто проще сначала создать более сложный проект (MVC), а затем переместить в него оригинал.
Кроме того, ничто не мешает вам размещать несколько проектов в одном и том же веб-приложении - вытянуть общую логику из веб-приложения в общую библиотеку классов, а затем сослаться на нее из чистого приложения MVC с немного другим пространством имен, а затем объедините два сайта в IIS, поместите dll-файлы в общую папку bin (или строго назовите их и поместите в глобальный кэш сборок), поделитесь изображениями / сценариями, и все - вы просто должны позаботиться о Global.asax, который будет общим для обоих.