|
|
1
45
CruiseControl.net 1.4.4现在有一个 Assembly Version Labeller 生成与.NET程序集属性兼容的版本号。 在我的项目中,我将其配置为:
(Caveat:
然后使用我的msbuild项目 MSBuildCommunityTasks.AssemblyInfo :
为了完整起见,使用nant而不是msbuild的项目也同样容易:
|
|
2
14
你基本上有两个选择。要么编写一个简单的脚本,该脚本将从 svn.exe info--修订头 要获得版本号(然后生成assemblyinfo.cs几乎是直接的),或者只使用ccnet的plugin。这里是:
我更喜欢第一个选项,因为它只有大约20行代码:
|
|
|
3
4
我已经编写了一个nant构建文件,它处理解析SVN信息和创建属性。然后,我将这些属性值用于各种构建任务,包括在构建上设置标签。我将这个目标与Lubos Hasko提到的SVN版本Labeller结合使用,效果很好。
|
|
|
4
4
我发现
this
谷歌代码项目。这是
这个
现在把它传给
|
|
|
5
4
如果你喜欢在
|
|
|
6
3
我目前正在通过预构建执行任务“手动”执行,使用我的 cmdnetsvnrev 工具,但如果有人知道更好的ccnet集成方式,我会很高兴听到:—) |
|
|
7
3
找到了使用msbuild自动生成assemblyinfo.cs的上述技术。将很快发布样本。 |
|
|
8
3
我不确定这是否适用于ccnet,但我已经创建了一个 SVN version plug-in 对于 Build Version Increment codeplex上的项目。这个工具非常灵活,可以设置为使用SVN版本为您自动创建版本号。它不需要编写任何代码或编辑XML,所以是的! 希望这有帮助! |
|
|
9
2
我的方法是使用上述ccnet插件和nant echo任务生成
echo任务只输出我给文件的字符串。 如果存在类似的msbuild任务,则可以使用相同的方法。这是我使用的小南特任务:
试试这个:
请注意,我对msbuild不是很熟悉,因此我的脚本可能不会开箱即用,需要更正… |
|
|
10
2
基于skolimas解决方案,我更新了nant脚本以同时更新assemblyfileversion。感谢斯科利玛的密码!
|
|
|
11
2
不知道我在哪里找到的。但我在网上“某处”找到了这个。 这将在生成之前更新所有assemblyinfo.cs文件。 很有魅力。所有我的exe和dll都显示为1.2.3.333(如果“333”当时是SVN版本)(assemblyinfo.cs文件中的原始版本列为“1.2.3.0”)。 $(projectdir)(我的.sln文件所在的位置) $(svntoolpath)(指向svn.exe) 是我的自定义变量,它们的声明/定义在下面没有定义。 http://msbuildtasks.tigris.org/ 和/或 https://github.com/loresoft/msbuildtasks 具有(fileupdate和svnversion)任务。
编辑—————————————————————————————————————————————— 当您的SVN版本号达到65534或更高时,上述可能会开始失败。 见: 这是解决方法。
结果应该是: 在Windows/Explorer/文件/属性中。 程序集版本将为1.0.0.0。 如果333是SVN版本,则文件版本将为1.0.0.333。 |
|
|
12
1
小心。用于内部版本号的结构很短,因此您有一个上限来限制您的版本可以达到多高。 在我们的例子中,我们已经超过了限制。 如果尝试输入内部版本号99.99.99.599999,则文件版本属性实际上将显示为99.99.99.10175。 |
|
|
Sandeep · Cruisecontrol.net中的条件参数 14 年前 |