创建类库时如何选择框架

发布时间 2023-06-05 00:23:25作者: 广州大雄

image
.NET Standard 库是一组可跨多个 .NET 平台共享使用的 API 的集合。它包含了许多常用的 .NET API,包括基本数据类型、集合、文件系统、网络、安全等方面的 API。.NET Standard 库被设计为具有高度可移植性,可以轻松地跨不同的 .NET 平台使用,并且不需要重复开发和维护多个版本的代码。

NET Standard版本对应关系

image
image

.NET Standard 库在不同的环境调用对应内库方法

1、创建一个.NET Standard 类库,添加一个简单的测试方法。

public class NetStandardTest
{
    public static void PrintLocation()
    {
        //打印FileStream 路径
        Console.WriteLine(typeof(FileStream).Assembly.Location);
        //打印NetStandardTest 路径
        Console.WriteLine(typeof(NetStandardTest).Assembly.Location);
    }
}

在这个测试方法里面我们加了两行打印代码。主要是打印FileStream路径,同时我们创建的.NET Standard类库为2.0,因为我们接下来要创建.net framework 的控制台,它不支持2.1。

2、创建.net 5,.net framework 4.6.1 控制台程序

创建好两个控制台项目,在主方法里面调用内库方法。

static void Main(string[] args)
{
    NetStandardTest.PrintLocation();

    Console.ReadKey();
}

3、运行分析
image
.net standard里面是没有实现的,只是定义了方法,也就是说定义了一种标准,说明我的类里面有哪些东西。调用的时候再根据我们当前使用的框架去找到对应框架的实现。

参考

https://www.cnblogs.com/SunSpring/p/15047424.html
https://learn.microsoft.com/zh-cn/dotnet/standard/net-standard?tabs=net-standard-2-1