开始

.net5 统一起来。没有framwork、core、standard的概念。
framwork:开发windows上程序
core:开发跨平台的
standard:遵循的标准。

image.png

image.png

image.png

image.png

image.png

image.png

image.png
创建一个framework的控制台项目。这里可以看到 ,控制台程序只有.net core和framework这两个。并没有standard的版本。因为standard只是标准。 .net core和framework才是实现。
image.png
这里先新建一个.net core的应用程序。
image.png

image.png
添加TestLib1的引用。
image.png
改成静态的方法
image.png
调用这个静态方法
image.png
把class1的位置也打印出来。
image.png

image.png
14分08秒
https://www.bilibili.com/video/BV1pK41137He?p=4&vd_source=346f67c32f7608d2c2edcd4bd55accff
接下来新建.net framework的项目
image.png
版本是创建的时候默认的。
image.png
也引用TestLib1这个类库。
image.png

image.png
先来运行.net core的项目
image.png
设置为启动项目,然后并运行
image.png
可以看到 启动的时候运行的两个路径。
image.png
把这俩路径复制出来了
image.png

image.png

在运行framework这个程序
image.png

image.png
ctrl+鼠标左键点击进去
image.png

image.png
同样一个东西在三个地方,赋予三个不同的属性
我们来反编译。
image.png
ILSpy这个反编译的工具
image.png
首先来反编译Standard的
image.png
这个程序集被标记为引用程序集。
image.png
只包含原数据,不包含可执行代码
image.png

image.png

下面反编译.net core的dll
设置默认展开方法体
image.png
image.png
把BeginRead的方法实现复制出来代码。
image.png

.net framework的实现
image.png
image.png
右边是framework的, 两边代码有实现不同的地方。
image.png
最终的返回。
image.png
反编译这个类库。我们自己创建的这个。
image.png
方法是有实现的
image.png
再来反编译framework下的dll
同样有实现
image.png

image.png

image.png
如果想让你的项目,被.net core和 .net framework引用的话 就创建为standard的
image.png
standard也是有版本的。
image.png

image.png

image.png

image.png

结束