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上增加assemby版本';你变了? 脚本_Tfs_Build_Msbuild_Continuous Integration_Tfsbuild - Fatal编程技术网

如何仅在TFS上增加assemby版本';你变了? 脚本

如何仅在TFS上增加assemby版本';你变了? 脚本,tfs,build,msbuild,continuous-integration,tfsbuild,Tfs,Build,Msbuild,Continuous Integration,Tfsbuild,我希望通过将变更集编号附加到程序集版本来自动控制tfs 2013 build server上的程序集版本。棘手的要求是,我只想更改自上次构建以来已更改的那些程序集的版本(项目目录中的任何源文件都已更改) 理想情况下,我希望避免定制xaml工作流或在tfs中安装任何插件 我所拥有的 到目前为止,我已经定制了build.proj(msbuild项目),在这里我从version.txt(例如2.5.0)读取版本,并在末尾附加变更集编号。然后替换每个AssemblyInfo中的AsseblyVersio

我希望通过将变更集编号附加到程序集版本来自动控制tfs 2013 build server上的程序集版本。棘手的要求是,我只想更改自上次构建以来已更改的那些程序集的版本(项目目录中的任何源文件都已更改)

理想情况下,我希望避免定制xaml工作流或在tfs中安装任何插件

我所拥有的 到目前为止,我已经定制了build.proj(msbuild项目),在这里我从version.txt(例如2.5.0)读取版本,并在末尾附加变更集编号。然后替换每个AssemblyInfo中的AsseblyVersion属性,构建解决方案,创建nuget包并构建它们


显然,我需要将程序集版本存储在某个地方。它应该在源代码管理中吗?还是生成服务器上的某个本地缓存?基本上,我的私有nuget服务器上也有这些信息,因为nugets包含版本,因此也包含变更集编号

我需要什么 如何仅更改自上次生成以来已更改的程序集的版本?
我需要任何建议,非常感谢。

您需要使用构建脚本来实现您想要的。您可以检查并将自己的逻辑添加到脚本中,以比较最新版本和以前版本之间更改的项目,然后确定在生成过程中更改的程序集。

您需要使用生成脚本来实现所需的功能。您可以检查并将自己的逻辑添加到脚本中,以比较最新版本和以前版本之间更改的项目,然后确定在生成过程中更改的程序集。

我在一系列文章(,和)中详细介绍了MSBuild/TFS技术。有一些缺点,最重要的是程序集的版本号保存在构建服务器上;如果您丢失了机器,您必须手动恢复数字


它之所以能够工作,是因为MSBuild足够聪明,可以只重建更改的内容,您只需要在过程中找到合适的挂钩。

我在一系列文章(,和)中详细介绍了MSBuild/TFS技术。有一些缺点,最重要的是程序集的版本号保存在构建服务器上;如果您丢失了机器,您必须手动恢复数字


它之所以有效,是因为MSBuild足够聪明,可以只重建更改的内容,您只需要在过程中找到合适的挂钩。

您的解决方案下有多少个项目?10-20个。未来可能会增长您的解决方案下有多少个项目?10-20个。它将来可能会增长