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

如何管理存储在SVN中的AssemblyInfo.cs,并随每个构建进行更改

如何解决《如何管理存储在SVN中的AssemblyInfo.cs,并随每个构建进行更改》经验,为你挑选了2个好方法。

我有以下场景:应用程序是通过IDE和构建脚本构建的.构建脚本用于初始设置(获取依赖项,设置环境),生成二进制文件以及持续集成过程.我希望二进制文件具有AssemblyFileVersion作为构建的月和日,以及修订版的svn修订版.这会导致AssemblyInfo.cs在每个修订版本上更改,这会在源代码管理日志中产生大量噪音.我可以忽略这些文件,但是作为设置的一部分,我需要重新生成这些文件.

我想知道是否有人有任何其他想法,或者你在这种情况下做了什么.



1> Bruno Lopes..:

现在,我已经找到了安迪·怀特回答的解决方案:

AssemblyInfo.cs由来自http://msbuildtasks.tigris.org/的AssemblyInfo任务生成,并保存在源控制树之外.

版本是[major].[minor].[month] [day].[svn revision].主要和次要是手动设置,其他由构建脚本管理.该社区任务包包括获得工作拷贝SVN版本和日期需要双方的任务.

不足之处:

当有人签出新副本时,必须运行构建脚本的安装目标,否则Visual Studio会抱怨丢失文件.这是我将来要删除的问题.



2> Andy White..:

我认为AssemblyInfo.cs的一个常见做法是在构建过程中动态生成它,而不是保留静态文件.

通过生成,您可以使用任何您想要的任意/可配置设置.

我相信NAnt有一个为此目的的任务.我猜测MSBuild也有类似的东西.或者您可以编写自定义文件生成脚本并使用它将自定义AssemblyInfo.cs推送到您的构建中.

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