本文介绍如何在AssemblyInfo.cs文件中使用 AssemblyVersion 和 AssemblyFileVersion 属性。
原始产品版本: .NET Framework
原始 KB 数: 556041
总结
AssemblyInfo.cs提供两个属性来定义不同类型的版本号。 本文介绍如何有效地使用这些属性。
Microsoft .NET Framework 允许将两种不同类型的版本号设置为每个程序集。
AssemblyVersion
AssemblyVersion 是框架在生成期间和运行时用于查找、链接和加载程序集的版本号。 在项目中添加对程序集的引用时,将嵌入此版本号。 在运行时,公共语言运行时(CLR)使用此版本号加载程序集。
这个版本仅在程序集具有强名称(已签名)时,才同程序集的名称、公钥令牌和文化信息一起使用。 如果程序集没有强名称,则仅使用文件名进行加载。
AssemblyFileVersion
AssemblyFileVersion 是分配给程序集文件的版本号,就像在文件系统中一样。 其由 Windows 资源管理器显示,而不被 .NET Framework 或运行时用于参考。
AssemblyInfo.cs中的属性
// Version information for an assembly consists of the following four values:
// Major Version
// Minor Version
// Build Number
// Revision
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
使用星号 (*) 代替特定数字,编译器会在每次编译时自动递增该值。
例如,如果您正在创建由许多开发人员使用的框架程序集,并且经常发布新版本(例如,每日),并且这些程序集都有强名称,则开发人员需要在每次发布时更新他们的引用。 它可能很繁琐,可能会导致引用错误。
在这种封闭群体和易变环境中,更好的方法是保持 AssemblyVersion 固定,仅更新 AssemblyFileVersion。 它允许开发人员在不更改其项目引用的情况下覆盖引用路径中的程序集。
对于中央版本或最终版本,建议更新 AssemblyVersion 以反映重大更改。 在这些情况下,通常会更新 AssemblyFileVersion 以与 AssemblyVersion 保持一致性。