协慌网

登录 贡献 社区

如何获取程序集文件版本

AssemblyInfo ,有两个程序集版本:

  1. AssemblyVersion :指定要赋予属性的程序集的版本。
  2. AssemblyFileVersion :指示编译器对 Win32 文件版本资源使用特定的版本号。 Win32 文件版本不需要与程序集的版本号相同。

我可以使用以下代码行Assembly Version

Version version = Assembly.GetEntryAssembly().GetName().Version;

但是,如何获取Assembly File Version

答案

请参阅上面的我的评论,要求澄清您真正想要的内容。希望是这样:

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
System.Diagnostics.FileVersionInfo fvi = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location);
string version = fvi.FileVersion;

三个版本程序集文件产品。它们由不同的功能使用,并且如果您未明确指定它们,则采用不同的默认值。

string assemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); 
string assemblyVersion = Assembly.LoadFile("your assembly file").GetName().Version.ToString(); 
string fileVersion = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; 
string productVersion = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).ProductVersion;

当我要访问应用程序文件版本(在 “装配体信息 -> 文件版本” 中设置的内容)时,例如说要在表单加载时为其设置标签文本以显示版本,

versionlabel.Text = "Version " + Application.ProductVersion;

此方法需要System.Windows.Forms的引用。