.net与c#学习笔记(一)

来源:互联网 发布:网站抓取软件 编辑:程序博客网 时间:2024/04/29 08:33

应用程序的执行历史演变

通过编译、链接生成单一的本地的可执行文件.exe

基于动态链接库DLL的形式

基于虚拟机的程序执行模式(如JVM或.NET Framework)

托管(受控的)执行

硬件->操作系统->运行时环境->应用程序

运行时环境

java:  jvm   jcl

.net:  clr   fxcl

设计上的权衡

可移植性

安全性(内存管理)

速度

受控代码:受.net framework运行和管理的代码

cil中间语言  ildasm app.exe 反汇编  

受控代码也就是中间语言的代码

基于组件的设计

front-end ->object(业务逻辑)->object(数据逻辑)->db

assembly分析

assembly是对.net组件的称呼

一个或多个源文件的编译结果 assembly

fxcl assembly存储于GAC中

应用程序搜索assembly的算法:

GAC->.config配置文件制定的位置->可执行文件所在的路径

manifest存储了版本,相关信息(应用程序引用的assembly及其版本信息都放在manifest文件中)

总之,应用程序在以上所述三个位置里按照manifest记录的引用的assembly信息来找到该assembly

部署

可以将exe文件和相应的dll等文件直接拷贝到客户机上

通过自定义配置文件部署

通过url安装部署

clickonce部署