.net纵横谈(一)-.Net技术-3P代码网
繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> 评论及其它 >> .net纵横谈(一)

.net纵横谈(一)

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:5  文字大小:【】【】【
简介:好久没在这贴原创的帖子了,尤其是用中文:)这次本来是想和bigeagle探讨一下CLR的,但是,等到动笔时我又改变了主意,主题更为广泛,包括ASP.Net,XML,CLR和IL也许还有Web Service,呵呵,其原因有二:一是CLR...
关键字:.net 纵横谈

好久没在这贴原创的帖子了,尤其是用中文:)这次本来是想和bigeagle探讨一下CLR的,但是,等到动笔时我又改变了主意,主题更为广泛,包括ASP.Net,XML,CLR和IL也许还有Web Service,呵呵,其原因有二:一是CLR这个话题太枯燥,很多朋友没有兴趣,没人理睬的文章我也没有写下去的动力;二是我想我写的越多,暴露的缺点也越多,可以从大家那里获得很多指点,我会获益匪浅(有点自私啊:))。这次计划写很长,我自己也没什么把握,呵呵。

言归正传

第一章Assemblies

sigh,也是很没劲的话题,你可能会想。但也许你咬着牙读完的时候,会发现它其实很有趣。OK,Let’s begin。CLR(Common Language Runtime)要求所有的类型都要归属于一个Assembly。Assemblies在.Net Framework中的角色是组件代码的最小可分发单位。一些关于Assemblies的要点

l Assemblies是类型定义的集合

l 类型名是由它所处的Assembly检查的

l 只有标记为public的类型和成员才能在Assembly的外部可见

l 标记为internal的成员和类型在Assembly的外部不能访问

l 标记为private的成员在声明它们的类型的外部是不可见的

1.1

Assemblies和modules

一个Assembly包含一个或多个物理文件(modules),module是一个包括代码和metadata的可执行文件,每个module都可能是用不同的语言生成的,在一个Assembly里一个module包含一份Assembly manifest。Csc.exe /t:module和/addmodule开关支持module级的编译和引用。默认的情况下,csc.exe /t:module生成的文件会有一个.netmodule的扩展名。这时,它是不包含manifest的,这种文件是不能被CLR加载的。然而这样的文件却可以通过/addmodule开关整合到assembly manifest中。而al.exe可以连接(link)多个module并创建manifest。

/t:module

.module test.netmodule

责任编辑:admin
相关文章