AssemblyInfo.cs信息读取类

将以下代码粘贴到AssemblyInfo.cs文件中:
public static class AssemblyInfo
{
    /// <summary>
    /// 程序集标题
    /// </summary>
    public static string Title
    {
        get
        {
            AssemblyTitleAttribute attribute = getAttribute<AssemblyTitleAttribute>();
            return attribute == null ? "" : attribute.Title;
        }
    }

    /// <summary>
    /// 产品名称
    /// </summary>
    public static string Product
    {
        get
        {
            AssemblyProductAttribute attribute = getAttribute<AssemblyProductAttribute>();
            return attribute == null ? "" : attribute.Product;
        }
    }

    /// <summary>
    /// 公司名称
    /// </summary>
    public static string Company
    {
        get
        {
            AssemblyCompanyAttribute attribute = getAttribute<AssemblyCompanyAttribute>();
            return attribute == null ? "" : attribute.Company;
        }
    }

    /// <summary>
    /// 文本说明
    /// </summary>
    public static string Description
    {
        get
        {
            AssemblyDescriptionAttribute attribute = getAttribute<AssemblyDescriptionAttribute>();
            return attribute == null ? "" : attribute.Description;
        }
    }

    /// <summary>
    /// 版权
    /// </summary>
    public static string Copyright
    {
        get
        {
            AssemblyCopyrightAttribute attribute = getAttribute<AssemblyCopyrightAttribute>();
            return attribute == null ? "" : attribute.Copyright;
        }
    }

    /// <summary>
    /// 主版本号、次版本号、内部版本号和修订号
    /// </summary>
    public static string Version
    {
        get
        {
            return Assembly.GetExecutingAssembly().GetName().Version.ToString();
        }
    }

    /// <summary>
    /// 主版本号
    /// </summary>
    public static int Major
    {
        get
        {
            return Assembly.GetExecutingAssembly().GetName().Version.Major;
        }
    }

    /// <summary>
    /// 次版本号
    /// </summary>
    public static int Minor
    {
        get
        {
            return Assembly.GetExecutingAssembly().GetName().Version.Minor;
        }
    }

    /// <summary>
    /// 程序集的简单名称
    /// </summary>
    public static string Name
    {
        get
        {
            return Assembly.GetExecutingAssembly().GetName().Name;
        }
    }

    /// <summary>
    /// getAttribute
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <returns></returns>
    private static T getAttribute<T>() where T : System.Attribute
    {
        T attribute;
        object[] objects = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(T), false);
        if (objects.Length > 0)
            if ((attribute = objects[0] as T) != null)
                return attribute;
        return null;
    }
}

调用示例:

MessageBox.Show(AssemblyInfo.Product);

--------------------------------------------------------------------------------------------
2014-07-18补充:AssemblyCompany、AssemblyProduct和AssemblyFileVersion可分别用Application.ProductName、Application.CompanyName和Application.ProductVersion获取。

评论: 0 | 引用: 0 | 查看次数: 5839
发表评论
登录后再发表评论!