Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS-如何将生成定义设置为基于工作区更改生成,而不是将文件下载到工作区?_Tfs_Build_Tfsbuild - Fatal编程技术网

TFS-如何将生成定义设置为基于工作区更改生成,而不是将文件下载到工作区?

TFS-如何将生成定义设置为基于工作区更改生成,而不是将文件下载到工作区?,tfs,build,tfsbuild,Tfs,Build,Tfsbuild,我有关于CI构建的解决方案。这很有效 当开发人员的签入发生更改时,将生成解决方案,但仅针对该解决方案的更改 如何使生成定义基于对解决方案之外的其他文件夹更改的更改生成 是的,我可以在“工作区源”选项卡中添加工作区。但这意味着所有代码都会在每个构建中下载 我们的解决方案有十几个依赖项。如果这些依赖项中的任何一个发生变化,我想触发一个构建。我们根本不需要依赖源代码下载到构建工作区。那是毫无意义的 是的,我们在TFS中有一个文件夹用于Nuget软件包。我们在构建感谢TFS时自动将其签入 我可以将Nug

我有关于CI构建的解决方案。这很有效

当开发人员的签入发生更改时,将生成解决方案,但仅针对该解决方案的更改

如何使生成定义基于对解决方案之外的其他文件夹更改的更改生成

是的,我可以在“工作区源”选项卡中添加工作区。但这意味着所有代码都会在每个构建中下载

我们的解决方案有十几个依赖项。如果这些依赖项中的任何一个发生变化,我想触发一个构建。我们根本不需要依赖源代码下载到构建工作区。那是毫无意义的

是的,我们在TFS中有一个文件夹用于Nuget软件包。我们在构建感谢TFS时自动将其签入

我可以将NugetPackage工作区添加到解决方案的工作区列表中,但这将导致每个依赖项的每个版本都下载到构建工作区中

如何在生成定义的工作区列表中未列出的更改上触发生成

顺便说一句,我们正在使用TFS 2012


我希望掩蔽特性能够实现这一点,但如果它被掩蔽,自动构建不会触发。仅当工作区文件夹设置为活动时,自动生成才会触发。这也意味着下载同一文件夹中的每个NugetPackage

它无法在生成定义的工作区列表中未列出的更改上触发CI生成

还有几件事需要知道

确保触发器中包含的文件夹也包含在存储库选项卡上的映射中 工作空间映射。 作为一种解决方法,您可以将其设置为false,这样就不会每次都获得其他未更改的文件

如果构建过程不需要干净的工作区或 在存储库中,您可以显著减少 运行生成,将此参数值设置为False


即使是Team Foundation Server 2017还没有解决这个问题吗?WowUnfortute管理层坚持清洁的工作空间是的。对我来说,微软为什么要将这两条不连续的信息加上边框是毫无意义的。监视文件夹更改的需要与生成期间从该文件夹获取最新文件的需要无关。我真的希望微软能在某个时候把这两条信息分开。这两种情况都需要相互独立。有很多人在构建过程中使用第三方工具将版本控制文件下载到他们的构建服务器上,而不在监视范围内。@user5855178我想知道,如果依赖项的源代码没有下载到代理工作空间,如何构建项目/解决方案?你可以提供样品来解释它。