可以单运行framework.net编译的应用程序(从VS环境)

本文关键字:环境 应用程序 编译 VS framework 单运行 运行 net | 更新日期: 2023-09-27 18:16:10

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

我可以在Visual c# Express或Visual Basic Express中开发一个应用程序,使用他们拥有的编译器从Microsoft环境中编译它,然后在linux上使用MONO运行该应用程序吗?

或者我必须从头开始使用mono编译器(或将我的MS项目转换为mono)才能在linux上使用mono框架使用我的。net应用程序。

Linux/Mac支持并不是我开发应用程序的必要条件,但我想从一开始就得到它。

感谢

关于api:

我正在使用WinForms, Encryption, Globalization, SQLClient,但这可能就是全部了,你的Mono专家能告诉我不要一开始就使用吗?

哦,我用My命名空间做各种事情,比如获取计算机名,登录用户名,资源,设置等。

可以单运行framework.net编译的应用程序(从VS环境)

一般来说是可以的。

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

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

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

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

然而,一些程序集包含在Microsoft。. Net和Visual Studio在非windows平台上不可用于Mono。