【问题标题】:.net Core or "clean" .Net for greenfield web project? [closed].net Core 还是“干净”的 .Net 用于新建 Web 项目? [关闭]
【发布时间】:2017-08-18 00:16:04
【问题描述】:

.net Core 还是“干净”的 .Net 用于新建 Web 项目?

Google 搜索了很多,但没有真正找到我应该选择 .Net 核心还是“普通”.net 来进行新建 Web 项目的答案? 鉴于(重要!)它是一个项目(HTML UI + mvc + db),永远将在除 windows + IIS 之外的任何东西上运行。曾经。期间。

对于经典的 .net 是我所知道的所有东西(各种 Nuget Libs),它具有我需要的大量功能。 对于.Net核心是??? (假设我在这个项目中不需要任何跨平台的东西。永远。期间)。

让我感到困惑的是(在我草拟的项目的背景下)

  1. 如果 .Net Core 是指 MS 将来替换“经典”.Net?还是并肩生活?
  2. 核心(最终)是否包含经典 + 更多中的所有内容,反之亦然?

其中一些在这些帖子中有所触动 Target .NET4.6 or .NET Core 1 for greenfield development? 但那是在新的 .Core 2.0 出现之前,所以我重新审视这个问题

:)

【问题讨论】:

  • 这将基于意见,因此不适合这里。但是,您必须对可能使用的其他库有一个很好的了解。如果这些库在 .NET 核心中工作,那么您可以考虑使用它。否则,请继续使用完整的 .NET 框架。
  • 它害怕获得“基于意见”的标签(并且以某种方式同意),但是从谷歌搜索中我能找到的大多数答案都集中在跨平台问题/好处等上,所以我希望我的问题可能会引发我没有想到的问题/要点(给出“仅一个平台”-上下文):)
  • 如果您需要跨平台,那么您肯定需要 .net 核心(您可以做单声道,但何必费心)。如果您不需要 xplat,而且它是新开发的,我个人认为是从 .net core 开始.. 可能需要继续努力.. 但是使用 .net core 2.0,他们添加了一大堆新的api来自.net 4.x,所以应该更容易。
  • 其他需要考虑的是性能,如果您需要原始性能,asp.net core 可能是您的选择。

标签: asp.net .net asp.net-core .net-core


【解决方案1】:

如果 .Net Core 是指 MS 将来取代“经典”.Net?还是并肩生活?

.NET Core 被设计为非常并行(.NET Framework 大部分是就地的)。

核心(最终)是否包含经典+更多中的所有内容,反之亦然?

不,没有计划使 .NET Core 成为 .NET Framework(WinForms 等)的 100% 超集。也没有计划让 .NET Framework 成为 .NET Core 的 100% 超集(某些 API 可能更专注于跨平台,在 .NET Framework 中没有意义,有些可能是半实验性的,并被声明为不适用通过集合)

.net Core 还是“干净”的 .Net 用于新建 Web 项目?

.NET Core 和 .NET Framework 可以(粗略地)被认为是一家初创公司和一家大型公司。

如果 .NET Core 在 master 中进行了错误修复,您可以选择转移到修复它的每日构建。如果 .NET Framework 进行了错误修复,它会在下一个版本中发布,或者在某个补丁星期二发布。

当 .NET Core 2.1(或下一个数字最终是什么)问世时,它具有您想要的功能,您可以立即迁移到它,甚至在网络托管公司上也是如此。 .NET Framework 4.7.1 目前处于预览阶段,但您可能无法通过网络托管公司使用任何 4.7.1 功能,因为他们还没有安装它……而且在 4.7 之后可能暂时不会。 1 次公开发布。

在 .NET Core 中,您可以提出 API 提案,查看它通过审核过程,然后自己编写或等待它出现,然后(如果您愿意)在日常构建中使用它。 .NET Framework 有点慢而且有条不紊,它很乐意让它的小兄弟冒险尝试新的 API。

.NET Core 1.0(2016 年 6 月)增加了对使用显式曲线导出和导入 ECDSA 密钥的支持。 .NET Framework 4.7(2017 年 4 月,滞后 10 个月)具有该功能,并且可能有 .NET Core 1.0 -> .NET Framework 4.7.1(滞后 14 个月,并且还在计数)和(据我所知)可以看出)ValueTask 已添加到 .NET Core 1.0,但不在 .NET 4.7.1-Preview 中。

另一方面,.NET Framework 可能有一个更符合您需要的部署模型,并且有“更多”(但不是“严格意义上的更多”)API 可用。

所以,这是一个权衡。你需要决定什么对你来说很重要。

【讨论】:

    【解决方案2】:

    我的建议是使用“干净”的 .Net。也许您将使用一些当前不适用于 .NET Core 的技术、库或 NuGet 包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多