gpt4 book ai didi

.net - 为跨平台开源 UI 不可知 C# 类库选择哪种 Visual Studio 2017 项目类型,为什么?

转载 作者:行者123 更新时间:2023-12-04 17:31:39 24 4
gpt4 key购买 nike

我有一个 C# 类库的想法,我想开发并发布到开源。我想让它在尽可能多的可用 .Net 平台上(例如完整的 .Net、Mono、.Net Core、Xamarin,只有经典的 .Net 兼容性是真正必须的,然而)。该库不会依赖于任何与 UI 相关的东西,也不依赖于 WPF 之类的仅限 Windows 的东西。

我只需要:

  • 常见的 .Net 类型和 API(我不想因为缺少我认为是语言必不可少的部分而感到惊讶)
  • JSON 和 XML 操作工具
  • 文件系统访问(可能有些限制),
  • HTTPS 客户端,
  • SQL 级 RDBMS 客户端(我不需要 ORM 功能,当然不介意它可用)
  • 如果可能,请反射(reflection)
  • 如果可能,异步和线程设施
  • 最新版本的 C# 语言可能

  • 我在以下项目类型之间进行选择
  • 类库 (.NET Core)
  • 类库(.NET 标准)
  • 类库(.NET 框架)
  • 类库(可移植)

  • 我听说 Portable 就是它所说的,但现在我们已经有了在 Linux 和 Mac 上运行的 Core(也许 Windows Phone 和 Xamarin 也是如此?),而且我几乎没有问题,使用 EF Core 显然在我的经典 Windows Desktop 中针对它。 NET 框架应用程序。由于 Mono 和 Xamarin,经典 .NET Framework 代码似乎在非 Windows 平台上得到了很好的支持。 .NET Standard - 我不知道这是什么意思,我刚刚通过“新项目”窗口搜索工具通过查找所有种类的“类库”发现了这种类型。

    我应该选择哪一个,为什么,我应该知道什么?

    最佳答案

  • .NET 标准类库:最大的灵活性,应该能够在各种 .NET 应用程序/平台中使用(不断发展,因为 Unity 尚未涵盖)。
  • .NET Framework 类库:您还应该知道的旧知识。
  • .NET Core 类库:在 .NET Core 应用程序之间共享代码。它存在,因为 .NET Standard 类库有其局限性(配置文件表面通常小于 .NET Core 应用程序)。
  • 可移植类库 (PCL):您现在可以避免使用它们,除非您确实需要支持旧平台。使用 .NET Standard 效果更好,而且面向 future 。

  • 您可以轻松地运行一些实验来断言我上面所做的陈述。

    作为一个库发布者,我现在选择发布包含 .NET Framework 版本、.NET Standard 版本和 PCL 版本的 NuGet 包,并且从长远来看会逐渐放弃 .NET Framework 和 PCL 版本。许多其他图书馆也这样做。

    我还写了一篇博文来介绍更多,

    https://blog.lextudio.com/which-class-library-project-to-go-in-visual-studio-2015-2017-a48710cf3dff

    关于.net - 为跨平台开源 UI 不可知 C# 类库选择哪种 Visual Studio 2017 项目类型,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42737406/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com