有三个程序集版本属性。有什么区别?如果我使用AssemblyVersion
并忽略其余部分,可以吗?
MSDN说:
这是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/