2009-02-13 47 views

回答

34

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

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

确实很简单。

+0

我有VS2010和这个Guid没有为我工作,我试过这个:` {2CAAF0E8-A840-4ABF-BF2A-BCD4338D80B5}` – 2013-04-25 11:09:37

+1

改变`ProjectGuid`有什么意义?这不仅仅是唯一标识项目吗?对我来说,似乎每个项目都会产生一个新的。 – Sam 2013-08-25 23:45:53

0

号最好的办法是创建一个Class.Library和的.cs文件复制到您的新项目。

类库不会对.aspx页面做任何事情,它会将这些文件视为解决方案中的文件。

+0

我有一个主要的Web应用程序从另一个Web应用程序加载控件。它应该从类库中加载它们,因为现在我有两个web.config文件,这很无聊。 – 2009-02-13 19:57:54

31

如果你想让它完全一样的一个类库项目,这里是如何做到这一点的一个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
    • 删除任何下列文件/文件夹,如果他们不想要的/不使用
      • 的App_Data
      • * .aspx
      • 的Web.config
      • 脚本
      • 样式
      • 的Global.asax
      • 的Site.Master
相关问题