5

私たちは、vb/c# .net で開発された中規模の Windows アプリケーションを維持しています。今でも、このアプリのビルドとデプロイのプロセスは手動です。私はまだ知識がないMSBuildを使用して、このプロセスを自動化することを決意しています。

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

私の目標はすべてうまく設定されました。私は自分のプロセスを達成するために MSBuild リソースを Web で探し始めましたが、多くのことを見て混乱している可能性があります。私の単純なシナリオの開始方法と開始場所についてのポインタまたは適切な説明が必要です。助けていただければ幸いです。

4

2 に答える 2

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
デプロイを呼び出す

もちろん、CruiseControl.NETなどのサーバーを実行して、ビルドのステータスと履歴にWebインターフェイスを提供することをお勧めします。

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

Configurationプロパティを使用して構成を制御できます(上記を参照)。*。*projファイルを開くと、PropertyGroup要素に気付くでしょう。これらは、/pargを使用してコマンドラインから設定できます。

2つの引数の仕様は次のとおりです。

/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\
于 2009-05-31T06:59:50.367 に答える
1

これは、MSBuild、継続的インテグレーション、およびCuriseControl.NETに関する多くの優れた情報を含む優れたガイドです。始めるのに間違いなく良い場所です。

于 2009-05-31T07:10:01.470 に答える