2016-07-05 121 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是未來/趨勢,開源,調試更容易,更快? –

相關問題