C# Visual Studio中调试和发布生成的不同生成操作
我有一个C#Visual Studio解决方案,它实现了一个插件架构。在构建调试构建时,我希望将几个插件编译到主应用程序中。在构建发布版本时,我希望不要使用这些.cs文件C# Visual Studio中调试和发布生成的不同生成操作,c#,visual-studio-2010,C#,Visual Studio 2010,我有一个C#Visual Studio解决方案,它实现了一个插件架构。在构建调试构建时,我希望将几个插件编译到主应用程序中。在构建发布版本时,我希望不要使用这些.cs文件 有没有一种方法可以为调试和发布版本的插件文件指定不同的构建操作?我希望在调试版本中将其设置为“Compile”,在发布版本中将其设置为“None”。由于插件通常位于单独的程序集中,因此我将为每个插件创建单独的项目 对于项目,可以定义是否在配置中生成:在Visual Studio中打开配置管理器(菜单“生成”)。在左上角的组合框
有没有一种方法可以为调试和发布版本的插件文件指定不同的构建操作?我希望在调试版本中将其设置为“Compile”,在发布版本中将其设置为“None”。由于插件通常位于单独的程序集中,因此我将为每个插件创建单独的项目 对于项目,可以定义是否在配置中生成:在Visual Studio中打开配置管理器(菜单“生成”)。在左上角的组合框中,选择发布或调试配置,并在列表中随意设置构建复选框 编辑:否则,您必须手动编辑
.csproj
文件,并向要排除的项目添加条件属性:
<Compile Condition="'$(Configuration)' == 'Debug'" Include="Program.cs" />
要执行此操作,您需要手动更改.csproj,并在
Compile
XML元素中添加一个Condition
XML属性,该属性对应于只在调试版本中需要的文件。像这样:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
...
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
...
</PropertyGroup>
<ItemGroup>
<!-- Add the Condition attribute here, on each of your debug only files
Pick up one of the configuration definition configuration above -->
<Compile Include="DebugOnlyClass1.cs" Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "/>
<!-- normal compilation -->
<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
...
</Project>
...
...
...
@Simon:不,甚至没有灵感。虽然我必须承认,措辞非常相似。@SimonMourier是的,但在你回答30秒后——我相信这是巧合。