創建類庫時如何選擇類型

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裏面是沒有實現的,只是定義了方法,也就是說定義了一種標準,說明我的類裏面有哪些東西。調用的時候再根據我們當前使用的框架去找到對應框架的實現。

選擇.NET Core 目標框架只能在.NET Core框架內使用

  • .NET Core 3.1 目標框架開發的類庫可以在 .NET 5.0 中使用。事實上,.NET 5.0 是 .NET Core 3.1 的繼承者,其 API 表面也相同。這意味着,.NET 5.0 可以兼容 .NET Core 3.1 的類庫,並可以無縫遷移。
  • .NET 5.0 目標框架開發的類庫無法直接在低版本的 .NET Core 上使用。這是因爲 .NET 5.0 目標框架引入了一些新的 API 和功能,這些 API 和功能在舊版的 .NET Core 中並不存在。

參考

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章