[ Home on 246net ] [ C# Top ]
.NET Frameworkランタイムには、.NETプログラムをビルドするためのツールであるMSBuildが含まれています。これは、XMLで記述したプロジェクト設定ファイルに基づき、アセンブリをビルドしたり、実行するといった作業を行います。いわゆるmakeツールに相当します。
Visual Studioで作成したプロジェクトファイルも、このMSBuildで実行可能なXMLファイルとなっています。したがって、Visual Studioで開発したプログラムを、コマンドラインでビルドする場合、そのままこのMSBuildコマンドでビルドすることができます。
まずは、HelloWorldプログラムをビルドする簡単なプロジェクトファイルを作成し、実行します。
HelloWorld.csを1つビルドしexeを作成する最低限のプロジェクトファイルを記述します。
Hello.proj
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<CSFile Include="HelloWorld.cs"/>
</ItemGroup>
<Target Name="Build">
<CSC Sources="@(CSFile)"/>
</Target>
</Project>
ファイルはUTF-8でエンコーディングします。
コンパイル対象ソースファイル名をItemGroupの子要素CSFileで指定しています。
コンパイルはTargetの子要素CSCで指定します。今回はコンパイル対象ソースファイル名だけ指定し、それ以外はデフォルトに任せています。
ビルドの実行は
C:\work\hello> MSBuild Hello.proj
Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
2010/06/12 21:49:54 にビルドを開始しました。
ノード 1 上のプロジェクト "C:\work\hello\Hello.proj" (既定のターゲット)。
Build:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Csc.exe /out:HelloWorld.exe Hel
loWorld.cs
プロジェクト "C:\work\hello\Hello.proj"
(既定のターゲット) のビルドが完了しました。
ビルドに成功しました。
0 個の警告
0 エラー
経過時間 00:00:00.32
C:\work\hello>
MSBuildの使い方については、いくつか紹介記事等があります。