使用 AssemblyVersion 和 AssemblyFileVersion 属性

本文介绍如何在 AssemblyInfo.cs 文件中使用 AssemblyVersionAssemblyFileVersion 属性。

原始产品版本:.NET Framework
原始 KB 编号: 556041

摘要

AssemblyInfo.cs提供了两个属性来设置两种不同类型的版本。 此提示演示如何使用这两个属性。

Microsoft .NET Framework 提供了为每个程序集设置两种不同类型的版本号的机会。

AssemblyVersion

它是框架在生成期间和运行时用于查找、链接和加载程序集的版本号。 添加对项目中任何程序集的引用时,嵌入的就是此版本号。 在运行时,公共语言运行时 (CLR) 查找要加载的具有此版本号的程序集。 但请记住,仅当程序集具有强名称签名时,才会将此版本与名称、公钥令牌和区域性信息一起使用。 如果程序集不是强名称签名的,则仅使用文件名进行加载。

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