Ответ 1
Создайте новый проект веб-приложений в своем решении и перетащите все файлы из библиотеки классов в новый проект веб-приложения.
Короче говоря, из-за некоторых проблем с архитектурой и того факта, что кто-то уже поместил несколько .aspx файлов в библиотеку классов, я хотел бы просто закончить изменение и преобразовать библиотеку классов в веб-приложение. Это использует Visual Studio 2010 и .NET 4.0. Есть ли простой способ сделать это? Спасибо!
EDIT: Я надеялся на лучший метод, чем воссоздание проекта, у меня было слишком много проблем со сломанными ссылками, когда я пытался просто создать новый проект, в том числе тот, который я никогда не мог исправить.
Создайте новый проект веб-приложений в своем решении и перетащите все файлы из библиотеки классов в новый проект веб-приложения.
Я сделал это вручную сегодня в Visual Studio 2005, потому что он казался проще и быстрее, чем выше. Я просто отличил рабочий файл .csproj рабочего приложения с моей библиотекой классов, чтобы определить соответствующие различия. Исходя из этого, я внес следующие изменения. Имейте в виду, что это может быть другим для других версий или вашего отдельного проекта.
1) Сразу после элемента <ProjectGuid>
рядом с верхней частью я добавил
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
2) Я удалил <ProjectType>Local</ProjectType>
3) В нижней части файла, перед закрытием </Project>
, я добавил
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplication.targets" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>False</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>3291</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>
</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
Он уже упоминал в комментариях, но как-то легко пропустить (по крайней мере, я пропустил это). Если вы применили решение Brad, но в вашем проекте по-прежнему отсутствует возможность добавления областей, контроллеров и представлений, вам все равно нужно добавить MVC-проект guid {E3E379DF-F4C6-4180-9B81-6769533ABE47}
.
Строка ProjectTypeGuids
должна выглядеть следующим образом:
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
Как уже упоминалось JamesQMurphy, {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
не будет работать в проектах VB. Это потому, что это С# project guid. Поэтому для проекта VB необходимо использовать руководство проекта VB. Этот указатель {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
.
Ниже приведен список некоторых известных команд проекта (взятых из этого сайта):
P.S. В случае, если вам интересно, этот список, по-видимому, является общедоступным.
Было бы проще всего создать новый веб-проект, а затем скопировать файлы классов и *.aspx в новый веб-проект?