c# - Visual C# (Visual Studio) 和 Mono C# GUI 之间的区别

标签 c# linux visual-studio window monodevelop

我可以使用 Mono 框架在 Linux 平台上使用在 Windows (Visual Studio) 上编写的 GUI 程序来发送和接收串行数据吗?

我发现 Mono 使用不同的 IDE 进行 GUI 开发。

它们是否具有与 Visual Studio 中相同的组件(我不知道它在 .NET 中叫什么,我是 Java 人),以及开发方式是否相同(例如,当我双击某个组件时)在 Visual Studio 中,它会转到带有已编写的适当方法名称或其他名称的编码页。

基本上,我想在带有 Mono 的 Linux 上重用我的 GUI 基本串行程序。

最佳答案

Mono 是 cross platform runtime implementation for .NET 。该项目由 Novell 开发,受 MS 和 Novell 之间的专利共享协议(protocol)保护。

由于 .NET 不是 native 代码(使用 MS IL),只要 Mono(和 certain basic adjustments are made in code )支持这些功能本身,代码就可以移植。这将允许您通过 Mono 在 Linux 上使用 .NET 程序集,并通过 .NET CLR 在 Windows 上使用 .NET 程序集。

用于绘制窗口本身的代码会有所不同(因为 Mono 不是 .NET CLR),但用于生成该窗口并与其交互的 C# 代码在实现之间不会有所不同(一般来说)。

注意:如果您希望在 MS .NET 上使用 Mono 相关代码,则必须确保您使用的是 Mono 支持的 .NET 类和功能,反之亦然。运行。 请参阅:Mono Technologies

关于c# - Visual C# (Visual Studio) 和 Mono C# GUI 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15627554/

相关文章:

linux - 端口 80 正在使用。尝试--监听端口。 Linux

linux - 将文件从桌面复制到虚拟服务器 LINUX

visual-studio - AnkhSVN 中的待定更改仅显示当前解决方案中的文件

c# - SQLite 的 dotConnect 包不适用于 VS2013 中的 64 位 C# 项目?

c++ - 指向类模板方法的 void 指针的 vector

c# - 为什么递归调用会在不同的堆栈深度导致 StackOverflow?

c# - 使用 HTML Agility Pack 仅获取网页文本?

linux - 虚拟主机的 crontab

c# - Visual Studio 2017 中的 ExtensionManager 为空

c# - 使用 DotNetOpenAuth 将推文发布到 Twitter 帐户