我可以通过C#中的命名空间FileVersionInfo获取文件版本信息。在FileVersionInfo中,如果文件版本为空,那么我们无法获得产品版本,公司名称等其他信息。当我们右键单击文件并在“属性”窗口中选择详细信息选项卡时,我可以看到文件版本信息但我可以通过C#代码获取价值。那么我可以在不使用FileVersionInfo的情况下获取文件版本信息吗?有没有其他方法可以获取文件版本信息。
答案 0 :(得分:3)
试试这个: -
Assembly assembly = Assembly.LoadFrom(@"D:\exePath\yourexe.exe");
Version ver = assembly.GetName().Version;
答案 1 :(得分:0)
要获取文件版本,您必须获取AssemblyFileVersionAttribute
设置的版本,例如:
[assembly: AssemblyFileVersion("3.2.10.0")]
以下是读取属性的扩展方法的代码:
public static Version GetFileVersion(this Assembly assembly)
{
AssemblyFileVersionAttribute attribute = assembly.GetCustomAttribute<AssemblyFileVersionAttribute>();
return attribute == null ? null : new Version(attribute.Version);
}
要加载程序集,请使用前面提到的Assembly.LoadFrom
方法。