2012-03-29 19 views
2

Visual Studioでさまざまなビルド構成に異なるビルド前のイベントを使用できますか? たとえば、ベータ版の&ライブシステムのリリース構成と関連するアプリがあります。[type] .configはコンパイルする前にapp.configにコピーされます。Visual Studioでさまざまなビルド構成に異なるビルド前のイベントを使用する

現在、デフォルトのapp.configファイルの設定を使用して、設定設定が.settingsファイルに保存されます。

答えて

1

あなたはあなたの正確な状況に応じて、いくつかの方法でこれを行うことができます。

オプション1:

IF EXISTS $(ProjectDir)app.$(ConfigurationName).config 
    COPY $(ProjectDir)app.$(ConfigurationName).config $(ProjectDir)app.config 
:そうのようなあなたの前のビルドスクリプトで$(ConfigurationName)変数を、チェックを

オプション2:プロジェクトファイルに "BeforeCompile" MSBuildのターゲットを追加します。

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

オプション3:使用してコンフィギュレーション・ファイルの変換; this VSIX plug-inは、Web以外のプロジェクトにweb.configトランスフォーム機能を追加します。これらには、ビルドにあなたの設定ファイルを書き換えてみましょうXSLTファイルです(それが公開に起こるWebプロジェクトとは異なり。)

2

またはちょうどあなたのターゲットに条件を入れて...例えば、

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

..またはあなたの仕事に。

Visual Studio VB/C#のシンプルポストビルドイベントを使用している場合は、プロジェクトファイルを手作業で編集して、そのような条件をPreBuildEvent/PostBuildEventプロパティタグに設定できます。リリースのためにタグを繰り返します。

ダン(MSBuildのdevの)

+0

そしてこの瞬間から、(LEST 2010年)VSが空としてポストビルドが表示され、コンパイル時に魔法が起こって、大きなチームにされ、これは最終的に混乱し、失われた時間につながります。良い解決策だが潜在的に危険である。 – durilka

関連する問題