mar*_*c_s 18 tfsbuild post-build-event visual-studio tfs2010
在我继承的项目中,原始开发人员在他的Visual Studio项目中使用了许多后期构建事件来复制DLL和内部VS时的内容.
现在我正试图将这些东西转移到TFS 2010 Build系统,这引起了一些悲痛.
我希望能够创建一个新的"连续"项目配置,并在该配置中从Visual Studio中排除那些后期构建事件 - 但似乎这些调用不能根据您的项目配置进行配置....
有任何想法吗?有什么我可以检查知道我在TFS Build下运行然后只是跳过那些CMD文件?任何想法都会受到欢迎!
Giu*_*ian 26
我的方法是使用它来保护构建前或构建后的代码
IF "$(BuildingInsideVisualStudio)"=="true" (
......你的代码在这里......
)
该变量由Visual Studio自动定义,您无需更改构建定义.
har*_*357 14
我使用类似的方法来做到这一点.我在每个项目的构建后步骤中添加以下内容:
if '$(TeamBuild)'=='True' exit 0
Run Code Online (Sandbox Code Playgroud)
然后在配置构建定义时,我只需添加:
/p:TeamBuild=True
Run Code Online (Sandbox Code Playgroud)
...到MSBuild参数.
这使我可以灵活地保留项目和构建定义中的所有配置.
如果在团队构建服务器上设置环境变量,然后可以在检查构建步骤中检查该环境变量,那么该怎么办?如果设置了环境变量,您将知道跳过执行后构建步骤的命令文件,因为您知道您在TFS构建下运行.
您可以将所有后期构建步骤合并到一个脚本中,然后只检查该脚本开头的环境变量.
或者您可以以相反的方式执行此操作并将检查构建到TFS构建脚本中.您可以在这里参考如何检查TFS构建中的环境变量.
所以在你的TFS构建脚本中,你会有类似的东西:
<RunScripts Condition=" '$(RunScriptsServerVar)' != '' ">
the environment var is NOT set, so run your scripts since we aren't in
a TFS build
</RunScripts>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12862 次 |
| 最近记录: |