2009-05-31 5 views
5

私たちは、仕事中にvb/c#.netで開発された中規模のWindowsアプリケーションを維持しています。それでも、このアプリのビルドとデプロイプロセスは手動です。私はまだ知識がないMSBuildを使ってこのプロセスを自動化することに決めました。Msbuild初心者のためのプライマーが必要

私たちのアプリは単純なビルド構造を持っています。すでに4つのソリューション(.sln)にグループ化されているプロジェクトのセットで、4つのslnsを順番に作成するだけです。そして、ディレクトリ(ビルドする最後のslnの一部である)をディレクトリに公開します。それだ。すでに30分の手動ビルド時間を費やしている単純なプロセスです。これは、手動での干渉なしに、少なくとも1/4の時間でmsbuildを使用して行うことができます。

私の目標はすべてうまくいきました。自分のプロセスを達成するためにMSBuildのリソースを探していましたが、多くのことを混乱させているかもしれません。私の単純なシナリオの開始方法と開始場所については、ポインタや説明が必要です。ヘルプは非常に感謝しています。

答えて

5

これは非常に簡単なスクリプトのように聞こえます。でも、バッチファイルはどうなる:

もちろん
msbuild \path\to\first.sln /p:Configuration=Release 
msbuild \path\to\second.sln /p:Configuration=Release 
msbuild \path\to\third.sln /p:Configuration=Release 
msbuild \path\to\fourth.sln /p:Configuration=Release 
call deploy

、はるかに優れたサーバを実行していることであろう、ビルド状況と歴史へのWebインターフェイスを提供しますCruiseControl.NETを、言います。

MSビルドでは、呼び出し元の2つの主なコントロールポイントがあります:ターゲットとそのプロパティ。ターゲットは、コンパイル、リソース、コンパイル、デプロイメントなどを対象としています。プロパティーは、ターゲットの構築方法を制御します。

設定プロパティ(上記参照)を使用して設定を制御できます。 *。* projファイルを開くと、PropertyGroup要素が表示されます。これらは、/p argを使用してコマンドラインから設定できます。

/target:<targets> Build these targets in this project. Use a semicolon or a 
       comma to separate multiple targets, or specify each 
       target separately. (Short form: /t) 
       Example: 
        /target:Resources;Compile 

/property:<n>=<v> Set or override these project-level properties. <n> is 
       the property name, and <v> is the property value. Use a 
       semicolon or a comma to separate multiple properties, or 
       specify each property separately. (Short form: /p) 
       Example: 
        /property:WarningLevel=2;OutDir=bin\Debug\ 
+0

ご返信ありがとうございます。しかし、私はどのように設定オプションを設定するのですか?たとえば、DEbugモードで私のアプリケーション設定projsをデバッグしますが、スクリプトは常にリリースモードでビルドする必要があります。あなたの素早い返信にもう一度感謝します。 – blntechie

+0

詳細を追加しました。それはすべて非常にシンプルでマスタリングに値するものです。 MS Buildは**多くの**を自動化できます。 –

1

Here's a good guide MSBuildの、継続的インテグレーションとCuriseControl.NETに大きな情報をたくさん持っている:ここでは

は2つの引数のための仕様です。間違いなく始めるには良い場所です。

関連する問題