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

时间:2009-12-17 21:50:37

标签: c# asp.net linux mono

换句话说,现在我们拥有Mono,在服务器端Web应用程序方面,C#是否与Java无关?或者,与Mono可以/不可以做什么或者可以在Linux上为C#服务器端应用程序提供哪些库有很大限制?

4 个答案:

答案 0 :(得分:7)

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

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

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

查看Moma Reports page,其中包含有关已运行Moma的应用程序的用户提交的数据。

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

答案 1 :(得分:3)

是和否......是的,您现在可以通过Mono在Linux上运行asp.net。

但是,我认为在实践中,您会发现比使用类似Java应用程序更多的平台特定限制。即使在用Java编写的普通质量软件中,我也很少看到主要的平台特定问题。

使用ASP.Net,您将经常看到几乎不能在Mono上运行的应用程序和第三方库,或者根本不工作。根据我的经验,移植工作可能不会很高,但它远远高于类似的Java应用程序。

答案 2 :(得分:2)

每个应用程序:

  

Mono API今天就在某个地方   在.NET 2.0和.NET 3.5之间看到我们的   关于什么是详细的路线图   实现。

Can Mono可以在Mono Faq General中运行由Visual Studio生成的二进制文件吗? 。您可以在ASP Tests页面中以单声道查看ASP.NET的详细状态。

答案 3 :(得分:2)

Mono团队提供了很多有用的信息。

http://www.mono-project.com/ASP.NET