真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用Api分析器與Windows兼容包來編寫智能的跨平臺(tái).NETCore應(yīng)用

本篇文章為大家展示了如何使用Api分析器與Windows兼容包來編寫智能的跨平臺(tái).NET Core應(yīng)用,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設(shè)計(jì),成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為1000+服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣服務(wù)!

正文:

如何使用Api分析器與Windows兼容包來編寫智能的跨平臺(tái).NET Core應(yīng)用

這是最近這幾周你應(yīng)該知道的一對(duì).Net Core界的優(yōu)秀工具。我們?cè)诰帉懟蛘咭浦部缙脚_(tái)代碼時(shí),它們非常有幫助。

.NET API 分析器

首先是API 分析器。如你所知,有時(shí)候我們會(huì)遇到過時(shí)的API,或者一個(gè)方法你可以在Windows下使用,但是在Linux下卻不能工作。API分析器是一個(gè)Roslyn(Roslyn是C#/.NET編譯器的名稱)分析器,它可以很容易地添加到你的項(xiàng)目,通過一個(gè)NuGet包。你所要做的就是添加這個(gè)包,之后你將立即得到警告,或者波浪線表示API有問題。

看看這個(gè)簡單地例子。我將生成一個(gè)簡單地控制臺(tái)應(yīng)用,它已經(jīng)添加了API分析器。注意這個(gè)版本號(hào)是目前的,以后會(huì)改變。

C:\supercrossplatapp> dotnet new console
C:\supercrossplatapp> dotnet add package Microsoft.DotNet.Analyzers.Compatibility --version 0.1.2-alpha

 然后我將使用一個(gè)只能在Windows下使用的API。但是我依舊希望在任何平臺(tái)下都可以運(yùn)行。

static void Main(string[] args)

{

    Console.WriteLine("Hello World!");

    if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))

    {

        var w = Console.WindowWidth;

        Console.WriteLine($"Console Width is {w}");

    }

}

之后我使用“dotnet build”命令(或者運(yùn)行命令,運(yùn)行也包含build動(dòng)作)然后我得到了一個(gè)漂亮的警告,這個(gè)API不能工作在所有平臺(tái)下。

C:\supercrossplatapp> dotnet build

Program.cs(14,33): warning PC001: Console.WindowWidth isn't supported on Linux, MacOSX [C:\Users\scott\Desktop\supercr

ossplatapp\supercrossplatapp.csproj]

  supercrossplatapp -> C:\supercrossplatapp\bin\Debug\netcoreapp2.0\supercrossplatapp.dll

Build succeeded.

.NET團(tuán)隊(duì)的Olia做了一個(gè)很好的YouTube視頻,她的視頻展示了API分析器是如何工作的。API分析器的代碼已經(jīng)上傳到Github。如果你發(fā)現(xiàn)了bug請(qǐng)?jiān)谏厦嫣醝ssue!

.NET CORE的windows兼容包

第二個(gè),.NET Core的Windows兼容包是一個(gè)很好的補(bǔ)充技術(shù)。當(dāng).NET Core 2.0開發(fā)完成并推出后,它包含3.2萬個(gè)很好地兼容現(xiàn)有.NET Framework代碼的API。實(shí)際上,它們確實(shí)兼容地非常好,我之前可以很容易地將一個(gè)15年前的.NET程序移植到.NET Core2.0上,這個(gè)過程中都沒有碰到什么麻煩。

從.NET Standard1.6的1.3萬個(gè)api到.NET Standard2.0的3.2萬個(gè)API,他們?cè)黾恿艘槐抖嗟目捎肁PI

.NET Standard非常的酷炫,因?yàn)樗С秩缦缕脚_(tái):

  • .NET Framework 4.6.1

  • .NET Core 2.0

  • Mono 5.4

  • Xamarin.iOS 10.14

  • Xamarin.Mac 3.8

  • Xamarin.Android 7.5

當(dāng)你遷移代碼到.NET Core時(shí)會(huì)有大量的Windows平臺(tái)特有的依賴,你可能會(huì)遇到有些API在.NET Standard找不到的情況。這時(shí),這個(gè)新的NuGet包Microsoft.Windows.Compatibility(預(yù)覽),它可以提供原先只在.NET Framework可用的API。

在這個(gè)兼容包里面的API會(huì)包含兩種類型。一種是這個(gè)API原先就是Windows的一部分,但是也可以跨平臺(tái)工作。另外一種是只能在windows下工作,因?yàn)樗麄兪遣僮飨到y(tǒng)特有的。例如,API訪問WIndows注冊(cè)表這是Windows下獨(dú)有的。但是System.DirectoryServices或者System.Drawing他們卻可以在任何平臺(tái)都工作的很好。Windows兼容包在.NET Core現(xiàn)在可用Api的基礎(chǔ)上新增呢20000多個(gè)API??梢詤㈤咺mmol錄制的視頻。

問題在于,如果這些不可用API是你使用.NET Core的攔路虎,那么現(xiàn)在你可以借助兼容包,耶!但是你要知道你為什么需要遷移到.NET Core。.NET Core與完整版.NET Framework都可以在Windows上工作。如果你的程序目前工作的很好,并且不需要.NET Core的新特性,那么就不需要移植到.NET Core。這是規(guī)則列表:

使用.NET Core的情況:

  • 你有跨平臺(tái)需求

  • 你的目標(biāo)是微服務(wù)

  • 你使用Dorcker容器

  • 你有高性能與可拓展需求

  • 你需要同步.NET版本

使用.NET Core的情況:

  • 你的程序當(dāng)前使用.NET Framework(推薦采用拓展來替代遷移)

  • 你的程序使用第三方.NET庫或者NuGet包,它們的.NET Core版本還不可用

  • 你所使用的.NET技術(shù)在.NET Core上還沒有支持

  • 你的程序所使用的操作系統(tǒng)平臺(tái)目前.NET Core還不支持

上述內(nèi)容就是如何使用Api分析器與Windows兼容包來編寫智能的跨平臺(tái).NET Core應(yīng)用,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享標(biāo)題:如何使用Api分析器與Windows兼容包來編寫智能的跨平臺(tái).NETCore應(yīng)用
本文鏈接:http://weahome.cn/article/josshd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部