首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在不使用FileVersionInfo的情况下获取exe文件的文件版本信息吗?

我可以在不使用FileVersionInfo的情况下获取exe文件的文件版本信息吗?
EN

Stack Overflow用户
提问于 2016-07-04 19:28:12
回答 2查看 81关注 0票数 1

我可以通过C#中的命名空间FileVersionInfo获取文件版本信息。在FileVersionInfo中,如果文件版本为空,则我们无法获取其他信息,如产品版本、公司名称等。当我们右键单击文件并在属性窗口中选择详细信息选项卡时,我可以看到文件版本信息,但我无法通过C#代码获取该值。那么,我可以在不使用FileVersionInfo的情况下获得文件版本信息吗?是否有其他方法可以获取文件版本信息。

EN

回答 2

Stack Overflow用户

发布于 2016-07-04 19:47:52

试试这个:-

代码语言:javascript
复制
   Assembly assembly = Assembly.LoadFrom(@"D:\exePath\yourexe.exe");
   Version ver = assembly.GetName().Version;
票数 2
EN

Stack Overflow用户

发布于 2016-07-04 20:53:12

要获取文件版本,您必须获取由AssemblyFileVersionAttribute设置的版本,例如:

代码语言:javascript
复制
[assembly: AssemblyFileVersion("3.2.10.0")]

下面是读取属性的扩展方法的代码:

代码语言:javascript
复制
    public static Version GetFileVersion(this Assembly assembly)
    {
        AssemblyFileVersionAttribute attribute = assembly.GetCustomAttribute<AssemblyFileVersionAttribute>();
        return attribute == null ? null : new Version(attribute.Version);
    }

要加载程序集,请使用前面提到的Assembly.LoadFrom方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38183629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档