AssemblyInfo.cs文件:包含程序版本、信息、版权的属性文件(转转转)

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 Attribute声明:[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 功能:表明包含密钥对(作为参数传递至此属性的构造函数)的密钥容器。

那么怎么读取这些文件信息呢? 可以采用以下方法:

object[] att = assembly.GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);      string title = ((AssemblyDescriptionAttribute)att[0]).Description;      System.Windows.Forms.MessageBox.Show(title.ToString());

其中,可以通过改变typeof中的参数访问不同的属性,注意要将att的类型进行对应的类型转换。

这次讲讲 Properties 文件夹中的其他两个文件, Resources.resx 和 Settings.settings 文件,顾名思义一个是管资源的、一个是管配置的。(看,学好一门外语是多么重要啊!)

说到这两个文件不得不先说说在项目根目录下面的 app.config 文件:

它是标准的 XML 格式文件, Settings.settings 所设置的所有属性,都在 app.config 有所体现,也就是你可以通过配置到 app.config 文件中写入你想要的参数。当然写入 app.config 文件的方法不仅此一种。比如我们想把连接数据库的信息写入到 app.config 中,然后连接数据库时好方便的调用它 , 可以这样做:

1、  在app.config文件中加入一下代码:

<appSettings >

<add key="connStr"   value ="Data Source= 数据源地址;user=****;password=*****" />

</appSettings>

2、  然后在程序中调用以下语句提取这条数据库连接信息:

string connStr;

connStr = System.Configuration.ConfigurationManager.AppSettings["connStr"].ToString();

此时,connStr的值为"Data Source= 数据源地址;user=****;password=*****"。我们可以应用这条数据库连接信息连接数据库。

这样做的优点有利于我们的程序方便的连接多个不同数据库,我们可以将不同数据库的信息同时放入app.config文件根据需要随时调用。

相比而言,上面的方法比较土,它只能存储字符串类型的参数,而Settings.settings文件是微软提供给用户的专门设置配置信息的页面,功能更为强大,应用范围更广一些,它不光能存字符串,还能存日期时间之类的对象信息。

比如:我添加了两条用户级别的配置信息,一条是字符串类型,另一条是日期时间类型,保存完毕后,在app.config 文件中就会出现以下代码:

<userSettings>

<test.Properties.Settings>

<setting name="Setting2" serializeAs ="String">

<value>Data Source=***_####;[email protected]@@;password=%%%%%%</ value >

</setting>

<setting name="Setting3" serializeAs ="String">

<value>2009-03-16</value>

</setting>

</test.Properties.Settings>

</userSettings>

设置起来也比较方便,点点鼠标就能搞定。

依然以数据库连接字符串为例,读取的方法是这样的:

connStr = test.Properties.Settings.Default.Setting2.ToString();

可以看到这里面已经将这些信息上封装成了不同的对象用来读取。

在来说说Resources.resx

Resources.resx负责管理程序中非源代码性质的文件包括图片,音频,字符串,图标等文件,我们可以从MSDN上查找“ 添加和编辑资源 ”,来阅读它的使用方法,里面有详细地访问和添加资源过程,在此不做复述。

Program.cs文件:

整个应用程序的入口,Application.Run(new main.main());语句标记了你启动的窗口,你可以通过改变参数来设置你的启示界面。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zclzzz/archive/2010/10/08/5927081.aspx

AssemblyInfo.cs文件:包含程序版本、信息、版权的属性文件(转转转)

时间: 2024-10-07 22:29:07

AssemblyInfo.cs文件:包含程序版本、信息、版权的属性文件(转转转)的相关文章

Qt给应用程序添加版本信息(对rc文件的设置,可利用QT内置变量)

作者:daodaoliang 时间:2016年7月11日16:12:09 版本:V 0.0.4 邮箱:[email protected] 0. 环境说明 系统环境: win10 64位 Qt环境: Qt-lib 5.6.0 QCreat0r 3.6.1 1. 使用.rc文件 1.1 在工程项目下创建 .rc 文件 例如 version.rc: # if defined(UNDER_CE) # include <winbase.h> # else # include <windows.h&

vs下取得资源文件中的版本信息

转载于:http://www.cnblogs.com/procoder/archive/2009/11/13/windows-mobile-wtl-version.html 在Windows Mobile和Wince(Windows Embedded CE)下开发的产品,有时候需要显示当前产品的版本信息.一般来说,版本信息是保存在资源文件里面的,例如下图: 为了保持一致,所有版本信息应该都从资源文件读取,不应该另外硬编码(Hard code). 下面讲述读取资源文件版本信息的方法: 1.在资源文

Android获取应用程序版本信息

private PackageInfo getVersionInfo() { try { PackageManager packageManager = getPackageManager(); // getPackageName()是你当前类的包名,0代表是获取版本信息 PackageInfo packInfo = packageManager.getPackageInfo( getPackageName(), 0); } catch (Exception e) { e.printStackT

JavaBean找到项目下的文件这里是\WEB-INF\classes\下面的属性文件

String baseinfo="/com/Bean/DBhelp.properties"; filename=getClass().getClassLoader().getResource("/").getPath(); filename=filename.substring(1,filename.length()-1);//以上的是读取到发布后的文件夹的\WEB-INF\classes\下面 filename=URLDecoder.decode(filename

给Delphi程序添加版本信息(EXE和Dll)

我们在用Delphi编译完程序,准备发布产品时,总希望随产品发布个性信息以标示产品的来源以及开发者等信息,就像windows的程序一样,使我们一看属性就知道他是微软的产品,这些在Delphi中是如何实现的呢?下面我就来给大家演示和说明给exe,dll文件添加版本信息的方法. 第一,给exe文件添加版本信息. 这个我想大家都会添加的,Delphi已经给我们提供了相关选项了. 具体做法:打开你的工程,选择菜单Project-->Options...--->Version info 选中"

PHP文件包含漏洞攻防实战(allow_url_fopen、open_basedir)

摘要 PHP是一种非常流行的Web开发语言,互联网上的许多Web应用都是利用PHP开发的.而在利用PHP开发的Web应用中,PHP文件包含漏洞是一种常见的漏洞.利用PHP文件包含漏洞入侵网站也是主流的一种攻击手段.本文对PHP文件包含漏洞的形成.利用技巧及防范进行了详细的分析,并通过一个真实案例演示了如何利用PHP文件包含漏洞对目标网站进行渗透测试,最终成功获取到网站的WebShell. 1. PHP文件包含漏洞介绍 首先,我们来介绍下何为文件包含漏洞.严格来说,文件包含漏洞是“代码注入”的一种

10_文件包含漏洞(属于任意代码执行)

一.背景介绍 随着网站业务的需求,web脚本可能允许客户端用户输入控制动态包含在服务器端的文件,会导致恶意代码的执行及敏感信息泄露,主要包括本地文件包含和远程文件包含两种形式. 二.漏洞成因 文件包含漏洞的产生原因是在通过引入文件时,引用的文件名,用户可控,由于传入的文件名没有经过合理的校验,或者校验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入.当被包含的文件在服务器本地时,就形成的本地文件包含漏洞.被包含的文件在第三方服务器时,就形成了远程文件包含漏洞. 本地到

PHP文件包含漏洞利用

PHP文件包含漏洞利用 一.PHP配置在文件包含中的运用 文件包含漏洞即 当程序员在包含文件的过程中引入了外部提交的数据参与包含的过程所产生的漏洞,这个漏洞是目前Web攻击中最利用率最高的一个漏洞,攻击者 可以轻松获取服务器的访问权限(即拿到webshell).而文件包含通常又有本地文件包含(Local File Inclusion)和远程文件包含(Remote File Inclusion)之分.allow_url_fopen和allow_url_include是决定包含属于本地文件包含(LF

VC6.0 dll 添加版本信息

对于一个Win32 Dynamic-link Library的工程生成的dll怎么添加对应的版本信息? 有人说添加资源就可以,插入资源文件的确可以输入版本信息,但是资源文件保存到哪里? 资源文件保存到项目文件夹下Clean在build后dll也没增加版本信息啊? 插入 资源 版本 新建 修改你的版本信息 关闭版本信息文件然后会提示你保存 保存在工程目录下 然后单击左侧的 FILEVIEW Resource Files 右键 添加文件到目录 选择你的rc文件 编译看看 编译出现问题,报 fatal