首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取.NET程序集的AssemblyInformationalVersion值?

获取.NET程序集的AssemblyInformationalVersion值?
EN

Stack Overflow用户
提问于 2011-10-14 23:40:45
回答 8查看 31K关注 0票数 80

在运行时获取程序集的AssemblyInformationalVersion属性值的C#语法是什么?示例:

[assembly: AssemblyInformationalVersion("1.2.3.4")]

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-10-15 00:23:25

代码语言:javascript
复制
using System.Reflection.Assembly  
using System.Diagnostics.FileVersionInfo

// ...

public string GetInformationalVersion(Assembly assembly) {
    return FileVersionInfo.GetVersionInfo(assembly.Location).ProductVersion;
}
票数 79
EN

Stack Overflow用户

发布于 2011-10-14 23:47:58

代码语言:javascript
复制
var attr = Assembly
    .GetEntryAssembly()
    .GetCustomAttributes(typeof(AssemblyInformationalVersionAttribute), false) 
    as AssemblyInformationalVersionAttribute[];

它是一个AssemblyInformationalVersionAttribute数组。即使没有搜索到的类型的属性,它也不会是null。

代码语言:javascript
复制
var attr2 = Attribute
    .GetCustomAttribute(
        Assembly.GetEntryAssembly(), 
        typeof(AssemblyInformationalVersionAttribute)) 
    as AssemblyInformationalVersionAttribute;

如果该属性不存在,则可以为null。

代码语言:javascript
复制
var attr3 = Attribute
    .GetCustomAttributes(
         Assembly.GetEntryAssembly(), 
         typeof(AssemblyInformationalVersionAttribute)) 
    as AssemblyInformationalVersionAttribute[];

和first一样。

票数 43
EN

Stack Overflow用户

发布于 2014-05-30 23:35:51

在您的应用程序中使用已知类型,您可以简单地执行以下操作:

代码语言:javascript
复制
using System.Reflection;

public static readonly string ProductVersion = typeof(MyKnownType).Assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion;

当然,用于获取应用属性的程序集的任何过程都是好的。注意,这并不依赖于System.Diagnostics或WinForm的Application对象。

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

https://stackoverflow.com/questions/7770068

复制
相关文章

相似问题

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