位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 引用和目標(biāo)框架

提問人:劉團(tuán)圓發(fā)布時間:2020-12-09

    在決定實(shí)現(xiàn)哪個版本的.NET Standard時,決定因素是類庫必須運(yùn)行在什么平臺和框架上。如表所示,選擇的.NETStandard的版本越高,可用的API(參見下表)越多,但能運(yùn)行該類的平臺也越少。

框架


.NET Standard

1.1

1.2

1,4

1.5

2.0

.NET Core

1.0

1.0

1.0

1.0

2.0

.NET Framework (.NET Core 2.0)

4.5

4.5J

4.6.1

4.6,1

4.6.1

Mono

4.6

4.6

4.6

4.6

5.4

Xamarin.iOS

10

10

10

10

10.14

Xamarin. Android

7.0

7.0

7.0

7.0

8.0

UWP

10

10

10

vNext

vNext

    設(shè)想這樣一個場:.NET Standard類庫需要運(yùn)行,面向的是.NET Core 1.0、.NET Framework 4.5.1和Xamarin.Android 7.0框架這種情況下,.NET Standard類庫必須面向.NET Standard 1.2版本,因?yàn)榇税姹局С稚鲜鏊锌蚣???紤]另一個場景:仍然需要面向上述所有框架,只是需要的.NET Framework版本是4.6.1。此時,.NET Standard類庫應(yīng)孩面向版本1.4。如果.NET Framework需要側(cè)重在4.5版本上,則應(yīng)該知道的是,4.6.1版本中也具有4.5版本的功能。舊版本的APr也包含在了新版本中,所以不需要向下降級。

    不同.NET Standard版本中提供的AI>I存在巨大區(qū)別。如表所示,.NET Standard 2.0中的API數(shù)量相當(dāng)大,有33 000個左右,而i.O版本中提供的API則要少得多。因此,當(dāng)面向1.0版本時,能夠訪問執(zhí)行程序所需的AH的可能性要比面向2.0版本時更小.很多情況下,“較老的”共享項(xiàng)目或PCL面向的是較早的.NET Framework版本,而它們并沒有被移植到.NET Standard中。這意味著那些項(xiàng)目中的代碼將無法運(yùn)行,可能是因?yàn)锳PI不存在、己被明顯修改或根本不被支持。


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部