Mono'的未来是什么;是否支持ASP.NET Web表单?

Mono'的未来是什么;是否支持ASP.NET Web表单?,asp.net,webforms,mono,.net-5,asp.net-core-5.0,Asp.net,Webforms,Mono,.net 5,Asp.net Core 5.0,正如你所知,微软收购了Xamarin,现在负责Mono的持续开发。此外,他们将在11月发布.NET5,它是.NETFramework的跨平台继承者。他们说ASP.NET核心将是唯一的ASP.NET框架,他们正在放弃对Web表单的支持 当这种情况发生时,Mono框架会放弃Web表单吗,还是会继续开发 当这种情况发生时,Mono框架会放弃Web表单吗,还是会继续开发 简短的回答是是的,他们也会删除Web表单。您应该考虑在.NET 5和即将运行的Muno运行时版本中声明的Web窗体。您将继续能够在Mo

正如你所知,微软收购了Xamarin,现在负责Mono的持续开发。此外,他们将在11月发布.NET5,它是.NETFramework的跨平台继承者。他们说ASP.NET核心将是唯一的ASP.NET框架,他们正在放弃对Web表单的支持

当这种情况发生时,Mono框架会放弃Web表单吗,还是会继续开发

当这种情况发生时,Mono框架会放弃Web表单吗,还是会继续开发

简短的回答是是的,他们也会删除Web表单。您应该考虑在.NET 5和即将运行的Muno运行时版本中声明的Web窗体。您将继续能够在Mono和.NET Framework的旧版本上运行Web表单,至少在您现在能够运行的范围内是这样,但这种支持不会在将来的版本中提供


为了更好地理解这一点,了解.NET5、CoreBCL、CoreCLR和Mono之间的关系非常有用。这已经变得有点模糊,因为CORECRL现在可以跨多个平台工作,因此与以前由Mono处理的大部分领域重叠

在较高级别,.NET 5将使用(或.NET核心BCL)。BCL将取代许多以前由各种.NET实现(包括Mono)处理的类库。但是,在大小比性能更重要的环境中,例如移动和WebAssembly,Mono将继续用作.NET5的运行时。相比之下,更快(但更大)的CoreCLR将(继续)用于其他环境,如桌面和web服务器应用程序。NET核心BCL将在这些运行时之上运行

换句话说,在.NET5中,Mono不会像现在这样有单独的类库。所有内容都将使用相同的基类库。除此之外,您还可以使用其他类库,例如ASP.NET、WPF、Xamarin和c。这将完全独立于他们使用的运行时。因此,由于ASP.NET Core 5不支持Web表单,这意味着Mono也不支持Web表单,因为它们现在将使用完全相同的类库

为了更好地理解Mono运行时的方向以及它与.NET5的关系,有一篇关于它的精彩访谈值得一读。(米格尔是Mono的原始作者,Xamarin的联合创始人,并继续指导Mono的开发。)它没有具体讨论Web表单,但很好地澄清了Mono和.NET 5之间的关系。

另一个答案。“当这种情况发生时,Mono框架是否也会删除Web表单,还是会继续开发?”如果Mono被放弃,那么您的问题可能会完全无效

回滚到200x。Mono最初确实支持ASP.NETWebForms,但那时ASP.NET1.x/2.x/3.x非常简单,可以克隆,Mono团队在其他方面几乎没有什么可做的。就我个人而言,这是ASP.NET在单/ Linux上的黄金时期。然而,当ASP.NET 4.x带来许多重要变化(异步模型等)时,差距开始出现,许多差距从未填补(因为团队将重点转移到移动平台上)

我不知道你今天是如何在Mono上使用WebForms应用程序的,但是如果你是一个认真的用户,你可能已经遇到了很多问题,并且知道情况有多困难。所以<>强>你不应该考虑MONO/Linux是一个生产级环境来运行你的WebFramework应用程序,你应该回到.NETFramework或Windows,或者完全迁移到ASP.NET核心>/P> Xamarin的崛起和微软的收购极大地改变了Mono的格局,因此Xamarin产品(Mono CLR和BCL)使用的所有东西都在不断更新,其他东西(包括MonoDevelop、GTK#、XSP和ASP.NET WebForms)也被抛在了后面。由于只有Mono CLR被转移到.NET5,这可以看作是Mono的终结

当然,开源项目不会轻易消亡。例如,自2020年2月以来,MonoDevelop已经停产,但有一群人(包括我)试图恢复它。但是Mono能走多远还不清楚,也不可靠


米格尔目前对未来持乐观态度,但并非所有人都这么认为

谢谢你回答和修改标题。现在好多了:)@arilogue:FYI:我在我的答案中添加了一个新的段落,以更好地解释为什么MonoBCL被CoreBCL取代很重要,以及它与更具体的类库(如ASP.NET 5将使用的类库)的关系。“ASP.NET 5”是一个相当模糊的术语,我不知道你到底指的是什么。无论如何,我提供了另一个答案,因为您似乎忽略了许多关键事实。仅供参考:我更新了我的答案,以参考ASP.NET Core 5,而不是ASP.NET 5,以避免歧义。(背景:.NET Core的下一个版本将是.NET 5,而ASP.NET Core的下一个版本将是ASP.NET Core 5)。