我想创建一个在中使用的库。Net框架应用程序和Xamarin应用程序。但是有3个框架版本:
所以我无法决定使用我的公共库的版本。
我对框架感到困惑。
这里有很多令人困惑的其他答案。
首先,这取决于您针对的平台。
您应该使用.NET Standard,因为它为您提供了最多的平台。您使用哪个版本取决于所需的功能。
如果你想接触最多的平台,试着把目标定得越低越好。NET标准1.0,它针对。网芯1.0,。NET Framework 4.5、Mono、Xamarin iOS 10/Mac 3.0/Android 7.0、UWP 10和Uniy 2018.1以及这些版本的所有更新版本)。
您可以在提供的链接中看到确切的。NET标准矩阵。
如果你需要特定的API,你必须以更高的版本为目标,比如.NET Standard 2.0,它比.NET Standard 1.1(来自.NET Framework的约22k个新API已经移植到.NET Core 2.0)API。
这可能不允许你所有的API(没有WPF/WinForm特定的API),但在通用的可重用库中,这应该不是一个问题。
在这里,如果可能,您还可以应用案例 1 提示。
如果这不能满足您的需求,并且您知道您不需要target。NET Core或Unity,您仍然可以使用老式的PCLs:可移植类库。
它们是.NET Standard(有点像.NET Standard的前身)的更复杂的版本,其中根据您面向的平台,API表面会缩小到仅允许在所有这些平台上运行的API使用。
现在不建议使用PCL,因为.NET标准是首选,并且更容易(对于库作者)使用和针对多个平台。
最后但并非最不重要的一点是,如果你真的只需要Windows和.NET Framework上的一些功能(或者你不关心.NET Core),你仍然可以交叉目标,即为所有平台提供.NET Standard 2.0,并仅将特定的API添加到net45
目标和预处理器指令中(#if NET45
/ #endif
)。
这将编译成两个库,一个用于< code>netstandard2.0,另一个用于< code>net45(。NET Framework 4.5)。
在编写C#库时,我想您知道类和接口之间的区别。类是某个功能集的具体实现,接口定义了可以从实现它的实例中获得的功能。
以此为例,。NET Framework和。NET Core就像类。. NET Framework是“经典”实现,而。NET Core是一个较新的实现,它具有能够在Linux上运行等优点。如果您构建一个库来定位。NET Core或。NET Framework,您正在构建它以这些具体实现之一为目标。
. NET Standard另一方面就像一个接口。每个版本的. NET Standard提供了一组功能,不同版本的. NET Framework/. NET Core实现了不同版本的. NET Standard。当您构建一个针对给定版本的库时。NET Standard,您是说您可以支持该表相应列中的所有具体实现。
决定目标的. NET Standard版本将取决于您实现库所需的功能。更多功能通常意味着更高的版本和支持更少的实现。更少的功能意味着更低的版本和更广泛的支持。
这可能会帮助你做出决定
因此,如果您希望所有不同类型的.Net实现都支持您的库,.Net标准是一种可行的方法。
我正在尝试构建WebApi应用程序,该应用程序可以使用4.5.net框架托管环境。 我使用的是Visual Studio 2017(15.4.4版本),创建了带有Web Api核心库的空Web应用程序项目。默认情况下,它为4.6. net框架创建。 我将项目的目标框架更改为 4.5,删除并重新安装了所有包(它们现在在 packages.config 中都显示为 targetFramework=“n
我按照以下网址的说明进行了操作: https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.1 在.NET核心中创建gRPC服务和客户端,一切都很好。 接下来,我需要一个遗留的。NET框架应用程序访问该服务。我找到了一些安装的NuGet包,但没有找到任何告诉你如何使用它们来制作g
我的目标是使用MFC创建一个无框架对话框,它是像图中所示的普通矩形,我对MFC应用程序有基本的了解。
本文向大家介绍CI框架实现创建自定义类库的方法,包括了CI框架实现创建自定义类库的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了CI框架实现创建自定义类库的方法。分享给大家供大家参考,具体如下: 当我们使用 “类库” 这个词的时候,通常我们指的是位于 libraries 这个目录下的那些类。 接下来我们将介绍 如何在 application/libraries 目录下创建你自己的类库
类库定义了可以从任何应用程序调用的类型和方法。 使用.NET Core开发的类库支持.NET标准库,该标准库允许您的库由任何支持该版本的.NET标准库的.NET平台调用。 当完成类库时,可以决定是将其作为第三方组件来分发,还是要将其作为与一个或多个应用程序捆绑在一起的组件进行包含。 现在开始在控制台应用程序中添加一个类库项目(以前创建的FirstApp项目为基础); 右键单击解决方案资源管理器 ,
创建和配置你的版本库 在“版本库开发策略”一节,我们我们看了一些在创建和配置Subversion版本库之前需要做的重要决定,现在我们最终要干活了!在本小节,我们要看看如何真实的创建一个Subversion版本库,并配置它在特定版本库事件执行自定义动作。 创建版本库 创建一个 Subversion 版本库出乎寻常的简单。 Subversion 提供的svnadmin 工具,有一个执行这个功能的子命令