我需要将作为Web应用程序启动的项目转换为类库,这可能吗?
由于
答案 0 :(得分:38)
正确答案是肯定的。只需编辑csproj(msbuild)文件并更改ProjectGuid并删除ProjectTypeGuids:
<ProjectGuid>{9845066A-3C9E-4F51-8F5F-8F513E8D03C1}</ProjectGuid>
真的很简单。
答案 1 :(得分:36)
如果您想使它与类库项目完全相同,那么这里是如何为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' ">
下
OutputPath
更改为bin\Release\
在Visual Studio中打开项目
答案 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。