2016-07-05 174 views
1

我可以找到类似的问题,但这些答案不清楚或没有答案(现在全部回答),这让我感到困惑。ASP.NET Web应用程序核心(.NET框架)的用途和用途是什么?

Similar questions 1

Similar questions 2

现在,Visual Studio中有3个Web项目的模板:

ASP.NET Web Application (.NET Framework) <-- old 
ASP.NET Core Web Application (.NET Core) <-- new 
ASP.NET Core Web Application (.NET Framework) <-- new 

我知道.NET的核心和.NET Framework之间的不同。

.Net Core - 可跨平台(Windows,Mac OS X和Linux)

.NET Framework - 仅适用于Windows

然后,问题:

如果我们能在跨平台使用.Net Core包含Windows, 为什么仍然需要ASP.NET Core Web Application(.NET Framework)(new)

如果只在Windows上工作, 为什么不只是使用ASP.NET Web Application (.NET Framework)(old)?这很成熟和更多的支持。

ASP.NET Core Web Application (.NET Framework)(new)的用途和用途是什么?

+0

好问题。好奇地知道答案:) – Lucky

回答

3

.NET Core没有.NET Framework中提供的所有API。因此,在Windows上运行时,您可能希望在Asp.NET Core应用程序中将完整的.NET Framework而不是.NET Core作为目标。

Asp.NET 4.x仍然受支持,使用Asp.NET 4.x创建新应用程序是完全正确的。然而,绝大多数的创新都归功于Asp.NET Core。 Asp.NET Core也是开源的,所以你可以看到你正在运行的代码,调试你正在运行的代码,甚至贡献回你的修复或新功能。最后,Asp.NET Core也更加轻便(所有东西都是NuGet包,只包含你需要的东西,而不是耦合到IIS - 在使用IIS时运行不完整)并且比ASP.NET快得多。

+0

这是否意味着ASP.NET核心Web应用程序(.NET Framework)具有与ASP.NET Web应用程序(.NET Framework)相同的所有API?但是ASP.NET核心Web应用程序(.NET Core)没有提供所有的API? –

+0

这个问题有点含糊。一方面,.NET Framework中的所有API都将可用。另一方面,这并不意味着你可以使用它们 - 更具体地说 - 如果你尝试在你的Asp.NET核心应用程序中使用许多Asp.NET API(例如HttpContext),它将无法工作 - Asp.NET核心有其自己的对应方式不同。但是,如果您尝试使用非Web特定的完整.NET API(例如System.Drawing),则可以在您的Asp.NET Core应用程序中执行此操作,以完全.NET为目标。 – Pawel

+0

谢谢帕维尔。现在很清楚。但我仍然对Web项目模板而不是ASP.NET Core和ASP.NET感到困惑。 ASP.NET Core具有(.NET Framework),但ASP.NET Core不具有.NET Framework中提供的所有API。原来的ASP.NET应该已经非常成熟,可以使用更多的API。那么,为什么需要ASP.NET核心Web应用程序(.NET Framework)?是因为Core是未来/趋势,开源,调试更容易,更快? –

相关问题