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

Mar*_*olo 29 asp.net visual-studio

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

谢谢

Jar*_*ttV 38

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

<ProjectGuid>{9845066A-3C9E-4F51-8F5F-8F513E8D03C1}</ProjectGuid>
Run Code Online (Sandbox Code Playgroud)

它真的很简单.

  • 更改“ProjectGuid”有什么意义?这不是唯一标识项目吗?对我来说,似乎每个项目都会生成一个新的。 (2认同)

Sam*_*Sam 37

如果您想使它与类库项目完全相同,那么以下是如何为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' ">
      • 更改OutputPathbin\Debug\
    • <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
      • 更改OutputPathbin\Release\
  2. 在Visual Studio中打开项目

    • 如果未使用,请删除以下任何引用
      • 系统配置
      • System.Drawing中
      • 的System.EnterpriseServices
      • 的System.Web
      • System.Web.ApplicationServices
      • System.Web.DynamicData
      • System.Web.Entity
      • System.Web.Extensions程序
      • System.Web.Services
    • 如果不需要/未使用,请删除以下任何文件/文件夹
      • 应用程序数据
      • *的.aspx
      • Web.config文件
      • 脚本
      • 样式
      • Global.asax中
      • 的Site.Master

  • Works in VS2015 too (3认同)