質問

Visual Studio 2008では、NANTを呼び出して構成ファイルを作成するポストビルドイベントを実行します。

例えば

if $(SolutionDir) == . GOTO end
nant -buildfile:$(SolutionDir)default.build create..web.config

これを再構築でのみ実行する方法はありますか?

役に立ちましたか?

解決

ビルドイベントを使用するのではなく、ビルドターゲットを指定することでこれを行うことができると思います。生成された構成ファイルを削除するAfterCleanターゲットを作成してみてください。 Beforebuildターゲットのファイル依存関係を設定していることを確認してください。そのため、MSBuildはファイルが存在しない場合にのみステップを実行する必要があることを知っています。

私は実際にこれを試したことはありませんが、ターゲットファイルが存在しない場合にのみMSBuildがターゲットを実行すると信じています。再構築すると、クリーニングプロセスが呼び出され、次にAfterCleanターゲットが呼び出されます。

ビルドターゲットの詳細を読むことができます ここ. 。イベントの代わりにビルドターゲットを使用する唯一の本当の欠点は、VS UIのどこにも表示されないことです。プロジェクトファイルを検査する場合にのみ見つけることができます。

イベントを含むより直接的なソリューションがあるかもしれません - MSBuildチームブログを見てください ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top