【问题标题】:Best practice to integrate custom build tasks in Visual Studio 2008 Project/Solution在 Visual Studio 2008 项目/解决方案中集成自定义构建任务的最佳实践
【发布时间】:2010-11-20 12:41:27
【问题描述】:
为了增加我们构建/发布过程的自动化部分,我想在我们的 Visual Studio 项目中集成一些自定义任务。组织此类解决方案的最佳方式是什么?主要问题是:如果我将实现任务的项目添加到解决方案中,则这些任务会被 Visual Studio 实例缓存。所以重建不起作用,因为任务项目的输出程序集不能被覆盖。
我可以将任务放在单独的解决方案中。似乎是最好的(唯一的?)选项,但我不喜欢维护两个解决方案。这使得持续集成更加复杂。
有什么提示吗?您如何管理具有项目特定自定义构建任务的解决方案?
【问题讨论】:
标签:
visual-studio
msbuild
build-automation
【解决方案1】:
如果自定义构建任务引用了解决方案中包含的某些文档,那么您可以制作自定义构建规则文档,在您的解决方案中引用它并在属性中为每个文档指定自定义构建名称(这将使您免于如果使用 $(InputPath) 等宏正确指定了规则,则为每个文档编写命令、依赖项和所有内容。)
如果自定义构建任务涉及到一些与解决方案中的文档无关的操作,您可以将它们指定为需要它的解决方案中项目的构建后事件中的命令。另一种选择是在解决方案中添加一个新的虚拟项目,该项目仅具有此构建后事件,依赖于所有其他项目(因此只有在构建所有其他项目后才会调用构建后任务)。