标签:
Visual Studio带来的新的东西,就是对程序集的强大控制。
程序集在Windows操作系统中的具体形式,就是扩展名为DLL和EXE的.NET文件。一个.NET文件和传统的可执行文件(甚至传统的COM组件)不同。.NET文件有新的文件结构,最重要的是依赖于.Net Framework X.Y(2.0?3.5?4.0?)组件执行。
一个Visual Studio中的项目就对应于一个新的程序集。Visual Studio开发环境集成了自动化程度非常高的构建工具,同时屏蔽了大量的构建细节。作为Visual Studio用户可以简单地认为,一个Visual Studio中的项目就对应于它的构建目标,也就是输出的程序集。
一个项目“输出”的程序集可以引用许多的程序集,作为这个项目的“输入”。程序集的配置通常是每项目的,具体内容保存在“项目名.csproj ”文件当中。
程序集通常被一个应用程序单独使用,在默认情况下不共享。通过一个特殊的位置(GAC,全局程序集缓存)可以在操作系统全局共享程序集,使得其上的应用程序都可以使用。
直接编译Viusal Studio模板“输出”的程序集是私有的。
通常没有注册到GAC的程序集都被认为是私有的。私有程序集的搜索路径在项目文件夹内部。这些程序集通常会跟着项目的部署一起移动(Click Once)。这种策略是有用的,因为有些功能需要依赖于特定版本的私有程序集,而这个版本与GAC的不匹配。
明确私有程序集的搜索路径很有必要,在向项目引入非GAC的第三方库时,要确保全部程序集及其依赖项已经进入项目的搜索路径。
顾名思义,共享程序集是指那些不用复制到项目文件夹内,依然可以支持项目运行的程序集。共享程序集主要是依靠CLR来自动进行管理的。
共享程序集一般安装到全局程序集缓存文件夹(GAC)中,它的程序集名是全局唯一的。使用强名工具(sn.exe)和GAC管理工具(gacutil.exe)可以将程序集注册到全局程序集缓存。
一般用两种图形化的方法查看程序集的内容。
[主窗口]/{视图}/{对象浏览器}/
这实际上是一种效率较高的编程手册,尤其是引入了第三方库的时候。
打开VS2013 命令提示,输入(不含<)
> ildasm
ildasm是一款图形化的实用工具,可以查看更多程序集元数据信息。
需要四个步骤:起名、签名、重新生成和安装到gac。
1、创建强名
打开2013命令提示,输入(不含<)
> sn –k mykey.snk
2、给程序集签名
[解决方案资源管理器]/{项目N}>>{属性}/{签名}/{为程序集签名}=勾选
[解决方案资源管理器]/{项目N}>>{属性}/{签名}/{选择强名称密钥文件}=<浏览…>,呼出[创建强名称密钥]窗口
导航到上一步生成的mykey.snk。
3、设置到位以后,重新生成,就得到了共享程序集
4、将共享程序集安装到GAC(需要管理员权限的命令提示,可能需要从开始菜单里面,以管理员权限启动)
打开VS2013命令提示,输入(不含<)
> gacutil /i mywork.dll
1、静态地添加对程序集的引用。使用
[解决方案资源管理器]/{项目N}/{引用}>>,
2、通过编程的方法向应用程序中动态地添加程序集。具体请查阅相关的MSDN内容。
不能直接从应用程序中卸载程序集。要卸载程序集而又保持应用程序的运行,需要通过编写代码的方法,并使用应用程序域的概念。
使用NuGet程序包管理器、对象浏览器和MSDN文档,可以帮助用户找到能够满足要求的程序集。
NuGet主要是汇集了社区的资源,让开发者不必重复造轮子。
程序集概念通常属于比较容易引起混乱的基础知识。本文尝试从实际操作的角度粗略地过一遍。
这是llorch的Visual Studio基本教程博客的最后一篇。系列博客的主要目的是整理Visual Studio使用的问题。因为Visual Studio本身使用范围确实很广,尤其是它的代码智能提示和对象浏览器,非常强大。而Visual Studio的操作使用,在课堂甚至是论坛里是不讲的。这就是博客的写作动机。
Visual Studio是一款难得优秀的编程IDE。虽然随着时间演变,它支持的编程语言生态变得封闭、落后。但是对于广大编程爱好者、学生和一些专业开发者来说,它仍然是赖以GTD的工具。
llorch的系列博客信息量比较大。基本上一篇博客对应半天的实际操作。最好的方式是边操作边阅读。在整个系列博客的尾声,llorch想传达的观念是,IDE是保证代码的工具。编程工作的中心,是作为产品输出的代码。使用工具的根本目的,就是要协助劳动者集中于此。
非常感谢热心网友给出的反馈。
由于作者的水平和经验有限,错误疏漏之处再所难免。恳请各位读者朋友指正。请电邮至cqwd2010&qq.com(&为@)。
版权声明:本文为博主原创文章,未经博主允许(mailto:cqwd2010@qq.com)不得转载。
程序集--llorch的Visual Studio基础教程(终)
标签:
原文地址:http://blog.csdn.net/u010289866/article/details/47057625