今週はmsbuildに興味があります。非常に複雑なビルドスクリプトをたくさん用意しています。どれくらいのことができるのか私を驚かせてくれます。msbuildは、.NETプログラミングの隠された機能です。msbuildの隠し機能
質問に答えが必要なSOの慣習では、数日または1週間で、最も有用で最もクールな隠れた特徴を受け入れたものとしてマークします。便利なの
let bestAnswer suprise slick useful = (surprise + slick + 2*useful)
定義:パッケージ(zipファイル)のウェブサイトとユーティリティ、CC.NET統合、打ち上げ試験(UT +セレン)は、データベースの構築:私は既存のMSBuildのスクリプトを更新しています。 VMWare仮想サーバーに展開する、連鎖ビルドする(すぐに速くビルドする、遅いテストをキューに入れる)あなたが外部ライブラリ(MSBuild community tasksのような)を参照する場合は、それを取得する方法を知っていいです。
私がすでに見つけたいくつかのmsbuildの驚き。
- こんにちは、Messageのタスクとプロパティを使用しています。
- 非常に複雑なサーバー製品のインストーラとしてmsbuildを使用します。 MSB community tasks管理されたIISサーバーのセットアップ。 WriteLinesToFileとXmlUpdateタスクは、サーバー固有の構成ファイルを作成しました。 MSIで作業していれば、インストールのためにMSIより優れていることが分かります。
- 初心者の場合:CSProjファイルとVbprojファイルはmsbuild "proj"ファイルと同じです。直接編集するには:csprojまたはvbprojをアンロードし、プロジェクトを右クリックして[編集]を選択します。これは、ビルド前のビルド/ビルド後のイベントを扱うよりも、より良く、より強力です。
- MSBuildには、一般的な.NETインストールが付属しています。その他の高度なツールとは異なり、完全にクリーンなサーバー/デスクトップ上で使用できます。私はそれを書いた後、ここで
は、MSBuildのHello Worldの ですが、私はMSDN hello worldを見つけました。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build;Test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Who>World</Who>
</PropertyGroup>
<Target Name="Hello">
<Message Text="Hello, $(Who)" Importance="high" ></Message>
</Target>
<Target Name="Build" DependsOnTargets="Hello"/>
<Target Name="Test"/>
</Project>
質問より多くの議論があるので、これはコミュニティ・ウィキであるべきですか? – Naaff
OK。残りの「隠れた機能」のように見えます。コミュニティwikiです。 – Precipitous