为Visual Studio添加Ildasm工具的方法
2012-02-17 13:55
399 查看
工具-附加工具标题: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的项目属性
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
namespace Assmest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Text=string.Format(String.Format("关于 {0}", AssemblyTitle));
}
public string AssemblyTitle
{
get
{
// 获取此程序集上的所有 Title 属性
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
// 如果至少有一个 Title 属性
if (attributes.Length > 0)
{
// 请选择第一个属性
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
// 如果该属性为非空字符串,则将其返回
if (titleAttribute.Title != "")
return titleAttribute.Title;
}
// 如果没有 Title 属性,或者 Title 属性为一个空字符串,则返回 .exe 的名称
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
}
}
其他的属性有:
Assembly.GetExecutingAssembly().GetName().Version.ToString();
AssemblyDescriptionAttribute
AssemblyProductAttribute
AssemblyCopyrightAttribute
AssemblyCompanyAttribute
参考:http://msdn.microsoft.com/zh-cn/library/system.web.ui.scriptreference.assembly(v=VS.90).aspx
这样就在工具中出现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的项目属性
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
namespace Assmest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Text=string.Format(String.Format("关于 {0}", AssemblyTitle));
}
public string AssemblyTitle
{
get
{
// 获取此程序集上的所有 Title 属性
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
// 如果至少有一个 Title 属性
if (attributes.Length > 0)
{
// 请选择第一个属性
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
// 如果该属性为非空字符串,则将其返回
if (titleAttribute.Title != "")
return titleAttribute.Title;
}
// 如果没有 Title 属性,或者 Title 属性为一个空字符串,则返回 .exe 的名称
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
}
}
其他的属性有:
Assembly.GetExecutingAssembly().GetName().Version.ToString();
AssemblyDescriptionAttribute
AssemblyProductAttribute
AssemblyCopyrightAttribute
AssemblyCompanyAttribute
参考:http://msdn.microsoft.com/zh-cn/library/system.web.ui.scriptreference.assembly(v=VS.90).aspx
相关文章推荐
- idea开发工具怎么给方法添加带参数和返回值的注释
- 【解决方案】VS2013外部工具中添加ildasm.exe
- 编译 cocos2d-x-3.13.1 程序:Android Studio (添加外部工具方法)
- 在Visual Studio中给MFC类添加父类的虚函数的方法,比如给CWinApp的子类添加ExitInstance()方法
- Node.js环境下Koa2添加travis ci持续集成工具的方法
- visual studio 没有添加自定义控件到工具箱的解决方法
- Visual Studio 2013 添加新项缺失[ADO.NET 实体数据模型]解决方法
- 为Visual Studio添加默认INCLUDE包含路径的方法
- Visual Studio 2017 MFC 对话框添加方法 对话框添加失败
- Visual Studio 2010添加新项缺失[ADO.NET 实体数据模型]解决方法
- 为Visual Studio添加默认INCLUDE包含路径一劳永逸的方法
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- Quartz动态添加、修改和删除定时任务时间的方法以及日期转换cron表达式时间格式工具类
- Visual studio 添加引用时报错未能正确加载ReferenceManagerPackage包的解决方法
- Visual Studio 2008 添加MScomm控件的方法
- Visual Studio 2010中添加注册控件的方法--OCX
- Visual Studio 2010添加Boost库的方法
- 为Visual Studio添加快捷工具
- 【原】visual studio添加现有文件夹的方法