首页 > 其他分享 >.NET Standard是什么

.NET Standard是什么

时间:2024-08-01 18:39:56浏览次数:19  
标签:Core Xamarin 实现 什么 Standard Framework NET

在Visual Studio中新建项目的时候,除了.NET Framework和.NET Core之外,我们还会看到.NET Standard的身影,如图1所示。

在“类库”项目中,.NET Standard和.NET Core、.NET Framework具有同等地位,但是.NET Standard只在“类库”项目中出现过,在“控制台”“Web应用程序”等项目中都没有它的身影。那么.NET Standard到底是什么呢?

图1 新建项目向导

在.NET大家庭中有.NET Framework、.NET Core、Xamarin等具体的实现,在这些实现中,有一些其他实现所不具有的特性。比如,.NET Framework中有访问Windows注册表的类,很显然这是其他实现所不具备的;再如,Xamarin中有拨打电话的类,很显然这也是其他实现所不具备的。但是这些实现也有一些可以共享的类,比如读写文件的类、List集合类、字符串类等。假如每个.NET实现中,这些可以共享的类(也叫“基础库”)都有自己的一套做法,如图2所示,就有可能出现同样功能的类在不同的实现中各不相同的情况,比如在.NET Framework中操作文件的类叫FileStream,但是到了.NET Core中对应的类叫Storage。这样就会带来一个问题:如果我们想开发一个读写文件的代码库供.NET Framework、.NET Core等使用,代码编写起来就很麻烦了。

反之,如果微软为文件操作、集合等所有.NET实现中都具有的部分制定一个规范,无论是.NET Framework、.NET Core还是Xamarin都要遵守这个规范。比如这个规范规定操作文件的类必须叫FileStream,而且FileStream类必须要有Read、Write、Flush等方法,参数和返回值也必须统一。

这样编写通用库的时候就会简单很多了。这个“各个实现通用的基础库规范”叫作.NET Standard,如图3所示。

.NET Standard规定了一系列需要被所有.NET Core、.NET Framework及Xamarin等共同实现的API,包括有哪些类、有哪些方法、参数和返回值是什么等。需要说明的是,.NET Standard只是一个规范,不是一个框架。不要以为.NET Standard是一个被.NET Framework、.NET Core、Xamarin等共用的基础库,.NET Standard只是规定了需要被实现的规范,但是不负责具体实现。

 

标签:Core,Xamarin,实现,什么,Standard,Framework,NET
From: https://www.cnblogs.com/cuihongyu3503319/p/18337251

相关文章

  • Visual Studio 中.net8.0(以前叫NET Core)框架和.net framewok 框架有什么区别
    更新vs到2022版本后,新建项目时就多出不少选项,这里来给大家分享下.net8.0(以前叫NETCore)框架和.netframewok的区别如下图,不带后缀的就是使用.net8.0。.netframewok框架选项:正文开始:###支持的C#语言版本-**.NETCore(及其后续版本,如.NET5,.NET6,.NET7)**:这......
  • 什么是软文写作最常见的结构
    在的数字时代,软文写作已成为品牌推广和产品营销中不可或缺的一部分。软文不同于硬性广告,它通过内容引导读者潜移默化地接受产品或服务,从而达到营销目的。什么是软文写作最常见的结构呢?本文将为您揭示软文写作的秘密,帮助您更好地掌握这一营销利器。软文写作常见的结构之一是问题-......
  • .NET使用RabbitMQ发送消息
    usingRabbitMQ.Client;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceCommon{publicclassRabbitMQSender{privatestaticRabbitMQSenderinstance;pr......
  • 考研英语一都考什么题型?要怎么复习
     考研英语一考试题型考研英语一的考试题型主要分为三大部分,包括英语知识运用(完形填空)、阅读理解以及写作。具体题型及分值分布如下:1.英语知识运用(完形填空):共20小题,每题0.5分,共10分。主要考查形式是在一篇约280词的文章中留出20个空白,要求考生从每题所给的4个选项中选出......
  • net use的用法和如何防止重连
    netuse命令用于建立、显示或断开与网络资源的连接。以下是netuse命令的一些基本用法和参数说明:防止重连,可以在连接时使用不保存的参数(/persistent:no),或者netuseZ:/delete 基本语法Bash深色版本1netuse[device][\\computername\sharename[password|*][us......
  • 为什么得到的html content.txt是空的?
    该计划的目标很简单,就是获得tageschau.de的头条新闻。一开始很正常,但是运行几次后什么也得不到。importrequestsfrombs4importBeautifulSoupheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)''AppleWe......
  • 为什么 spdlog 不在异步函数中打印
    importasynciofrompathlibimportPathimportspdlogasspdimportasyncioimportloggingasyncdefA():asyncio.create_task(B())whileTrue:awaitasyncio.sleep(1)asyncdefB():logger=spd.DailyLogger(name='B',filen......
  • 为什么Python库中还没有Gauss-Jordan消去函数?
    Gaussian-Jordan消除法是一种常用且方便的技术。在矩阵计算中,该方法得到广泛应用。但是,Python库中没有此方法的内置函数。设计这样的功能并不困难。开发人员似乎忽略了这个功能。这可能是什么原因?希望开发者能够重视这一点,并开发与该方法相关的功能。虽然高斯-约旦消元......
  • Next.js 中为什么 App Router 可能是未来,但 Pages Router 仍然重要?
    Next.js作为一个强大的React框架,为开发者提供了两种路由系统:AppRouter和PagesRouter。这两种路由系统各有特色,适用于不同的场景。本文将深入探讨这两种路由系统的区别、优缺点和使用场景,帮助你做出最佳选择。AppRouter:新一代的路由革命AppRouter是Next.js13引入的......
  • 使用 Python 生产者和消费者在 Kubernetes minikube 上设置 Kafka Kraft
    我正在尝试从kubernetes集群外部连接到kubernetesminikubekafkapod。服务器启动没有任何问题,但我无法设法将本地kafka生产者/消费者连接到外部kafkapod。在集群内的kafka服务器映像上,我将bootstrap-server设置为:bin/kafka-topics.sh--create--bootst......