开始
.net5 统一起来。没有framwork、core、standard的概念。
framwork:开发windows上程序
core:开发跨平台的
standard:遵循的标准。
创建一个framework的控制台项目。这里可以看到 ,控制台程序只有.net core和framework这两个。并没有standard的版本。因为standard只是标准。 .net core和framework才是实现。
这里先新建一个.net core的应用程序。
添加TestLib1的引用。
改成静态的方法
调用这个静态方法
把class1的位置也打印出来。
14分08秒
https://www.bilibili.com/video/BV1pK41137He?p=4&vd_source=346f67c32f7608d2c2edcd4bd55accff
接下来新建.net framework的项目
版本是创建的时候默认的。
也引用TestLib1这个类库。
先来运行.net core的项目
设置为启动项目,然后并运行
可以看到 启动的时候运行的两个路径。
把这俩路径复制出来了
在运行framework这个程序
ctrl+鼠标左键点击进去
同样一个东西在三个地方,赋予三个不同的属性
我们来反编译。
ILSpy这个反编译的工具
首先来反编译Standard的
这个程序集被标记为引用程序集。
只包含原数据,不包含可执行代码
下面反编译.net core的dll
设置默认展开方法体
把BeginRead的方法实现复制出来代码。
.net framework的实现
右边是framework的, 两边代码有实现不同的地方。
最终的返回。
反编译这个类库。我们自己创建的这个。
方法是有实现的
再来反编译framework下的dll
同样有实现
如果想让你的项目,被.net core和 .net framework引用的话 就创建为standard的
standard也是有版本的。