.NET 程序设置单独的“文件版本”与“产品版本”
.NET 可以在工程属性中设置“程序集版本”与“文件版本”两种版本信息。
其中 程序集版本 不会应用到编译后的程序或是类库的文件右键属性的详细信息当中,仅用于.NET自己的运行环境中。
另一个属性“文件版本”则是会嵌入到文件属性面板中,也可以被系统API调用,只不过默认的.NET工程会将该数据同时应用到“文件版本”与“产品版本”这两个项目当中。
如果你需要分别设置这两个版本号,则可以在
另外,我们可以直接通过 .NET 的
其中 程序集版本 不会应用到编译后的程序或是类库的文件右键属性的详细信息当中,仅用于.NET自己的运行环境中。
另一个属性“文件版本”则是会嵌入到文件属性面板中,也可以被系统API调用,只不过默认的.NET工程会将该数据同时应用到“文件版本”与“产品版本”这两个项目当中。
如果你需要分别设置这两个版本号,则可以在
AssemblyInfo.vb
或是 AssemblyInfo.cs
中添加一个参数:' 程序集版本
<Assembly: AssemblyVersion("1.0.1.0")>
' 文件版本
<Assembly: AssemblyFileVersion("1.2.3.5")>
' 产品版本
<Assembly: AssemblyInformationalVersion("2.3.4.5")>
[Assembly: AssemblyVersion("1.0.1.0")]
[Assembly: AssemblyFileVersion("1.2.3.5")]
[Assembly: AssemblyInformationalVersion("2.3.4.5")]
不过需要注意,当你在工程面板内修改版本信息后,新添加的 AssemblyInformationalVersion
属性不会自动修改,需要你每次手动更新!!!另外,我们可以直接通过 .NET 的
Diagnostics.FileVersionInfo
类来加载任意 EXE 或是 DLL 文件的版本信息:Dim fv = FileVersionInfo.GetVersionInfo("...\xxx.exe")
MsgBox(fv.FileVersion) '文件版本
MsgBox(fv.ProductVersion) '产品版本
AssemblyVersion
可以通过 Reflection.AssemblyName
类来获取。Dim aname = AssemblyName.GetAssemblyName("...\xxx.dll")
MsgBox(aname.Version.ToString)
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。