MSBuild

MSBuild

MSBuild (Microsoft Build Engineプラットフォーム) はMicrosoftやサードパーティ製コンパイラ (Intel、NVIDIA CUDAなど) でアプリケーションをビルドするのに使われるツール群をいいます。

MSBuildを高速化

MSBuildとは?

MSBuild (正式名称:Microsoft Build Engineプラットフォーム) はMicrosoftやサードパーティ製コンパイラ (Intel、NVIDIA CUDAなど) でアプリケーションをビルドするのに使われるツール群をいいます。システムに対してプロジェクトのコンパイル方法を指示するためにXMLスキーマが使われます。

MSBuildは Visual Studio にバンドルされていますが、コンポーネントをすべてインストールしなくても利用可能です。

今すぐ始める
What is MSBuild?

しくみ

MSBuildはコードをコンパイルし、必要な依存関係をリンクして実行ファイルで使用するアセンブリ言語に変換するMicrosoft社のツールチェーンです。

MSBuildを実行すると、Visual Studioまたはコマンドライン経由で、プロジェクト ファイルとすべてのディプロイメントの指示が1つの命令セットにまとめられます。MSBuildはビルド命令に従って各プロジェクトを繰り返し実行し、適切なコンパイラとリンカを使用してプロジェクトをビルドします。ウェブベースのプロジェクトの場合は、MSDeployやVSDBCMDなどのツールを追加で起動してウェブアプリケーションを展開し、必要なデータベースと連動させます。また、MSBuildはプロジェクト ファイルで指定したテストや追加のワークロードも実行できます。

無料トライアルは

こちらをクリック

歴史

Microsoftは古くはMS-DOSやWindows 9Xの時代から様々なコンパイラをリリースしてきました。Microsoft Visual C++やVisual Basicなどの開発スイートには、これらのコンパイラがスタンドアロンではなく、各言語に合わせてコンポーネントとしてバンドルされていました。

1997年には複数の言語に対応した統合開発環境であるVisual Studio 97が、2003年には.NET Frameworkの一部としてMSBuildがリリースされ、.NETプロジェクトのコンパイルが可能になりました。とはいえ、MSBuildシステム (当時はバージョン12) が、.NETアプリケーションだけでなく、C#、C++、Visual Basicのプログラムもビルドできるスタンドアロンのソフトウェア パッケージになったのは、Visual Studio 2013以降のことです。

これ以降、MSBuildはVisual Studioの一部としてリリースが続けられていますが、単独でダウンロードすることもできます。MSBuildツールの最新バージョンはVisual Studio 2019 version 16.10.2です (2021/7/1現在)。

ダウンロード / インストール方法

MSBuildはMicrosoft Visual Studio IDEの一部としてインストールするのが最も簡単です。MSBuildを単独でインストールしたい場合はこちらからダウンロードできます。

Visual Studioインストーラーでは様々なコンパイラ、IDE用の言語サポートモジュール、Gitなどの関連ツールをインストールできます。ビルドツール (通称:MSBuild) のインストーラーを選択した場合も、Visual Studioのセットアップシステムを使用しますが、MSBuildツールだけを事前に選択しておいて [インストール] ボタンをクリックすると、MSBuildがセットアップされます。

MSBuildの例

GCCのようなコンパイラ システムとは異なり、MSBuildはほとんどのパラメータをプロジェクトXMLや開発環境の設定ファイルから取得します。MSBuildでビルドする際の典型的なコマンドラインは次の通りです。

MSbuild.exe Project.proj /fl /ds /p:TargetEnvPropsFile=EnvConfig\Dev.proj

.projファイルはVisual Studioによって自動的に作成されますが、普通のXMLファイルなので、自分で作成したり、既存ファイルを編集したりすることができます。

上記の例では、/fl スイッチでビルドプロセスの出力を「msbuild.log」ファイルに記録するよう指示しています。/ds スイッチは/detailedsummaryの略で、ビルドの終わりに詳細なレポートを作成するように指示します。

また、/m: でシステム上で同時に使用するCPUコアの上限数、/v: で表示するイベント ログの情報量を「q」(uiet)、「m」(inimal)、「n」(ormal)、「d」(etailed)、「diag」(nostic) の値で調整することができます。

MSBuildの追加のコマンドラインパラメータはこちら、プロジェクト ファイルについてはこちらをご覧ください。

WindowsでMSBuildを使う

MSBuildはWindowsでネイティブに動作します。インストール方法については「ダウンロード / インストール方法」をご覧ください。

LinuxでMSBuildを使う

LinuxではMSBuildのバイナリをダウンロードするか、ツールを一からコンパイルできます。ビルド済みのバイナリは.NET Core SDK for Linuxからインストールできます。

MSBuildをソースからコンパイルしたい場合はGitHubでプロジェクトを見つけることができます。MSBuildの環境構築はこちらをご覧ください。

メリット

MSBuildは、Windows上でのソフトウェアのビルドを自動化するための優れたツールです。オペレーティングシステムとの密な統合、Visual Studioとの優れた互換性、オープンソース ライセンス、柔軟性により、優れた選択肢となっています。Visual Studio以外にも外部のビルドスクリプトやシステムとコマンドラインで統合して自動化することができます。

オープンソースですか?

MITライセンスに基づいて無料のオープンソース ソフトウェアとしてGitHubで公開されています。

Incredibuildとの統合

Virtualized Distributed Processing™ (仮想分散処理) 技術がすべてのホストを数百のコアを持つスーパーコンピューターに変えて、開発をさらに高速化します。コンパイルからテスト、リリースの自動化まで、製品開発を加速することで、優れた製品をよりすばやくリリースできるようになります。

Incredibuildは指定したすべてのホスト上でローカルのMSBuild環境を仮想化し、Microsoft Visual Studioで選択されるアクセラレーターとしてバンドルされています。今までと同じコード、プロセス、ツールでビルドが8倍速、リリースサイクルが80%短縮、イテレーション回数が4倍になり、製品開発がスピードアップ。より優れた製品をすばやく安定してリリースできるようになります。

 

 

icon

まとめ

Windowsの開発現場で欠かせないツールです。

無料ライセンス

More Build systems