C#上位机开发概述(学习笔记1)

1.简史

2002 发布C# 1.0(.Net Framework 1.0) 和 VS2002。

2014 为了解决市场占有率不高以及不能跨平台等问题,.NET Core 发布并开源。

2020 .NET5.0发布,去掉Core字样,并宣布.Net Framework4.8是.Net Frmaework的最后一个版本。

2021 .NET6.0发布,发布跨平台框架MAUI,才真正解决桌面程序跨平台问题。。
2022 .Net7.0发布,统一了各种开放平台。
之后几乎每年一个大版本。

2. .Net Framework 和 .Net Standard

核心是公共语言运行库(CLR),托管程序就是在CLR中运行。
CLR 包括基本类型系统(CTS),垃圾回收,各种控件等等。
.Net Standard是基本类型,是CLR的底层,实现了各平台统一个的基本操作,例如I/O,线程,数据类型等等。

无论是.Net Framework,还是.Net Core都是基于.Net Standard.

作用:为了解决生态系统的一致性。例如windows平台和linux平台对线程的操作就可以统一起来。

从.Net 5.0开始用新的方法建立一致性,不再依赖.Net Standard。

3. .NetCore/.Net

.NetCore的出现是为了解决跨平台的问题。
.NetCore 与 .Net Framework是子集和超集的关系,可以简单认为是 .Net Framework 的 跨平台版本。

.NetCore 的大部分代码都是从.Net Framework继承过来的。
从5.0开始去掉了Core。
6.0推出了跨平台UI程序框架MAUI.

4. Natice和Managed程序

Natice:原生程序,由操作系统直接运行,速度快。

Managed:托管程序,需要编译成CIL(通用中间语言)代码,在CLR中运行,以往速度慢,现在随着微软不断优化,两者相差不大。

5. VS执行模式

  • debug: 调试模式,用于开发,里面包含了大量的调试信息,而且不做任何优化。

  • release: 发布模式,用于最终用户,不含有调试信息,各种优化,达到代码最小和速度最优。

6. WinForm和WPF

  • WinForm: Windows Form Program的简称,是.Net平台对传统win32 API的封装,提供很多常用的控件,是一种GUI的快速开发框架。
    在图形显示上有一定的缺陷,特别是在高DPI下显示与设计是不一致,这一问题在.NET6.0中得到了一定的解决。
  • WPF:windows presentation foundation的简称,新一代GUI开发框架,采用XAML规范,实现了界面设计与业务逻辑处理的分离,界面美观酷炫。
    上手比WinForm难,学习成本较高.

建议:项目开发用WinForm,产品用WPF。

7. 程序执行机制

  • PLC:循环进行的逐行扫描,从上电后开始执行程序第一句,一致到最后语句,然后再循环。
  • Windows的程序执行机制:事件驱动。

    程序注册需要监听的消息给操作系统,操作系统收到后将消息转给程序处理。

8. Runtime

对于没有安装.Net Framework或.Net程序的,如果想要运行.Net开发的程序,需要安装Runtime。

  • windows操作系统内置了Runtime,例如win7是3.5.
  • Runtime共有三个版本,常用的是.Net Desktop Runtime和ASP.Net Core Runtime,前者用于运行桌面应用,后面运行Web程序。
posted @ 2025-11-14 16:16  huiy_小溪  阅读(44)  评论(0)    收藏  举报