我可以使用Visual Studio开发Mono应用程序吗?

时间:2015-04-08 22:40:07

标签: linux visual-studio-2013 mono cross-platform

我使用WinForms开发了一个.NET 4.5应用程序。我希望我的应用程序不仅可以在Windows上运行,还可以在Linux上运行,因此我决定将其移植到Mono。

但是,我找不到有关如何使用Visual Studio for Mono的任何信息。我不想切换到MonoDevelop,因为VS提供了我想要的大部分功能,而且我已经熟悉它了。

显然曾经有一种名为Mono Tools for Visual Studio的东西David Lively insists works on current VS editions,但我不想运行3年前弃用的扩展程序。我甚至不知道在哪里下载扩展程序 - 它重定向到Xamarin,而Xamarin似乎不是我想要的,因为虽然它提到了VS集成,但它迫使我安装了一堆Android和Java SDK(为什么?)

据我所知,.NET和Mono代码看起来非常相似,主要有三个问题:

  • 使VS使用Mono编译器而不是C#编译器,因此我可以判断非Windows用户是否可以编译我的源代码,并获得有关缺少库的通知
  • 使IntelliSense建议仅支持Mono支持的内容
  • 制作" Run"命令使用Mono运行应用程序,而不是.NET,所以我可以正确测试它

真的没有简单的方法来完成这些吗?

注意:我想开发Windows和Linux桌面应用程序,仅使用WinForms GUI或同等程序。我对手机不感兴趣。

1 个答案:

答案 0 :(得分:0)

通常,您可以只针对.NET 4.5并使用Visual Studio进行编译,并且生成的程序集在Mono上按原样运行(假设您不通过p / invoke等使用特定于平台的内容)。

Mono的WinForms支持并不完美(并且没有人主动使用它),因此您仍需要通过直接在Mono上运行应用程序进行测试。缺少API通常不是问题,更重要的是Mono实现具有不同的行为/错误。

WinForms的另一种替代方案可能是Xwt