11

在 assemblyInfo.cs 我有 AssemblyVersion 和 AssemblyFileVersion。

通常我只是像这样增加 AssemblyVersion 。第 1 位:主要更改 第 2 位:次要更改 第 3 位:错误修复 第 4 位:Subversion 修订号

但是,我想知道 AssemblyFileVersion 的用途是什么,什么时候需要增加。它应该与 assemblyVersion 相同吗?

如果我不使用它,我应该把它注释掉吗?

非常感谢您的任何建议,

4

5 回答 5

15

AssemblyVersion 由 .NET 类加载器使用并标识程序集的 .NET 版本。AssemblyFileVersion 表示包含在 Windows PE 文件的标准 VERSION_INFO 块中的文件版本...换句话说,它表示文件属性对话框中显示的文件版本。

如果省略 AssemblyFileVersion,编译器将默认它与 AssemblyVersion 相同。

于 2009-08-20T04:42:51.517 回答
5

通常文件版本比汇编版本更精确。例如:System.Windows.Form.dll - 程序集版本:2.0.0.0,文件版本:2.0.50727.3053。

程序集版本是加载程序集时的重要信息。

因此,如果您在其中一个引用的程序集中发现一个小错误。您修复了错误,更新了文件版本,但您保留了相同的程序集版本。优点:您不必将对该程序集的引用重新链接到新版本,并且通过文件版本,您可以知道文件的当前版本。

于 2009-08-20T04:54:28.967 回答
3

安装程序将使用 AssemblyFileVersion 来确定是否根据版本覆盖文件。

请务必注意,在尝试从先前版本反序列化时,更改实现序列化的程序集的 AssemblyVersion 会产生一些严重后果。

于 2009-08-20T12:38:41.960 回答
3
于 2009-09-28T13:32:49.373 回答
2

AssemblyFileVersion 用于在二进制文件中设置 Win32 资源中的版本信息,如果您在资源管理器中打开文件的属性窗口,您会看到该信息。

于 2009-08-20T04:47:57.137 回答