在Visual Studio 2008项目/解决方案中集成自定义生成任务的最佳实践

时间:2009-08-18 08:48:44

标签: visual-studio msbuild build-automation

为了增加构建/发布过程的自动化部分,我想在Visual Studio项目中集成一些自定义任务。组织此类解决方案的最佳方式是什么?主要问题是:如果我将实现任务的项目添加到解决方案中,那么任务将由visual studio实例缓存。因此重建不起作用,因为任务项目的输出程序集不能被覆盖。

我可以将任务放在单独的解决方案中。似乎是最好的(仅?)选项,但我不想保留两个解决方案。这使得持续集成变得更加复杂。

任何提示?如何管理具有项目特定自定义构建任务的解决方案?

1 个答案:

答案 0 :(得分:0)

如果自定义构建任务引用了解决方案中包含的某些文档,那么您可以制作自定义构建规则文档,在解决方案中引用它并为属性中的每个文档指定自定义构建名称(这将使您免除如果使用像$(InputPath)之类的宏正确指定规则,则为每个文档编写命令,依赖项和所有内容。)

如果自定义构建任务引用了与解决方案中的文档无关的某些操作,则可以在需要它的解决方案中将它们指定为项目的后构建事件中的命令。另一个替代方案是在解决方案中添加一个新的虚拟项目,该项目只有这个后期构建事件,依赖于所有其他项目(因此只有在构建了所有其他项目之后才会调用后构建任务)。 p>