「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>ビルド]] * 目次 [#p15252ae] #contents *概要 [#g3929e10] ビルドスクリプトでビルド自動化をすると、~ 生産性向上に、かなり寄与する。 *詳細 [#mf579100] 下記ツールを使用してビルドを行うことが出来る。~ 昨今、[[MSBuild>#u295c468]]が一般的になっている。 **[[Visual Studio]] [#a19e049f] ***コマンドライン [#rba1c1aa] [[Visual Studio]]をコマンドラインで呼び出してビルドできます。 devenv /build release solution.sln -devenv は[[Visual Studio]]のEXE -*.bat化も容易、多くの要件にはこちらで対応可能です。 -参考情報 --VS .NET と VSS を使用したチーム開発 - 第 5 章 ビルド プロセス~ http://msdn.microsoft.com/ja-jp/library/ms998223.aspx --Visual Studioのソリューションをコマンドラインでビルドする方法 ラシカル開発記~ http://www.lasical.com/2011/03/11/1211/ --Devenv コマンド ライン スイッチ~ http://msdn.microsoft.com/ja-jp/library/xee0c8y7.aspx ***ビルド・イベント [#z0e3574c] -「ビルド前のイベント」 -「ビルド後のイベント」 がある。 例えば、プロジェクト(プロジェクト・ファイル(*.csproj *.vbproj))に、~ [ビルド後のイベント]を仕掛けて、プロジェクトのバイナリ出力を配置できます。 **[[MSBuild>#u295c468]]/[[NAnt>#n1771802]] [#f5f2dc01] -ミッション:ビルドを自動化セヨ! - @IT~ http://www.atmarkit.co.jp/fdotnet/nagile/nagile04/nagile04_01.html -.NETビルド・エンジン「MSBuild」使いこなし術 - @IT~ http://www.atmarkit.co.jp/fdotnet/special/msbuild01/msbuild01_01.html --[[MSBuild>#u295c468]]がビルド・プロセスの統一と自動化を目標としているのに対し、 --[[NAnt>#n1771802]]は最終的には(ビルド・プロセスだけでなく)~ アジャイル開発のプラクティス(=実践項目)の1つである~ 「[[継続的インテグレーション>CI]]」を実現することを目的としている。 >そのため[[NAnt>#n1771802]]の方が、例えばテスト・ツール「[[NAnt>#n1771802]]」の呼び出しが標準機能だけで~ 可能なことなど、あらかじめ用意されているタスクが[[MSBuild>#u295c468]]よりも豊富である。 ***[[MSBuild]] [#u295c468] -nmakeツールの(機能的な意味での).NET版 -Visual StudioプロジェクトをIDE無しでビルドできる。 ***NAnt [#n1771802] 2012年あたりで開発が停止している模様。 -NAntを活用して開発時の作業を自動化する(1-4):CodeZine~ http://codezine.jp/article/detail/354 --ビルドツールとは、アプリケーションの構築に必要なソースコードの~ コンパイルを容易にしたり、定型作業を自動化したりできるツールです。 --NAntの最大の魅力は呼び出せる機能の多さにあります。~ この機能のことをNAntでは「タスク」と呼んでいます。 **NuGet [#b6fac5f7] .NET 向けのパッケージ管理システムで、~ ビルド時に、package.configを見てパッケージを復元する。 以下、復元スクリプトの例 ..\nuget.exe restore "Frameworks\Infrastructure\AllComponent.sln" *参考 [#tb43989a] Open棟梁はdevenvやMSBuildを使用した~ ビルド バッチ(*.bat)を提供して、~ ビルドタスクの自動化を行っている。 https://github.com/OpenTouryoProject/OpenTouryo/tree/develop/root/programs/CS ---- Tags: [[:テスト]], [[:デバッグ]], [[:デプロイ]], [[:CI]], [[:.NET開発]]