当前位置:  开发笔记 > 开发工具 > 正文

使用CruiseControl.net进行程序集版本控制

如何解决《使用CruiseControl.net进行程序集版本控制》经验,为你挑选了2个好方法。

我已经为一些与我相关的项目设置了CruiseControl.net.因此,CruiseControl中的单个项目标签具有多个SVN检出,然后一堆msbuild任务编译所有单独的sln文件.

我需要在完成此构建时更新所有解决方案的程序集版本.但是,因为我没有使用nant而不使用MSBuild proj文件,所以我不确定如何获取它.

我想知道我是否遗漏了一些明显的东西.我只需要一个可以通过在ccnet.config文件中进行适当更改来实现的解决方案,而无需我对csproj文件进行更改.

谢谢,Anj



1> si618..:

如何在项目中使用共享的AssemblyInfo?

这就是我们为产品所做的事情:

每个项目都有自己的AssemblyInfo.cs - 它包含AssemblyTitle,AssemblyDescription,Guid和该程序集特有的其他属性.

每个项目还有两个其他程序集信息文件,请注意这些文件是作为链接而不是直接文件添加的(VS - >添加 - >现有文件 - >添加为链接(添加后的小向下箭头))

这两个链接文件:

    CompanyAssemblyInfo.cs - AssemblyCompany,AssemblyCopyright,AssemblyConfiguration,CLSCompliant,SecurityPermission等.基本上我们想要的所有程序集都是标准的.

    ProductAssemblyInfo.cs - AssemblyProduct,AssemblyVersion,AssemblyFileVersion.这允许我们将同一版本推送到一个文件中的所有程序集.

我们的CI和发布过程更复杂,但这是它的核心 - 控制产品版本的单点(文件)(程序集,安装程序,一切!)



2> Josh Kodroff..:

有一项任务就是要做你正在询问的事情.

您需要安装此处的MSBuildCommunity任务.

然后,你可以创建这样的东西:


$(CCNetLabel)



    

请注意,您可以在ccnet.config文件中设置内部版本号前缀,以便程序集编号为2.1.0.x,其中x是内部版本号.这就是我们在工作中编写版本号的方式.

您仍然需要将默认的AssemblyInfo.cs文件作为构成解决方案的每个项目的一部分.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有