前回の .NET ビルド小技集 (2) では、プロジェクトのビルド イベントで ZIP ファイルを作成しました。
今回は、ビルド自体を PowerShell で実行する方法についてです。
PowerShell でビルドする
前回までの方法では、ビルドのたびにコンテンツ ファイルがコピーされ、ZIP ファイルが作成されますが、
現実の運用では ZIP ファイルを作成するのは毎回である必要はなく、
アプリをリリースするときの Release ビルドだけでよいでしょう。
そこで今回は、Release ビルドと ZIP ファイルの作成を PowerShell で実行することにします。
ただし、xcopy によるファイルのコピーはデバッグ時にも必要だと考えられるため、プロジェクトのビルド イベントに残します。
PowerShell スクリプトで、MSBuild.exe および前回作成した CreateZipForAssembly.ps1 を呼び出します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$msbuild = "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" | |
$slnFilePath = "..\BuildSample.sln" | |
Invoke-Expression ([string]::Format("{0} {1} /p:Configuration=Release /t:Clean", $msbuild, $slnFilePath)) | |
Invoke-Expression ([string]::Format("{0} {1} /p:Configuration=Release /t:Rebuild", $msbuild, $slnFilePath)) | |
.\CreateZipForAssembly.ps1 ..\EmptyConsole\bin\Release\EmptyConsole.exe ..\Downloads | |
explorer ..\Downloads |
以上で準備は完了です。
リリース時には AssemblyInfo.cs でバージョンを設定して、この ps1 ファイルを PowerShell で実行します。
実行結果:
前回: .NET ビルド小技集 (2)
次回: .NET ビルド小技集 (4)
作成したサンプル
BuildSample (GitHub)
バージョン情報
Visual Studio 2013
参照
Build Version Increment Add-In Visual Studio
第4回 ミッション:ビルドを自動化セヨ!
2015年10月15日 00:38
[…] 前回: .NET ビルド小技集 (1) 次回: .NET ビルド小技集 (3) […]
2015年10月23日 15:39
[…] .NET ビルド小技集 (3) では、PowerShell スクリプトでプロジェクトをビルドしました。 […]