【发布时间】:2009-02-11 17:06:30
【问题描述】:
在我的上一个项目中,我们使用 MSBuild 作为脚本语言。 (是的,真的!)我们还为在 C# 中更有意义的部分编写了数百个自定义 MSBuild 任务。 (我什至写了一个 MSBuild 任务来生成 MSBuild 任务的样板代码。是的,它消耗了自己。)
虽然我不建议其他人采用相同的方法,但我发现其中一个非常有用的东西是内置的依赖管理。正如您所期望的,表达依赖关系并让 MSBuild 负责满足它们很容易。例如,我们软件中的几乎每一步都需要将一组特定文件复制到特定位置。你可以很容易地写:
Step1: CopyFiles
Step2: CopyFiles, Step1
当你执行Step2时,它只会复制一次文件。
构建和满足依赖关系树在软件中很常见。我希望 MSBuild 团队能够使用他们的依赖管理代码,将其与 MSBuild 分离,并将其移至任何人都可以使用的 .NET Framework。除此之外,您认为以这种方式管理依赖项的最佳选择是什么?
【问题讨论】:
标签: .net msbuild dependency-injection dependency-management refix