如果你去:
解决方案资源管理器 - >属性 - >(双击)程序集信息
您将看到有关项目装配的一些信息。最后,每个程序集都有一些不同的版本:
而且我理解这些是以下数字:
[assembly:AssemblyVersion(“1.0.0.0”)]
[assembly:AssemblyFileVersion(“1.0.0.0”)]
但我不明白其含义。
答案 0 :(得分:3)
构建项目时,这些值将被烘焙到dll中,这样当您通过Windows文件系统查看dll的属性时,您将看到该版本号。
管理这些数字对于屁股来说有点痛苦。在较旧的项目中,你经常会看到一些丑陋的构建脚本,它们会检查文件然后增加数量然后检查它们然后继续构建...我见过的最优雅的解决方案是由TeamCity实现的(虽然可能有类似的产品);它基本上将所有项目文件复制到您的构建服务器,然后它使用它维护的值编辑它的本地副本(您可以在UI中更改或重置它们),然后构建项目。这使得它可以永远不会触摸源代码控制,同时让您可以很好地控制dll版本控制。
答案 1 :(得分:1)
他们是你想要的意思。您可以自由地为版本号的每个部分使用您自己的定义;除了不同数字不同的事实之外,没有任何功能可以通过语言驱动。
答案 2 :(得分:1)
AssemblyVersion用于程序集的强名称(签名)。
Windows在文件属性的“版本”选项卡中显示AssemblyInformationalVersion用于组合清单中,例如NuGet。
至于如何版本,我推荐Semantic Versioning,它使用3部分版本号:
给定版本号MAJOR.MINOR.PATCH,增加:
1.当您进行不兼容的API更改时,MAJOR版本,
2.以向后兼容的方式添加功能时的MINOR版本,以及
3.当您进行向后兼容的错误修复时的PATCH版本。
答案 3 :(得分:0)
AssemblyVersion用于带有sn.exe的程序集的强名称,但是 AssemblyFileVersion显示文件属性的版本。