MSBuild简解2011-08-29 博客园 Zealic从最原始的编译器,逐渐到 Shell 命令组合、Make工具,到现在的针对性 Build 工具,Rake、Ant、MSBuild,甚至于 PowerShell 这样的工具;都为我们 软件开发以及系统管理做出了贡献,我甚至不能想象几十年前使用编译器生成程 序的复杂步骤(其实就是把 makefile 拆开,相当恐怖)。探讨 Make、Ant 以及 MSBuild 无太多意义,甚至从纯技术和扩展性上来说, 我认为 MSBuild 弱于 NAnt,但是软件并不是这么简单,之所以深研 MSBuild, M$ 作为后盾让人信任的无奈。本文主要讲述 MSBuild 的基本概念,以及如何使用它辅助开发。首先我们来看一个最简单的 Build:<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Welcome>Hello MSBuild! </Welcome>
</Property>
<Target Name="Build">
<Message Text="$(Hello)" />
</Target>
</Project>
假设我们把这个文件保存到 D:uild.proj ,然后在命令行切换工作目录到 D:,运行 msbuild.exe(msbuild 默认直接运行当前目录下的 *.sln 或 *.*proj 文件),则命令行将会显示详细的 build 信息,当然也包括我们的消息 "Hello MSBuild!" 。概念ProjectProject 代表一个 Build,有属性 ToolsVersion、DefaultTargets、 InitialTargets,分别为 依赖的 MSBuild 版本、默认 Build 目标,初始化目标 。