有三个程序集版本属性。有什么区别?如果我使用AssemblyVersion并忽略其余部分,可以吗?

MSDN说:

  • AssemblyVersion:

  • AssemblyFileVersion:

  • AssemblyInformationalVersion:



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

    最佳答案

    AssemblyVersion

    其他引用您的程序集的程序集的外观。如果此数字更改,则其他程序集必须更新其对您程序集的引用!如果它破坏了向后兼容性,则仅更新此版本。 AssemblyVersion是必需的。

    我使用的格式是:major.minor。这将导致:

    [assembly: AssemblyVersion("1.0")]
    

    如果严格遵循SemVer,则意味着仅在主要更改(即1.0、2.0、3.0等)发生更改时才进行更新。

    AssemblyFileVersion

    用于部署。您可以为每个部署增加此数字。安装程序使用它。用它标记具有相同AssemblyVersion,但是从不同内部版本生成的程序集。

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

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

    我使用以下格式:major.minor.patch.build,前三个部分遵循SemVer,后半部分使用buildserver的内部版本号(本地构建为0)。
    这将导致:
    [assembly: AssemblyFileVersion("1.3.2.254")]
    

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

    AssemblyInformationalVersion

    装配体的产品版本。这是您与客户交流或在您的网站上显示时使用的版本。该版本可以是字符串,例如“1.0 Release Candidate”。
    AssemblyInformationalVersion是可选的。如果未给出,则使用AssemblyFileVersion。

    我使用以下格式:major.minor [.patch] [修订为字符串]。这将导致:
    [assembly: AssemblyInformationalVersion("1.0 RC1")]
    

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

    10-11 00:40