2012-03-29 21 views
2

在Visual Studio中可以爲不同的構建配置使用不同的構建前事件嗎? 例如,我想要一個測試版&實時系統的發佈配置,並在編譯之前將相關應用。[type] .config複製到app.config。在Visual Studio中爲不同的構建配置使用不同的預構建事件

目前,配置設置已被烘焙到.settings文件中,使用默認app.config文件中的設置。

回答

1

您可以通過兩種方式做到這一點,根據您的具體情況:

選項1:檢查$在構建前腳本(ConfigurationName)變量,就像這樣:

IF EXISTS $(ProjectDir)app.$(ConfigurationName).config 
    COPY $(ProjectDir)app.$(ConfigurationName).config $(ProjectDir)app.config 

選項2:一個 「BeforeCompile」 的MSBuild目標添加到項目文件:

<Target Name="BeforeBuild"> 
    <!-- MSBuild Script here --> 
</Target> 

選項3:使用配置文件轉換; this VSIX plug-in將web.config轉換功能添加到非Web項目中。這些XSLT文件,讓你重寫你的配置文件的版本(不同於Web項目,它發生在哪裏上發佈。)

2

或者只是把條件對你的目標......例如,

Condition="'$(Configuration)' == 'Debug'" 

..或你的任務。

如果您使用Visual Studio VB/C#簡單的構建後事件,您可以手動編輯項目文件以將這些條件放在PreBuildEvent/PostBuildEvent屬性標記上;並重復Release的標籤。

丹(MSBuild的DEV)

+0

而從這一刻起,VS(在免得2010)將顯示PostBuild爲空,在編譯過程中的魔法會發生,在大隊伍,這將最終導致混亂和浪費時間。好的解決方案,但潛在的危險 – durilka 2013-01-25 14:59:05

相關問題