Мне нужно преобразовать проект, запущенный как веб-приложение, в Class Libray, это возможно?
Спасибо
Правильный ответ - да. Просто отредактируйте файл csproj (msbuild), измените ProjectGuid и удалите ProjectTypeGuids:
<ProjectGuid>{9845066A-3C9E-4F51-8F5F-8F513E8D03C1}</ProjectGuid>
Это действительно так просто.
Если вы хотите сделать его точно таким же, как проект библиотеки классов, вот как это сделать для проекта Visual Studio 2010:
Редактировать файл csproj
PropertyGroup
ProjectTypeGuids
UseIISExpress
<FileAlignment>512</FileAlignment>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<ProjectExtensions>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
OutputPath
bin\Debug\
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
bin\Release\
Открыть проект в Visual Studio
Нет. Лучше всего создать библиотеку Class.Library и скопировать файлы .cs в новый проект.
Библиотека классов не будет ничего делать со страницами .aspx, она будет видеть их как файлы в решении.
Я пришел сюда, чтобы иметь библиотеку классов с пунктами меню mvc. Это - щелчок правой кнопкой мыши на папке представлений, чтобы добавить представление или контроллер для добавления контроллера в библиотеку классов.
Мне удалось добиться этого, отредактировав мой mvc.web.app.csproj, скопировав <ProjectTypeGuids /> в мой проект class.lib.csproj.
<ProjectTypeGuids />
Для получения дополнительной информации о том, что я делаю, см .: Как повторно использовать области, контроллеры, представления, модели, маршруты в нескольких приложениях или на веб-сайтах .