我希望通過C#visual studio項目添加新的構建配置。我希望它像調試構建配置,但有一個區別。即使調試配置發生變化,我也希望它始終與調試配置類似。visual studio,構建配置:如何構建基於另一個構建配置
我該怎麼做?
我希望通過C#visual studio項目添加新的構建配置。我希望它像調試構建配置,但有一個區別。即使調試配置發生變化,我也希望它始終與調試配置類似。visual studio,構建配置:如何構建基於另一個構建配置
我該怎麼做?
下面是使用不同預處理器定義的示例。您將不得不手動編輯項目文件。我建議你在VS自己做這個,因爲它有語法高亮和自動完成。 在正常的csproj文件,爲Debug|AnyCPU
配置的屬性等被定義本(1):
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
說你想重用一切,除了DefineConstants
,你剛纔定義的公共屬性創建一個單獨的項目文件debug.props
,把它放在同一目錄下的項目文件:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
</Project>
然後,它只是一個調整的主要項目文件導入的共同文件,並設置基礎上配置一些不同的價值觀的問題。這是由與此更換(1)完成:
<Import Project="$(MsBuildThisFileDirectory)\debug.props"
Condition="'$(Configuration)'=='Debug' Or '$(Configuration)'=='MyDebug'" />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DefineConstants>DEBUG</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MyDebug|AnyCPU' ">
<DefineConstants>TRACE;DEBUG</DefineConstants>
</PropertyGroup>
應該很清楚這是什麼一樣:它導入該文件與公共屬性(如果配置是Debug或MyDebug)將針對DefineConstants不同的值取決於使用哪個配置。由於現在有一個用於配置的PropertyGroup == MyDebug,VS會自動重新調整它,所以在配置管理器中,您現在可以選擇MyDebug
作爲配置。一旦你這樣做,它會影響這樣的代碼:
#if TRACE //is now only defined for MyDebug config, not for Debug
Console.WriteLine("hello there");
#endif
哪個visual studio版本? – stijn
微軟的Visual Studio 2012專業版 更新11.0.60315.01 2 的Microsoft .NET Framework版本 4.5.50709 安裝的版本:專業 的Visual C#2012 04938-004-0033001-02995 的Microsoft Visual C#2012 –