2014年5月29日木曜日

Visual Studio、MSBuild での Clean で特定フォルダを削除する

こんにちは。yu1row です。

タイトルの通りです。備忘録として残します。
ビルドの際 Clean で特定のフォルダを削除する方法です。

*.csproj や *.vbproj を直接開いて、<Target> タグに <RemoveDir> を追加して、削除するフォルダを記述しておきます。

以下記述例
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
...
  <Target Name="Clean" Condition=" '$(Configuration)' == 'Release' ">
    <RemoveDir Directories="$(TargetDir)" />
  </Target>
...
</Project>

  • 上記の例では Release の時だけ出力先フォルダが削除されるが、"Condition" を書かなければ Release のときも Debug の時も削除される
  • Directories の削除対象フォルダは";"で区切れば複数指定可能。
  • .vshost.exe や .pdb が邪魔して削除できない場合があるが、その場合は以下を参照
    .vshost.exeファイルと.pdbファイルが生成されないようにするには?[VS 2008、VS 2005]
    http://www.atmarkit.co.jp/fdotnet/dotnettips/831stoppdbfile/stoppdbfile.html
以上であります。

0 件のコメント:

コメントを投稿