1 有5个组成部分,但最主要的部分是.NET Framework
2. 运行在Windows操作系统的一个应用程序,一个可供二次开 发的类库
3.NET Framework包括以下组件: 公共语言运行库(CLR)   基础类库(BCL) 数据库访问组件(ADO.NET和XML) 基于ASP.NET编程框架的网络服务(Web Service)和网络表单(WebForms) Windows桌面应用界面编程组件(WinForm).

4.NET是微软公司和sum公司的结果

5.狭义的是指 Framework 核心是CLR(公共语言运行时库)

6…Net可以使用多种语言来开发应用系统

7…net源代码 ->中间语言IL -> (Intermediate Language) -> CLR(Common Language Runtime)公共语言运行库 -> 第二次编译 -> 机器码(可执行的最终代码) :1).把原代码编译为中间语言(IL)
2).CLR把IL编译为平台专用代码.

Mircorsoft中间语言(Microsoft Intermediate Languane)MSIL

通用类型系统(Common Type System) CTS

公共语言规范(Common Language Specification ) CLS

公共语言运行库(Common language Runtime) CLR

托管代码(Manged Code)

即时编译(JIT)

.Net能够使用多语言开发的原因(语言互操作的原因)?

  1. 所使用的语言必须遵守公共语言规范。

  2. 进行第一编译后,在中间语言里,类型都变成了统一的(通用类型系统)。

  3. CLR进行二次编译,编译成机器码。

首先目前是不能在Linux上直接安装、运行程序的。
1、微软正在致力于把 framework移植到Linux和Mac上。
2、有一个叫Mono的项目,可以使Linux也支持 framework
3、wine,windows的模拟器。

让.NET应用程序在linux上运行,目前通用的做法就是在Linux上安装mono,然后通过”mono your.exe“命令运行这个程序。

这种运行程序的办法有两个弱点,一个是需要客户机安装mono,二个是 ”mono xx.exe“ 这种命令行总让人感到有点不太专业的味道。

那么,有没有办法既不安装mono,又能让你的.NET程序就像c语言编译的程序那么,”直接“在Linux上运行呢?

为了解决程序特别是控制台程序在Linux平台上部署和运行的简便性问题,我给大家准备了一个小工具,叫”AnyExec“,下面具体谈谈怎么将你的程序与 AnyExec整合起来,形成一个可以在Linux平台上无需安装mono就可以独立运行的程序系统。

由于目前只有64位的AnyExec,所以需要大家准备一台64位Linux测试机(20181001)

更多推荐

.net基础知识学习