美高梅开户-美高梅官方网站开户

您的位置:美高梅开户 > 服务器运维 > 应用Api深入分析器与Windows包容包来编排智能的跨

应用Api深入分析器与Windows包容包来编排智能的跨

发布时间:2019-08-29 13:32编辑:服务器运维浏览(199)

    行使Api深入分析器与Windows包容包来编排智能的跨平台.NET Core应用,api解析器

    正文翻译自Scott 汉斯elman博客:

    正文:

    那是多年来这几周你应当清楚的一对.Net Core界的优良工具。大家在编制只怕移植跨平台代码时,它们特别有帮衬。

    正文翻译自Scott 汉斯elman博客:

    .NET API 分析器

    先是是API 深入分析器。如您所知,一时候大家会遇见过时的API,大概一个办法您能够在Windows下使用,可是在Linux下却不能做事。API深入分析器是叁个Roslyn(Roslyn是C#/.NET编写翻译器的名号)剖判器,它能够很轻松地抬高到你的门类,通过三个NuGet包。你所要做的就是丰硕那么些包,之后你将立时赢得警示,或然波浪线表示API相当。

    看看那个大致地例子。作者将生成三个轻易地调整台应用,它曾经增多了API剖判器。注意那一个版本号是眼下的,以往会退换。

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

     然后小编将选取一个只可以在Windows下使用的API。不过我依旧愿意在任何平台下都能够运维。

    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”命令(恐怕运维命令,运营也包罗build动作)然后我获得了一个安然照旧的警告,那几个API不能够做事在具有平台下。

    C:supercrossplatapp> dotnet build

    Program.cs(14,33): warning PC001: Console.WindowWidth isn't supported on Linux, MacOSX [C:UsersscottDesktopsupercr

    ossplatappsupercrossplatapp.csproj]

      supercrossplatapp -> C:supercrossplatappbinDebugnetcoreapp2.0supercrossplatapp.dll

    Build succeeded.

    .NET团队的Olia做了一个很好的YouTube摄像,她的录像呈现了API解析器是哪些做事的。API剖判器的代码已经上传到Github。假使您发觉了bug请在下边提issue!

    .NET CORE的windows兼容包

    其次个,.NET Core的Windows包容包是四个很好的增加补充技术。当.NET Core 2.0支出产生并推出后,它含有3.2万个很好地同盟现成.NET Framework代码的API。实际上,它们确实包容地相当好,笔者事先能够很轻便地将三个15年前的.NET程序移植到.NET Core2.0上,这几个历程中都从未蒙受什么麻烦。

    从.NET Standard1.6的1.3万个api到.NET Standard2.0的3.2万个API,他们增添了一倍多的可用API

    .NET Standard特别的炫彩,因为它支持如下平台:

    • .NET Framework 4.6.1

    • .NET Core 2.0

    • Mono 5.4

    • Xamarin.iOS 10.14

    • Xamarin.Mac 3.8

    • Xamarin.Android 7.5

    当您迁移代码到.NET Core时会有雅量的Windows平台湾特务有的依赖,你可能会境遇有些API在.NET Standard找不到的景况。那时,那些新的NuGet包Microsoft.Windows.Compatibility(预览),它能够提供原先只在.NET Framework可用的API。

    在那几个兼容包里面的API会包罗两种等级次序。一种是其一API原先正是Windows的一有的,然则也足以跨平台工作。别的一种是不得不在windows下专门的学业,因为他们是操作系统特有的。举个例子,API访问WIndows注册表那是Windows下唯有的。但是System.DirectoryServices大概System.Drawing他们却能够在另外平台都干活的很好。Windows包容包在.NET Core以后可用Api的底子上新添呢30000多个API。能够参阅Immol录像的录制。

    主题素材在于,就算那个不可用API是你使用.NET Core的阻碍,那么现在您能够依赖包容包,耶!可是你要精通您怎么须求迁移到.NET Core。.NET Core与完整版.NET Framework都足以在Windows上干活。假诺您的顺序近些日子职业的很好,并且无需.NET Core的新本性,那么就无需移植到.NET Core。这是平整列表:

    使用.NET Core的情况:

    • 你有跨平台要求

    • 你的靶子是微服务

    • 你使用Dorcker容器

    • 您有高品质与可进展要求

    • 您须要同步.NET版本

    使用.NET Core的情况:

    • 您的主次当前使用.NET Framework(推荐使用拓宽来代表迁移)

    • 您的顺序采用第三方.NET库或然NuGet包,它们的.NET Core版本还不可用

    • 你所运用的.NET手艺在.NET Core上还从未辅助

    • 你的前后相继所利用的操作系统平台近日.NET Core还不帮助

    正文:

    图片 1

    本文由美高梅开户发布于服务器运维,转载请注明出处:应用Api深入分析器与Windows包容包来编排智能的跨

    关键词: 美高梅开户