自定义 MSBuild 任务

  • Hartmut Wilms
  • 张逸

2008 年 2 月 22 日

话题:.NET语言 & 开发

自从微软在.NET Framework 2.0 版本中集成了MSBuild 构建系统,.NET 框架就与 Visual Studio 项目完全兼容了。Bart de Smet 演示了如何通过自定义任务来扩展 MSBuild。

虽然一系列内置的 MSBuild 任务能够满足开发者的大多数需求,然而对于某些领域——特别是部署、与版本控制系统的集成、服务器配置、IIS 网站以及 ActiveDirectory 任务,内置的 MSBuild 任务仍然是鞭长莫及。为了解决这些领域中的大部分问题,MSBuild 社区任务项目SDC 任务库提供了大量的 MSBuild 任务,并且这两者均为免费使用。如果仍有缺失,那么你就只好寻求自助了。

Bart de Smet演示了如何创建调试自定义的 MSBuild 任务。他的第一篇文章介绍了如何创建自定义任务,第二篇文章则模仿了食谱的方式,对自定义任务的调试给与了关注。据 Bart 的介绍,开发一个自定义任务可以分为 8 步:

第 1 步:创建一个类库项目

第 2 步:导入引用

第 3 步:实现任务框架

第 4 步:任务的参数化

第 5 步:实现任务的功能

第 6 步:创建调试

第 7 步:设置断点并运行

第 8 步:高级调试

本质上,调试是在自定义 MSBuild 任务的项目属性中进行配置的:项目的启动行为(Start Action)必须设置为可执行的 MSBuild(它应该匹配项目所引用的 MSBuild 程序集),同时,启动选项必须包含一个用于测试 MSBuild 项目的文件路径。

MSBuild 团队博客提供了更多的信息与帮助,而Dan Moseley 与 Xin Yan 撰写的“MSBuilde 功能大全以及未来的发展”一文,非常好的总结了 MSBuild 的特性、概念和在.NET 3.5 中的新文件格式特性,以及未来的发展方向。

查看英文原文:Custom MSBuild Tasks
.NET语言 & 开发