2013-07-10 162 views
3

我们有一个项目使用了几个程序集。版本控制软件无需编辑大量配置文件

是否有一种简单的方法来同时处理所有这些程序集的版本?

我们有像

major.minor.patch.revision 

大部分的时间在发布一个版本,仅仅是次要版本得到了改变。

一个关键部分是修订版,它是版本库中的文件版本。 目前我认为这无法为所有装配使用一个AssemblyInfo.cs。

如何避免更改所有这些程序集的AssemblyInfo.cs?

+0

你有构建/发布自动化工具吗?自动增加版本号很容易添加到[TeamCity](http://stackoverflow.com/questions/14276498/increment-the-build-number-automatically)或我公司的产品[BuildMaster](http:// inedo .com/buildmaster)(特别是Write Assembly Versions动作)。 –

+0

目前我不使用一个。这似乎解决了这个问题。 –

+0

@KarlHarnagy认为这是要走的路。你能否提供答案接受? –

回答

3

如果你希望所有的组件都具有的相同版本,你可以为你的图书馆之一,并add it as a link到其他项目中的版本一个cs文件。

这将导致单个文件成为所有三个程序集的一部分,并保持所有三个程序集的版本不变。

+0

非常感谢您的回答!是什么让这不可能是版本的最后一部分,这是版本库中的版本。这应该是存储库中的一个,而不是所有组件中的一个。 –

+0

@MareInfinitus是的 - 如果你这样做,那很困难。生成后事件,也许? –

1

我发现当你要创建构建工件时,这是最容易做到的。从过程的角度来看,你会: 1.标记/标签来源 2.获取通过标记/标签 3.编辑集信息文件 4.构建,测试等 5.捕获构建神器

这是所有很容易在BuildMaster(免责声明做的事:我的Inedo为一组动作的工作在这种情况下它会使用做一个获取最新动作后写组件版本行动只是

你可以看到使用这种模式。很多在specifics libraries。例如,当我们build ProGet时,你会注意到在比较目录changings,并且在运行msbuild之前。

+0

听起来很有意思。将不得不安装一些CI解决方案并检查BuildMaster。 –