Как преобразовать проект веб-приложения в проект библиотеки классов - PullRequest
29 голосов
/ 13 февраля 2009

Мне нужно преобразовать проект, запущенный как веб-приложение, в Class Libray, это возможно?

Спасибо

Ответы [ 4 ]

38 голосов
/ 19 октября 2010

Правильный ответ - да. Просто отредактируйте файл csproj (msbuild), измените ProjectGuid и удалите ProjectTypeGuids:

<ProjectGuid>{9845066A-3C9E-4F51-8F5F-8F513E8D03C1}</ProjectGuid>

Это действительно так просто.

36 голосов
/ 26 августа 2013

Если вы хотите сделать его точно таким же, как проект библиотеки классов, вот как это сделать для проекта Visual Studio 2010:

  1. Редактировать файл 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' ">
      • Изменить OutputPath на bin\Release\
  2. Открыть проект в Visual Studio

    • Удалите любую из следующих ссылок, если они не используются
      • System.Configuration
      • System.Drawing
      • System.EnterpriseServices
      • System.Web
      • System.Web.ApplicationServices
      • System.Web.DynamicData
      • System.Web.Entity
      • System.Web.Extensions
      • System.Web.Services
    • Удалите любой из следующих файлов / папок, если они нежелательны / не используются
      • App_Data
      • *. ASPX
      • Web.config
      • Сценарии
      • Стили
      • Global.asax
      • Site.Master
2 голосов
/ 13 февраля 2009

Нет. Лучше всего создать библиотеку Class.Library и скопировать файлы .cs в новый проект.

Библиотека классов не будет ничего делать со страницами .aspx, она будет видеть их как файлы в решении.

1 голос
/ 12 июля 2011

Я пришел сюда, чтобы иметь библиотеку классов с пунктами меню mvc. Это - щелчок правой кнопкой мыши на папке представлений, чтобы добавить представление или контроллер для добавления контроллера в библиотеку классов.

Мне удалось добиться этого, отредактировав мой mvc.web.app.csproj, скопировав <ProjectTypeGuids /> в мой проект class.lib.csproj.

Для получения дополнительной информации о том, что я делаю, см .: Как повторно использовать области, контроллеры, представления, модели, маршруты в нескольких приложениях или на веб-сайтах .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...