应用程序存在形式的发展:
EXE文件 –> dll 文件 –> .net 虚拟机
Managed Execution 受控执行
.net 开发的软件可移植,而且相对于java 开发语言还可以选择
Managed Code 受控代码
C#、VB、J#编译器会生成受控代码
CIL通用中间语言:针对通用语言运行时的
基于组件的应用程序(一个应用程序包含多个组件dll):
多层应用程序结构,三层:界面表现层、业务逻辑层、数据访问层
可复用已经做好的组件功能
Assembly :.net 组件
.net类库存在 GAC:Global Assembly Cache 中
GAC位于windows/assembly 文件名称可以相同,但是版本不相同
Assembly 查找算法
GAC -> .conf 文件指定位置 –> .exe文件所在路径搜索
EXE中的Manifest 中存储了所引用assembly版本信息
“Dll陷阱”
部署
Dos时代(拷贝exe) -> Windows时代(拷贝assembly,以及完成组件在注册表注册) ->.net时期 直接拷贝就行
url部署