如何将Web应用程序项目转换为类库项目

时间:2009-02-13 17:57:13

标签: asp.net visual-studio

我需要将作为Web应用程序启动的项目转换为类库,这可能吗?

由于

4 个答案:

答案 0 :(得分:38)

正确答案是肯定的。只需编辑csproj(msbuild)文件并更改ProjectGuid并删除ProjectTypeGuids:

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

真的很简单。

答案 1 :(得分:36)

如果您想使它与类库项目完全相同,那么这里是如何为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 :(得分:2)

没有。最好的办法是创建一个Class.Library并将.cs文件复制到新项目中。

类库不会对.aspx页面执行任何操作,它会将这些文件视为解决方案中的文件。

答案 3 :(得分:1)

我来到这里是为了拥有一个带有mvc菜单项的类库。这是,右键单击views文件夹以添加视图或控制器以在类库中添加控制器。

我能够通过编辑我的mvc.web.app.csproj来实现这一点,将<ProjectTypeGuids />复制到我的class.lib.csproj项目。

有关我正在做的事情的更多背景信息,请参阅:How to reuse Areas, Controllers, Views, Models, Routes in multiple apps or websites