-1

如果你去:

解决方案资源管理器 --> 属性 -->(双击)程序集信息

您将看到有关项目程序集的一些信息。最后,每个程序集都有一些不同的版本:

  1. 主要版本
  2. 次要版本
  3. 内部版本号
  4. 修订

我明白这些是其中的数字:

[程序集:AssemblyVersion("1.0.0.0")]
[程序集:AssemblyFileVersion("1.0.0.0")]

但我不明白意思。

4

4 回答 4

3

构建项目时,这些值将被烘焙到 dll 中,因此当您通过 Windows 文件系统查看 dll 的属性时,您将看到该版本号。

管理这些数字有点让人头疼。在较旧的项目中,您经常会看到一些丑陋的构建脚本,这些脚本执行诸如签出文件然后递增编号然后签入然后继续构建...我见过的最优雅的解决方案是由 TeamCity 实现的(尽管可能有类似的产品);它基本上将所有项目文件复制到您的构建服务器,然后使用它维护的值编辑它的本地副本(您可以在 UI 中更改或重置它们),然后构建项目。这使它永远不会触及源代码控制,同时让您可以很好地控制 dll 版本控制。

于 2013-07-18T17:28:53.047 回答
1

他们是你想让他们表达的意思。您可以对版本号的每个部分自由使用自己的定义;除了不同的数字是不同的这一事实之外,语言并没有由此驱动的功能。

于 2013-07-18T17:29:26.393 回答
1

AssemblyVersion用于程序集的强名称(签名)。

AssemblyFileVersion由 Windows 显示在文件属性的版本选项卡中。

AssemblyInformationalVersion用于 NuGet 之类的程序集清单。

至于如何版本,我推荐Semantic Versioning,它使用 3 部分版本号:

给定版本号 MAJOR.MINOR.PATCH,递增:
1.当您进行不兼容的 API 更改时的 MAJOR 版本,
2.当您以向后兼容的方式添加功能时的 MINOR 版本,以及
3.当您进行向后兼容时的 PATCH 版本bug修复。

于 2013-07-18T17:32:13.263 回答
0

AssemblyVersion 用于带有 sn.exe 的程序集的强名称,但 AssemblyFileVersion 在文件属性上显示版本。

于 2013-07-18T18:39:21.417 回答