TFS 2010-CI触发器仅适用于受影响的工作区解决方案

TFS 2010-CI触发器仅适用于受影响的工作区解决方案,tfs,continuous-integration,build-definition,Tfs,Continuous Integration,Build Definition,我有一个TFS2010构建定义及其XAML工作流逻辑等 这是一个连续集成def,它与同一服务器/工作区文件夹中包含的多个解决方案相关联 我希望它能够编译和运行测试,但只需要解决受影响的工作区。 更清楚地说,例如:我签入一个解决方案的.cs文件;我希望定义只编译具有更改的解决方案,并放弃其他解决方案,除非签入更改集涉及这些解决方案中包含的文件 我对增量构建和增量代数进行了一些研究(这可以通过构建定义的“Clean Workspace”参数实现),但它仍在编译所有解决方案 有没有办法通过更改XAML

我有一个TFS2010构建定义及其XAML工作流逻辑等

这是一个连续集成def,它与同一服务器/工作区文件夹中包含的多个解决方案相关联

我希望它能够编译和运行测试,但只需要解决受影响的工作区。 更清楚地说,例如:我签入一个解决方案的.cs文件;我希望定义只编译具有更改的解决方案,并放弃其他解决方案,除非签入更改集涉及这些解决方案中包含的文件

我对增量构建增量代数进行了一些研究(这可以通过构建定义的“Clean Workspace”参数实现),但它仍在编译所有解决方案

有没有办法通过更改XAML工作流或任何特殊参数来实现这一点


谢谢,

好的,您必须将这些解决方案拆分为不同的版本。触发生成定义时,它将处理要生成的所有项。现在,解决方案应该跳过最新的项目,但解决方案本身将被处理。

Yep;我想这是唯一的办法:我找不到一个简单的方法来实现这一点。请将您的答案标记为有效答案,谢谢。了解解决方案已更改的唯一方法是构建解决方案,Tfs不了解解决方案的内容。由于映射的工作区路径在源代码管理中发生了更改,签入触发生成时。Clean Workspace参数会影响msbuild处理进程的方式,如果有以前的输出,它将跳过不需要编译的部分,就像localy studio一样。唯一可能的开箱即用链接是将解决方案拆分为单独的构建,并将其路径与工作区路径相匹配。否则,您将需要添加自定义逻辑来过滤解决方案。