任何ASP.net应用程序(或大多数)可以使用Mono在Linux下运行吗?

End*_*ies 3 c# linux asp.net mono

换句话说,既然我们拥有Mono,那么当涉及到服务器端Web应用程序时,C#是否与Java无关?或者,对于Mono能够/不能做什么,或者可以在Linux上为C#服务器端应用程序提供哪些库,还有很大的局限性?

Gon*_*alo 7

" 可以运行任何(或大部分)ASP.NET应用程序"的答案是"是".有一个页面有一些常见的陷阱:Mono:移植ASP.NET应用程序(也感兴趣的是Porting WinForms应用程序页面)

我在现场[1]中看到的最常见问题是,按发生次数:

  • 不了解区分大小写的文件系统或不关心文件/路径处理的代码.这些都需要工作.
  • P/Invokes:Windows本机函数有很多P/Invokes.Mono中不支持它们中的大多数(在unix环境中它们也没有意义).但是,我们有一些或最常见的映射(CloseHandle等).这些需要使用.NET API重做相同的东西.
  • 错误:不管你相信与否,3M +代码行中仍然存在漏洞.我们尽可能快速响应并修复错误(我们希望做更多的事情,在24小时轮换期间归咎于它).重现问题的测试用例越简单,修复得越快.提交错误报告,我们会尽快修复它.
  • 缺少或未实现的API:我们仍然拥有这些并尝试专注于最常用的API.有时我们会使用Moma报告(请参阅下面的链接)来确定优先顺序.

查看Moma Reports页面,其中包含用户提交的有关运行Moma的应用程序的数据.

[1]:该领域的范围从西半球最大的ASP.NET部署之一到小型开源应用程序.