首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AssemblyInfo.cs应该放在版本控制中吗?

AssemblyInfo.cs应该放在版本控制中吗?
EN

Stack Overflow用户
提问于 2009-06-10 21:41:24
回答 4查看 7.4K关注 0票数 20

我有一个使用CruiseControl的自动构建系统。我使用SvnRevisionLabeller来获取要使用的版本字符串。有了这个字符串,我就可以使用nant来更新AssemblyInfo.cs,这样当我构建它时,它就拥有了正确的构建字符串。我还可以使用这个CC标签来标记subversion存储库。

所以一切都是对齐的

CCNet Build labelExecutable (程序集信息)版本控制(subverson标记)

现在,我遇到一个问题是,如果我想要从存储库中重建一个旧映像。由于AssemblyInfo.cs不受版本控制,而是一个生成的文件,所以当我现在尝试构建时,版本控制信息将不会与使用CruiseControl构建此版本的存储库时相同。我希望能够生成完全相同的映像,无论它是在CC构建期间构建的,还是在以后从Subversion签出时构建的。

我知道通常不推荐这样做,但我是否应该在每次构建后都签入assemblyInfo.cs文件,这样当我随后从svn签出进行构建时,就会使用正确的版本信息?

谢谢,利亚姆

EN

回答 4

Stack Overflow用户

发布于 2009-06-12 11:11:57

要么根本不对AssemblyInfo.cs进行版本化,要么将它们的“开发人员版”放到存储库中,并在构建后让CruiseControl.Net svn还原它们(我这样做是为了让开发人员工作站上的构建可以从从CruiseControl.Net下载的“官方”版本中轻松地消失)。

至于稍后重新生成相同的构建标签-您已经必须手动调用MSBuild / NAnt进行重建,只需将CCNetLabel设置为适当的值传递给它,您将获得与从CruiseControl.Net (MSBuild:/p:CCNetLabel=1.4.2.333,NAnt:-D:CCNetLabel=1.4.2.333)调用的构建相同的程序集版本。

票数 7
EN

Stack Overflow用户

发布于 2009-07-24 19:38:02

我使用一个CommonAssemblyInfo.cs文件,我在每个项目中都添加了一个链接。

我在这个文件中唯一的属性是AssemblyFileVersion,并让CC.Net / Msbuild在每次构建时更新版本。

确保任何包含CommonAssemblyInfo.cs的项目在AssemblyInfo.cs中没有重复的属性。

如果您查看CC.Net源代码,您将看到它们是如何构建和配置的。

票数 7
EN

Stack Overflow用户

发布于 2009-06-10 21:46:45

我总是把它登记在案。事实上,我相信这是Team System源代码管理的默认行为。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/978297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档