自从微软在.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
评论