【发布时间】:2010-03-23 19:34:58
【问题描述】:
我正在通过 Mono 使用 C# 为 Unix 开发一个巨大的控制台应用程序。 如果我使用 M Visual Studio 和 .NET 3.5 开发该应用程序并且我小心忽略了使用 win32 特定 API 调用,我是否应该期望该应用程序自动在我的 Unix 机器中运行?还是我应该直接使用 MonoDevelop 并采用 Mono 方式?
【问题讨论】:
我正在通过 Mono 使用 C# 为 Unix 开发一个巨大的控制台应用程序。 如果我使用 M Visual Studio 和 .NET 3.5 开发该应用程序并且我小心忽略了使用 win32 特定 API 调用,我是否应该期望该应用程序自动在我的 Unix 机器中运行?还是我应该直接使用 MonoDevelop 并采用 Mono 方式?
【问题讨论】:
根据Mono compatibility page Mono 支持:
.NET 3.5 中的所有内容,除了 WPF 和 WF,WCF 有限。
如果您想在 Visual Studio 中进行开发,您应该在 Mono 上进行定期测试,以确保您没有遇到困难。
【讨论】:
Everything in .NET 4.0 except WPF, EntityFramework and WF, limited WCF.(包括Linq to SQL,请参阅答案链接中的详细信息)
您还可以使用 Visual Studio 的 Mono Tools 插件,它允许您在 Linux 上进行远程测试、在 Linux 系统上部署它等。它是商业的,但有免费试用版。
【讨论】:
一般来说,如果您只使用单声道支持的东西,您可以使用 Visual Studio 进行开发,但是您还必须经常在单声道上进行测试。不仅是 windows 的单声道,而且是在目标操作系统上运行的单声道。您可以通过使用 mono addins for visual studio. 在目标操作系统上远程调试来从 Visual Studio 执行此操作
虽然说 MonoDevelop 现在确实变得非常好,但我认为没有理由不完全跳过 Visual Studio 并在目标操作系统上使用 MonoDevelop 进行开发。这样你就完全不用担心差异了。
【讨论】: