gpt4 book ai didi

.net - AssemblyVersion、AssemblyFileVersion 和 AssemblyInformationalVersion 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 03:51:57 24 4
gpt4 key购买 nike

共有三个程序集版本属性。有哪些差异?如果我使用 AssemblyVersion 并忽略其余部分可以吗?

<小时/>

MSDN 说:

  • AssemblyVersion :

    Specifies the version of the assembly being attributed.

  • AssemblyFileVersion :

    Instructs a compiler to use a specific version number for the Win32 file version resource. The Win32 file version is not required to be the same as the assembly's version number.

  • AssemblyInformationalVersion :

    Defines additional version information for an assembly manifest.

<小时/>

这是 What are the best practices for using Assembly Attributes? 的后续内容

最佳答案

程序集版本

引用您的程序集的其他程序集将在哪里查找。如果此数字发生变化,其他程序集必须更新其对您的程序集的引用!仅在破坏向后兼容性时更新此版本。 AssemblyVersion 是必需的。

我使用的格式:major.minor(对于非常稳定的代码库,使用major)。这将导致:

[assembly: AssemblyVersion("1.3")]

如果您正在关注SemVer严格来说,这意味着您仅在主要发生变化时进行更新,例如 1.0、2.0、3.0 等。

程序集文件版本

用于部署(如安装程序)。您可以为每次部署增加此数量。使用它来标记具有相同 AssemblyVersion 但由不同版本和/或代码生成的程序集。

在Windows中,可以在文件属性中查看。

AssemblyFileVersion 是可选的。如果未给出,则使用 AssemblyVersion。

我使用的格式:major.minor.patch.build,我遵循SemVer对于前三个部分,使用构建服务器的构建号作为最后一部分(0 表示本地构建)。这将导致:

[assembly: AssemblyFileVersion("1.3.2.42")]

请注意 System.Version将这些部分命名为major.minor.build.revision!

程序集信息版本

程序集的产品版本。这是您在与客户交谈或在您的网站上显示时使用的版本。此版本可以是字符串,例如“1.0 Release Candidate”。

AssemblyInformationalVersion 是可选的。如果未给出,则使用 AssemblyFileVersion。

我使用的格式:major.minor[.patch] [revision as string]。这将导致:

[assembly: AssemblyInformationalVersion("1.3 RC1")]

关于.net - AssemblyVersion、AssemblyFileVersion 和 AssemblyInformationalVersion 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com