现在的位置: 首页 > 综合 > 正文

应用程序配置和动态加载2—-创建程序集

2013年10月02日 ⁄ 综合 ⁄ 共 3370字 ⁄ 字号 评论关闭

 

创建程序集

您可以使用Visual Studio .NET集成开发环境(简称IDE,如 Visual Studio 2008)或 .NET Framework SDK 提供的编译器和工具来创建单文件程序集或多文件程序集。Visual Studio .NET集成开发环境本身不支持创建多文件程序集,如果需要创建多文件程序集,必须求助于命令行工具。

现在使用IDE创建一个单文件程序集。

打开VS2008,新建一个“类库”的项目,项目名称为“SingleFileAssembly”,将该项目中默认提供的Class.cs文件删除,再添加一个新类,文件名是SingleFileAssembly.cs,打开SingleFileAssembly.cs文件,将命名空间更改为VS2008.Chapter11.SingleFileAssembly,在SingleFileAssembly类中添加如下代码:

namespace VS2008.Chapter11.SingleFileAssembly

{

    public class SingleFileAssembly

    {

        public void ShowMeMessage()

        {

            Console.WriteLine("我是一个在类SingleFileAssembly的方法");

        }

    }

}

为了让这个类在外部能够被使用,需要将该类的权限设置为public。编译,就在debug目录生成一个SingleFileAssembly.dll的程序集。为了测试该程序集,在解决方案中添加一个控制台应用程序,项目名称为“TestApp,在“解决方案管理器”中TestApp项目上点击鼠标右键,将该项目设置为启动项目,然后在该项目中添加引用,将SingleFileAssembly.dll添加进来。

为了使用SingleFileAssembly.dll程序集中的类SingleFileAssembly,必须在TestApp项目中使用命名空间VS2008.Chapter11.SingleFileAssembly,完整的源代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using VS2008.Chapter11.SingleFileAssembly; //手动添加

 

namespace TestApp

{

    class Program

    {

        static void Main(string[] args)

        {

            SingleFileAssembly sfa = new SingleFileAssembly();

            sfa.ShowMeMessage();

            Console.ReadKey();

        }

    }

}

运行程序,结果如图11-6所示:

11-6

程序集是一个可以控制版本信息,区域文化信息的最小单位,这些信息都可以添加在该项目的AssemblyInfo.cs文件中。下面是一个默认生成的AssemblyInfo.cs文件的显示。

using System.Reflection;

using System.Runtime.CompilerServices;

using System.Runtime.InteropServices;

 

// 有关程序集的常规信息通过下列属性集

// 控制。更改这些属性值可修改

// 与程序集关联的信息。

[assembly: AssemblyTitle("SingleFileAssembly")]

[assembly: AssemblyDescription("")]

[assembly: AssemblyConfiguration("")]

[assembly: AssemblyCompany("")]

[assembly: AssemblyProduct("SingleFileAssembly")]

[assembly: AssemblyCopyright("Copyright ©  2008")]

[assembly: AssemblyTrademark("")]

[assembly: AssemblyCulture("")]

 

// ComVisible 设置为 false 使此程序集中的类型

// COM 组件不可见。如果需要从 COM 访问此程序集中的类型,

// 则将该类型上的 ComVisible 属性设置为 true

[assembly: ComVisible(false)]

 

// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID

[assembly: Guid("2c87b29d-32c1-4b69-9ad2-3732ac74c0f5")]

 

// 程序集的版本信息由下面四个值组成:

//

//      主版本

//      次版本

//      内部版本号

//      修订号

//

// 可以指定所有这些值,也可以使用内部版本号修订号的默认值,

// 方法是按如下所示使用“*”:

// [assembly: AssemblyVersion("1.0.*")]

[assembly: AssemblyVersion("1.0.0.0")]

[assembly: AssemblyFileVersion("1.0.0.0")]

对其中的一部分作解释说明。

程序集版本信息:

版本号由四个部分组成:主版本号、次版本号、生成版本号、修订版本号

例:2.5.719.2 主版本号与次版本号组成面向公众的版本部分,第三个版本号719表示程序集的生成版本,最后一个版本号2表示对生成版本的修订版本。

一个程序集的三个相关版本号:

1AssemblyFileVersion:该版本号存储在Win32版本资源中,它仅仅是一个辅助性的信息。

2AssemblyInformationalVersionAttribute:该版本号也存储在Win32版本资源中,仅辅助性作用。

3AssemblyVersion:该版本号存储在AssemblyDef清单元数据表中。这个版本号非常重要,它用来惟一地标识一个程序集。

语言文化:

可以用System.Reflection.AssemblyCultureAttribute定制特性来指定语言文化。示例如下:

//将程序集的语言文化设置为瑞士德语

[assembly AssemblyCulture (“de-CH”)]

对上面的一些内容随便填入一些信息

using System.Reflection;

using System.Runtime.CompilerServices;

using System.Runtime.InteropServices;

 

// 有关程序集的常规信息通过下列属性集

// 控制。更改这些属性值可修改

// 与程序集关联的信息。

[assembly: AssemblyTitle("SingleFileAssembly")]

[assembly: AssemblyDescription("这是一个用来测试的程序集")]

[assembly: AssemblyConfiguration("")]

[assembly: AssemblyCompany("演示工作室")]

[assembly: AssemblyProduct("程序集测试")]

[assembly: AssemblyCopyright("Copyright ©  2008")]

[assembly: AssemblyTrademark("测试程序集")]

[assembly: AssemblyCulture("")]

 

// ComVisible 设置为 false 使此程序集中的类型

// COM 组件不可见。如果需要从 COM 访问此程序集中的类型,

// 则将该类型上的 ComVisible 属性设置为 true

[assembly: ComVisible(false)]

 

// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID

[assembly: Guid("2c87b29d-32c1-4b69-9ad2-3732ac74c0f5")]

 

// 程序集的版本信息由下面四个值组成:

//

//     

抱歉!评论已关闭.