我知道Visual Studio无法以人们期望的方式增加构建号,但它支持 随机化构建编号:

我的 AssemblyInfo.cs 文件包含:

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.*")]

然而,在我看来,它给出了非敏感结果(甚至允许Visual Studio的伪随机版本编号):alt text

因此,更简单的问题是:

我要做什么 AssemblyInfo.cs 使它起作用?

MSDN (为了清楚地进行重新格式化):

您可以指定所有值,也可以使用星号(*)接受默认的构建号,修订号或两者。例如,

[assembly:AssemblyVersion("2.3.25.1")]

指示2作为主要版本,3作为次要版本,25作为构建编号,1个作为修订号。一个版本号,例如

[assembly:AssemblyVersion("1.2.*")] 

指定1作为主要版本,2作为次要版本,并接受默认的构建和修订号。一个版本号,例如

[assembly:AssemblyVersion("1.2.15.*")]

指定1作为主要版本,2为次要版本,15作为构建号,并接受默认修订号。

默认构建号每天增加。默认修订号是随机的。

我认为该版本号是:

[1.0.0.0]
major.minor.build.revision

尽管

[1.0.0.*]
major.minor.build.[random]

[1.0.*]
major.minor.[daynumber].[random]
有帮助吗?

解决方案

我99%肯定您遇到的问题是由这条线引起的:

[assembly: AssemblyFileVersion("1.0.*")]

捕获是 Visual Studio不支持自动启动 AssemblyFileVersion, , 只有 AssemblyVersion. 因此,其余的代码应该可以。尝试简单地评论第二行,看看您是否获得了期望的结果。您的文件和产品的所有版本信息都应等效。

我不知道正式记录在哪里(如果您尝试在项目属性下的“汇编信息”对话框中输入“文件版本”字段的Asterisk,则收到的错误消息除外),但是它的工作正常这在我可以访问的每台机器上。

如果您完全厌倦了视觉工作室在自己的设备上如何做事(您提到其伪随机数字的愚蠢),请给予 这个小宝石 尝试。它会改变你的生活。

其他提示

屏幕截图显示了使用Shell属性表扩展处理程序显示的,该处理程序显示了嵌入大多数EXE和DLL文件(包括.NET)中的非管理版本资源。不幸的是,从Vista开始,该处理程序不再在该资源中显示可选字段。生产商领域是标准的,但是 不是 汇编]。您必须在assemblyInfo.cs中添加相应的属性。例如:

汇编:汇编信息(“ 1.2.3.4”)

不幸的是,这不是一个好名字。当丢失时,编译器将复制[AssemblyVersion]的值,这就是您最终使用星号的方式。

编译器实际上确实散发了资源中的额外字段。您可以使用File + Open + File看到它,选择您的汇编,打开版本节点和双击资源#1:

alt text

是由以下原因产生的:

[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyInformationalVersion("1.2.3.4")]
[assembly: AssemblyFileVersion("1.0.0.0")]

它在那里,您只是在Explorer中看不到。 bummer,希望他们有一天能解决这个问题。还要注意生成的[汇编],修订号为18404。它不是随机的,我在上午10:13构建了此EXE。那是18404 * 2秒以来。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top