我为什么要选择带有.Net内核的ASP.NET Core?

use*_*286 6 asp.net-core-mvc .net-core asp.net-core asp.net-core-1.0

现在,我看到创建ASP.net核心Web应用程序时有两个选项.

  • 带有.Net Core的ASP.Net核心Web应用程序
  • 带有.Net Framework的ASP.NET核心Web应用程序

我所理解的是第一个允许我们在任何环境linux,mac,windows上运行它而不预先安装.net.

当然,我将仅在Windows环境中运行我的WebAPI.在那种情况下,我应该选择哪一个?带有.Net Core的ASP.Net核心Web应用程序或带有.Net Framework的ASP.Net核心Web应用程序?

当我计划在Windows中运行时,选择.Net Core的ASP.Net核心Web应用程序有什么好处?我需要创建新的WebAPI.依赖性不是问题,这将是非常简单的basi web api,所以我相信我可以在其中任何一个中做,而不依赖于基于.Framework 4.6构建的一些旧组件.*

另外,ASP.NET核心Web应用程序与.Net Framework和ASP.NET Web应用程序与.Net Framework有什么区别?

Vic*_*aci 8

使用.NET Core时有一些优点:

  1. 较小的应用程序,因为您只包含您需要的软件包
  2. 较小的攻击区域因为#1:您只包含您的应用实际使用的内容
  3. 如果您使用自包含应用程序路线,则更容易部署
  4. (可能)长期提供更好的支持和升级
  5. 将来迁移到Linux托管的可能性

最大的缺点是某些NuGet包在.NET Core上可能无法正常工作.根据您的应用使用的内容,这可能是最终的决策因素.


Fab*_*och 0

您的应用程序可以同时针对这两者,直到您拥有仅在完整的 .net 框架上运行的包依赖项。例如:NHibernate。然后,您只需针对完整的 .net 框架。

ASP.Net Web应用程序(.NET Framework)是以旧格式创建项目(例如:WebForms)

Asp.Net Core Web 应用程序是以新格式创建项目。然后您可以针对核心或完整的 .net 框架

您可以在这里找到更多信息。