在AssemblyInfo
,有两个程序集版本:
AssemblyVersion
:指定要赋予属性的程序集的版本。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
的引用。