可以单声道运行framework.net编译的应用程序(来自VS env)

时间:2011-11-30 19:11:09

标签: c# .net vb.net mono

我读了很多关于用mono运行.net代码的问题,但我总是得到同样的问题。我现在正在构建一个新的应用程序,所以我最好直接开始并采取好的方向:

我可以在Visual C#Express或Visual Basic Express中开发应用程序,使用他们拥有的编译器从Microsoft环境中编译它,并使用Linux上的MONO运行该应用程序。

或者我必须从头开始使用单声道编译器(或者之后将我的MS项目转换为单声道),以便能够使用Linux上的Mono框架来使用我的.net应用程序。

Linux / Mac支持对于我的应用程序开发来说并不是必须的,但我想从一开始就直接得到它。

由于


关于apis:

我正在使用WinForms,加密,全球化,SQLClient,但这可能就是全部,Mono专家出来的任何东西都可以告诉我不要一开始就使用。

哦,我使用My命名空间来处理各种各样的事情,例如获取计算机名,登录用户名,资源,设置等等。

2 个答案:

答案 0 :(得分:6)

一般来说,这是有效的。

问题不在于重新编译,而是可用的本机API和库。如果添加本机互操作,那么您使用的库也必须在Linux上可用,这显然不是Windows库的情况。

某些托管库根本不可用(WPF),或者不完整(WCF)。

Mono有一个WinForms实现,但它看起来很陌生,因为它不使用本机控件。这意味着代码可以在其他平台上运行,但用户体验不会很好。

答案 1 :(得分:4)

.Net语言的所有编译器都编译为标准MSIL,可以由任何兼容的实现执行,包括Mono。

但是,Microsoft.Net和Visual Studio中包含的某些程序集在非Windows平台上不适用于Mono。