【问题标题】:How to add AssemblyVersion AND AssemblyFileVersion to my .exe如何将 AssemblyVersion 和 AssemblyFileVersion 添加到我的 .exe
【发布时间】:2015-06-29 19:57:02
【问题描述】:

今天我花了很多时间将 AssemblyVersion 和 AssemblyFileVersion 添加到我的 Visual Basic exe 文件中。

在我们的环境中,AssemblyVersion 应该始终是相同的,如果有人做了一些更改,他会增加 AssemblyFileVersion 手册。

问题如下:

当我在项目设置中添加程序集版本时,我的 .exe 的详细信息在两个(ProductFileVersion 和 ProductVersion)上都显示相同的版本号,尽管 AssemblyInfo.vb 文件具有 AssemblyVersion 和 AssemblyFileVersion 的正确条目。

当我在项目设置中另外添加一个文件版本号时,exe 文件中的两个属性都有 AssemblyFileVersion 号。

我记得,我在过去已经读过这些东西,我想记住,第二个属性(FileVersion)是强制的,但我不记得了。

有没有人可以帮我解决这个问题?

那么我必须如何在编译后在我的 .exe 详细信息中查看两个版本号?

感谢您的帮助和问候!

【问题讨论】:

标签: vb.net


【解决方案1】:

如果没记错的话,VB.NET 和 C# 都使用相同的模式并使用通配符构建版本号。如果您没有在程序集/文件版本号中提供通配符,则版本号将是固定的(也就是说,您必须手动更新它)。

因此,您所要做的就是在您的 AssemblyInfo.vb 文件中设置一个完整的版本号以防止其更改:

' This number will not increment.
<Assembly: AssemblyVersion("1.0.0.9")>

另一方面,如果您希望版本号随着每次构建而递增,请在最后一段中添加通配符:

' This number will auto increment
<Assembly: AssemblyVersion("1.0.0.*")>

有关详细信息,请参阅 MSDN 上的Managing Versions of an Application

编辑

您可能正在寻找设置产品版本的 AssemblyInformationalAttribute。这是一个字符串,而不是整数值,因此您可以将其设置为“1.0.9 RC1”之类的值。但是,如果您愿意,可以将其设置为固定的版本号。请参阅this excellent SO question 了解更多信息。

【讨论】:

  • 嗨 Mike,我的 AssemblyInfo.vb 中已经有完整版本号,还有 AssemblyFileVersion 的完整版本号。这是我的测试条目: 但在编译后,两个 .exe 属性都有 1.1.1.1。我不想自动增加。我们通过项目设置手动编辑。
  • @MarkMullen 那么您是否将它们设置为不同的版本,但它们仅在“项目属性”窗口中显示为 FileVersionNumber?如果是这种情况,我会在 AssemblyInfo 窗口中仔细检查属性的拼写。
  • @MarkMullen:嘿,我们穿越了 cmets。 :) 这很奇怪。它们看起来语法正确。您使用的是什么版本的 Visual Studio?
  • @MarkMullen 另外,您是否将您的 assemblyinfo.vb 文件移动到另一个文件夹?
  • 在 projectsettings->assemblyinformations 下,AssemblyVersion 和 AssemblyFileVersion 正确显示。当我在该 gui 对话框中进行更改时,例如对于 AssemblyVersion 和/或 AssemblyFileVersion 它也是正确的。甚至 AssemblyInfo.vb 文件中的数字在重建后也会正确更改。但是当我右键单击我的 exe 并转到详细信息时,产品版本和 ProductFileVersion 显示相同的数字,只有产品文件版本。产品文件版本已消失。我已经检查了拼写,一切正常。
猜你喜欢
  • 2010-11-09
  • 2021-04-25
  • 2011-03-07
  • 1970-01-01
  • 2010-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-22
相关资源
最近更新 更多