What is the purpose/usage of ASP.NET Web Application Core(.NET framework)?
我可以找到类似的问题,但这些答案不清楚或没有答案(现在全部回答),使我困惑。
类似问题1
类似问题2
现在,Visual Studio有3个Web项目模板:
1 2 3
| 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框架之间的区别。
.Net CoreCAN跨平台(Windows、OS X、Linux)
.NET Framework-仅限Windows
那么,问题是:
如果我们可以在跨平台包括窗口中使用.Net Core,为什么还需要ASP.NET Core Web Application(.NET Framework)(new)?
如果只在窗户上工作,为什么不直接使用ASP.NET Web Application (.NET Framework)(old)?哪个更成熟更支持。
ASP.NET Core Web Application (.NET Framework)(new)的用途是什么??
.NET核心没有.NET框架中所有可用的API。因此,在Windows上运行时,您可能希望以ASP.NET核心应用程序中的完整.NET框架而不是.NET核心为目标。
ASP.NET 4.x仍然受支持,使用ASP.NET 4.x创建新的应用程序是非常好的。然而,绝大多数创新都流向了ASP.NET核心。ASP.NET内核也是开放源码的,因此您可以实际看到正在运行的代码,调试正在运行的代码,甚至还可以提供修复或新功能。最后,ASP.NET核心也更轻(所有东西都是一个nuget包,并且您只包含您需要的内容,而不是与IIS耦合-在使用IIS时会耗尽过程),并且比ASP.NET快得多。
- 这是否意味着ASP.NET核心Web应用程序(.NET框架)具有与ASP.NET Web应用程序(.NET框架)相同的所有可用API?但是ASP.NET核心Web应用程序(.NET核心)没有所有可用的API??
- 这个问题有点模棱两可。一方面,来自.NET框架的所有API都将可用。另一方面,这并不意味着您可以使用所有这些应用程序——更具体地说——如果您尝试在ASP.NET核心应用程序中使用许多ASP.NET API(如httpContext),它将无法工作——ASP.NET核心有自己的对应程序,它们的连接方式不同。但是,如果尝试使用非特定于Web的完整.NET API(例如System.Drawing),则可以在面向完整.NET的ASP.NET核心应用程序中执行此操作。
- 谢谢Pawel。现在很清楚了。但我仍然混淆了Web项目模板,而不是ASP.NET核心和ASP.NET。ASP.NET核心有(.NET框架),但ASP.NET核心没有.NET框架中所有可用的API。最初的ASP.NET应该非常成熟,可以使用更多的API。那么,为什么需要ASP.NET核心Web应用程序(.NET框架)?是因为核心是未来/趋势、开源、调试更容易、更快吗??
- 对。ASP.NET成熟的另一个问题是,几乎不可能在不破坏兼容性的情况下引入新的更大的东西、解决问题或使其更精简。有些人希望获得ASP.NET核心的好处,但需要不存在的API或具有未移植到.NET核心的依赖项的API。网桥(即面向完整框架的ASP.NET核心)使运行ASP.NET核心成为可能,尽管存在这些需求/依赖关系。
- 多谢帕维尔