BuildVersion中未反映的内部版本号增量

时间:2010-06-04 18:06:06

标签: c# build-process assemblies

我浏览了一些关于自动递增内置数字的讨论,但是由于青年人的不耐烦决定自己动手并重新发明轮子。我知道可能有更好的方法来解决这个问题(我肯定会调查),但我的问题更多地围绕着大会和/或版本类。

我的方法是编写一个单独的exe(BuildIncrementer),它接受文件名的命令行参数,对内容进行正则表达式匹配以获取[assembly: AssemblyVersion...]字符串,进行我想要的修改(增加内部编号等),然后将内容写回文件。这种方法可以按原样运行。

我做的下一件事就是在我想要使用它的项目中,我设置了一个预构建命令行,它只是在该项目的AssemblyInfo.cs文件中执行BuildIncrementer.exe的命令。这也有效,可根据需要更新装配信息。

问题出现在我运行项目时,会发送一封包含当前版本的电子邮件,该邮件是使用Assembly.GetExecutingAssembly().GetName().Version.ToString()获得的。但是,显示的版本是之前的版本。当我的AssemblyInfo.cs说[assembly: AssemblyVersion("1.0.2.49667")]时,我收到的是1.0.1.45660,这是之前的版本。

任何人都有任何想法,为什么会这样?

1 个答案:

答案 0 :(得分:0)

我认为你的exe在你的整个构建过程完成(或开始)之前运行,因此反映了一个旧版本......也许