• 为Visual Studio添加Ildasm工具的方法


    工具-附加工具
    标题:ILDASM
    命令:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe

    这样就在工具中出现Ildasm工具
    打开一个dll或者exe可以查看属性。

    url:http://greatverve.cnblogs.com/archive/2012/02/17/Ildasm.html
    AssemblyInfo.cs文件中的程序集属性
    下面是默认的AssemblyInfo.cs文件的内容
    using System.Reflection;
    using System.Runtime.CompilerServices;
    [assembly: AssemblyTitle("")]
    [assembly: AssemblyDescription("")]
    [assembly: AssemblyConfiguration("")]
    [assembly: AssemblyCompany("")]
    [assembly: AssemblyProduct("")]
    [assembly: AssemblyCopyright("")]
    [assembly: AssemblyTrademark("")]
    [assembly: AssemblyCulture("")]
    [assembly: AssemblyVersion("1.0.*")]

    [assembly: AssemblyDelaySign(false)]
    [assembly: AssemblyKeyFile("")]
    [assembly: AssemblyKeyName("")]

    其意义如下:
    1. [assembly: AssemblyTitle("")]
    [assembly: AssemblyTitle("")]代码中”:”好前面的assembly表示此属性在程序集范围内发生作用。
    类型名:System.Reflection.AssemblyTitleAttribute
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyTitleAttribute : Attribute

    此属性描述程序集的名称,如:某某公司某某项目某某模块等,此名称可以是任何合法的字符串,可以有空格。


    2. [assembly: AssemblyDescription("")]
    类型名:
    System.Reflection.AssemblyDescriptionAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyDescriptionAttribute : Attribute

    功能:
    程序集的简单描述,如功能、语言等

    3. [assembly: AssemblyDescription("")]
    类型名:
    System.Reflection.AssemblyDescriptionAttribute


    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyDescriptionAttribute : Attribute
    功能:
    程序集的简单说明,描述程序集的功能、特性、约束等
    4. [assembly: AssemblyConfiguration("")]
    类型名:
    System.Reflection.AssemblyConfigurationAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyConfigurationAttribute : Attribute
    功能:
    程序集的配置信息,如:零售、发布、调试等,.NET运行时没有使用此属性
    5. [assembly: AssemblyCompany("")]
    类型名:
    System.Reflection.AssemblyCompanyAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyCompanyAttribute : Attribute
    功能:
    程序集所属的公司名称
    6. [assembly: AssemblyProduct("")]
    类型名:
    System.Reflection.AssemblyProductAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyProductAttribute : Attribute
    功能:
    程序集所述的产品名

    7. [assembly: AssemblyCopyright("")]
    类型名:
    System.Reflection.AssemblyCopyrightAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyCopyrightAttribute : Attribute
    功能:
    程序集的版权信息

    8. [assembly: AssemblyTrademark("")]
    类型名:
    System.Reflection.AssemblyTrademarkAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyTrademarkAttribute : Attribute
    功能:
    程序集的商标信息

    9. [assembly: AssemblyCulture("")]
    类型名:
    System.Reflection.AssemblyCultureAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyCultureAttribute : Attribute
    功能:
    枚举的字段表明程序集支持的区域性。程序集也可以指定区域独立性,表明它包含用于默认区域性的资源。运行库将任何区域性属性未设为空的程序集按附属程序集处理。此类程序集受附属程序集绑定规则约束。详细信息,请参见运行库如何定位程序集。

    10. [assembly: AssemblyVersion("")]
    类型名:
    System.Reflection.AssemblyVersionAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyVersionAttribute : Attribute
    功能:
    程序集版本信息,按照4段式保存版本信息,即:主.次要.内部版本.修改版本。在强名称程序集中CLR使用此值来绑定操作。可以使用通配符*来替代内部版本和修改版本,VS将自动为其生成版本号。如定义为“1.0.*”,则VS会自动生成后面的部分。如果设定为*,则每次修改程序后版本号都会自动发生变更。

    11. [assembly: AssemblyDelaySign(false)]
    类型名:
    System.Reflection.AssemblyDelaySignAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyDelaySignAttribute : Attribute
    功能:
    是否使用延迟签名

    12. [assembly: AssemblyKeyFile("")]
    类型名:
    System.Reflection.AssemblyKeyFileAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyKeyFileAttribute : Attribute
    功能:
    包含了公钥(如果使用延迟签名)或者既包含公钥也包含私钥的文件名。此公钥和私钥将作为参数传递至此属性的构造函数。文件名称与输出文件路径(.exe 或 .dll)相关,与源文件路径无关。
    13. [assembly: AssemblyKeyName("")]
    类型名:
    System.Reflection.AssemblyKeyNameAttribute
    Attribute声明:
    [AttributeUsage(AttributeTargets.Assembly)]
    public sealed class AssemblyKeyNameAttribute : Attribute
    功能:
    表明包含密钥对(作为参数传递至此属性的构造函数)的密钥容器。
    --------------------------------------------------------------------------
    C#取得AssemblyInfo.cs的项目属性
    1. using System;  
    2. using System.Collections.Generic;  
    3. using System.ComponentModel;  
    4. using System.Data;  
    5. using System.Drawing;  
    6. using System.Text;  
    7. using System.Windows.Forms;  
    8. using System.Reflection;  
    9. namespace Assmest  
    10. {  
    11.    public partial class Form1 : Form  
    12.    {  
    13.       public Form1()  
    14.       {  
    15.          InitializeComponent();  
    16.          this.Text=string.Format(String.Format("关于 {0}", AssemblyTitle));  
    17.       }  
    18.       public string AssemblyTitle  
    19.       {  
    20.          get  
    21.          {  
    22.             // 获取此程序集上的所有 Title 属性  
    23.             object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);  
    24.             // 如果至少有一个 Title 属性  
    25.             if (attributes.Length > 0)  
    26.             {  
    27.                // 请选择第一个属性  
    28.                AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];  
    29.                // 如果该属性为非空字符串,则将其返回  
    30.                if (titleAttribute.Title != "")  
    31.                   return titleAttribute.Title;  
    32.             }  
    33.             // 如果没有 Title 属性,或者 Title 属性为一个空字符串,则返回 .exe 的名称  
    34.             return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);  
    35.          }  
    36.       }  
    37.    }  
    38. }  

    其他的属性有:

    1. Assembly.GetExecutingAssembly().GetName().Version.ToString();  
    2. AssemblyDescriptionAttribute  
    3. AssemblyProductAttribute  
    4. AssemblyCopyrightAttribute  
    5. AssemblyCompanyAttribute  
    参考:http://msdn.microsoft.com/zh-cn/library/system.web.ui.scriptreference.assembly(v=VS.90).aspx
    天祺围棋:www.tianqiweiqi.com呵呵

    凡事以大气象去面对,优秀是一种习惯。

  • 相关阅读:
    使用curl命令操作elasticsearch
    Elasticsearch + logstash + kibana 配置
    Solr6.2.0 + zookeeper 集群配置
    Elasticsearch + logstash中文指南
    ELK+kafka构建日志收集系统
    基于docker+etcd+confd + haproxy构建高可用、自发现的web服务
    mongodb配置
    Docker的私有仓库
    GitLab + Jenkins + Docker + Kubernetes。
    ansible 安装使用
  • 原文地址:https://www.cnblogs.com/greatverve/p/Ildasm.html
Copyright © 2020-2023  润新知