【发布时间】:2016-03-06 12:37:22
【问题描述】:
在我工作的地方,我们不遗余力地在 Fake 中创建了一个构建脚本,它可以做很多事情,这样开发人员就可以在提交之前检查 TeamCity 服务器上会发生什么。从命令行运行时很棒,但我真的很希望能够在从 Visual Studio 中进行构建时调用该脚本。
根据我自己的研究,我没有找到任何当前允许这样做的东西,也没有找到任何可以满足我要求的 VSIX。我目前的假设是,如果我想继续这种想法,我需要自己编写一个 VS 扩展。
这里有没有人知道任何现有的 VSIX,或任何改变构建默认行为的方法?
作为参考,目标VS是2015年。
【问题讨论】:
-
您可以在项目文件中覆盖构建目标,它会执行您放入其中的任何操作,例如调用您的 Fake 构建脚本。从您提供的信息来看,这听起来比摆弄扩展并尝试将它们放在所有开发人员的机器等上要容易得多
-
鉴于假脚本调用 msbuild,这不会让我陷入递归循环失败吗?
-
不是如果它在另一个项目上调用 msbuild,如果在同一个项目上它会调用例如 'msbuild myproject /target:ActualBuild' 其中 ActualBuild 是执行实际构建的目标
-
啊,聪明。只是我不想在 130 个解决方案和 500 多个项目中实施。我宁愿攻击 20 台开发者机器。 ;-)
-
@stijn 如果我正确理解了您的解决方案,那么它将无法在 VS2013 上运行,如this SO thread 中所述。但是,VS2015 应该没问题(我自己没有测试过),如here 所示。 编辑: 讨论递归构建相同项目但针对不同目标的情况。
标签: visual-studio build msbuild build-process