【问题标题】:Does ASP.NET use a different .NET framework than desktop?ASP.NET 是否使用与桌面不同的 .NET 框架?
【发布时间】:2015-10-10 15:44:22
【问题描述】:

我正在阅读这篇文章:http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx

这让我有点困惑,因为文章中的第一张图片似乎暗示 .NET 桌面应用程序和 ASP.NET 不共享相同的框架实现。我总觉得是这样。有什么想法吗?

【问题讨论】:

  • 全部使用相同,只是复制了图片中的Framework蓝色矩形
  • @AmrElgarhy 是的,我就是这么想的,但还不是很清楚,尤其是在适应文本的情况下。

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


【解决方案1】:

它们使用相同的 .NET 框架。

但他们不必这样做。这就是 .NET 生态系统目前正在发展的方式 - 避免对所有事物使用完整(不断增长的).NET 框架的方式。

作为奖励,新的 .NET Framework Core 是开源的。这在整个 .NET 框架中并非完全可行,因为它包含大量许可和专有技术。

鉴于所有这些,现在可以使用 ASP.NET 部署非常轻量级的 Web 应用程序,甚至不必使用 IIS(感谢 OWIN)。您只需要包含您需要的包 - 而不是拥有一个单一的整体运行时和 BCL,您可以选择使用(或不使用)数百个 NuGet 包。

【讨论】:

  • 所以“Windows 桌面”运行时不同于 Windows Store、Phone 和 Silverlight,而是用于 ASP.NET?
  • “Windows 桌面”和 ASP.NET 早在 Windows Store、Phone 和 Silverlight 之前就已经存在。事实上,如果我没记错的话,可移植类库(“.NET 框架的子集”)是从 Silverlight 开始的——除非你将 Compact Framework 之类的东西算作 PCL 的前身。新方法是“奇怪”的方法——在过去,你只有一个框架,那就是。如今,有许多不同的框架,更重要的是,框架本身被拆分成许多库,您可以从中选择。
  • Tnx,您还有其他信息来源吗?
  • 好吧,您在问题中链接的文章已经包含所有这些信息,您只需仔细阅读它 - 大步提到它。
【解决方案2】:

您必须更好地定义“相同的框架实现”,因为它们(完整的 .NET Framework 和 .NET Core)是从具有不同配置的相同代码库构建的,并且还以稍微不同的方式托管您的 Web 应用程序.

那篇文章最重要的一点应该是“ASP.NET 5 可以在 .NET Framework 4.6 和 .NET Core 5 上运行”。您从每个运行时获得不同的好处,

  • .NET 4.6 为您提供与以前的 .NET 运行时的最佳兼容性。
  • .NET Core 5 让您可以灵活地并行运行多个自定义 DNX,并且可移植到 Linux 和 OS X。

不幸的是,Microsoft 决定将桌面应用程序限制为 .NET 4.6,但 Mono 开发人员已经证明了在 .NET Core 上运行某些(例如 WinForms 应用程序)的可能性,

https://github.com/akoeplinger/mono-winforms-netcore

【讨论】:

  • 来自那篇文章:“紧凑框架是独立于 .NET 框架的代码库。”我的定义是共享相同的代码库和相同的运行时工件。
  • @Freek 从这个角度来看,.NET Core 与“旧”.NET Framework 完全分离——它没有相同的代码库,也没有相同的运行时工件。但是,现在,无论您是编写桌面应用程序还是 Web 应用程序,您都可以选择要使用的应用程序(尽管随着对 Core 可移植性的日益关注,Winforms 并不适合所有这些)。
  • @Freek,甚至 .NET CF 和 Silverlight 都与完整的 .NET Framework 共享大部分代码库(和行为)。在我看来,它们只是量身定制的子集。 .NET Core 从这些错误中吸取教训,并允许大型应用程序堆栈(例如 ASP.NET 5)以及完整的 .NET Framework 4.6 在其上运行。如果坚持使用 ASP.NET 4.6,您将无法获得相同的可移植性。
猜你喜欢
  • 2014-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
  • 2011-09-18
  • 2011-12-28
  • 1970-01-01
  • 2012-06-10
相关资源
最近更新 更多