一个.net程序集支持三种版本它,它都是使用特性的方式在源代当中指定的,然后由编译器/链接器将它们嵌入到.net程序当中(程序文件)。这三种版本号对应的特性名称和其作用如下所示:
AssemblyFileVersion:这个特性所标识的版本号对应传统Win32程序的文件版本号。CLR本身并不使用此版本号。
AssemblyInformation:这个特性所标识的版本号对应传统Win32程序的产品版本号。CLR本身并不使用此版本号。
AssemblyVersion:这个特性标识的版本号为CLR本身所识别的版本号,CLR通过这个版本号来确定程序集的版本。
这里需要注意的是,AssemblyFileVersion的build位和fix位应该是一个第次重新编译后都有所不同的版本号,程序的用户暨以此版本号来区分一个主版本号(由Major和Minor组成的版本号)内程序集的不同。
而AssemblyVersion版本号则是应该在一个主版本号内固定不变的,因为CLR是使用此版本号来确定加载程序集的。
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)