c# - Windows 上的单声道(和一般问题)

标签 c# windows linux mono

我在 Linux 上安装了 MonoDevelop 并编写了一个 shell GTK+ 应用程序。当我编译并运行该应用程序时,该应用程序在 Linux 中正确显示。当我将 .exe 移至 Windows 时,出现“Windows 无响应”崩溃,因此没有堆栈跟踪。然后我想我必须为 Windows 安装 Mono,所以我这样做了,但运气不佳 - 我仍然崩溃。

更一般地说,我很难想象这里发生了什么。请纠正我的任何错误:

  1. 启动 Mono 项目的人编写了自己的编译器(可能是从头开始)来编译 C# 代码。他们在查看 .NET Framework 之后对此进行了建模
  2. 他们还为字节码的单声道实现编写了一个 CLR。任何想要运行此代码的架构都需要 Mono Runtime,因为只有 Mono Runtime 才能运行代码。

我说的对吗?为什么我的程序不运行?提前致谢。

最佳答案

三件事对我来说很突出:

  1. GTK+。默认情况下,GTK 不是 Windows 或 Windows 上的单声道的一部分。您必须单独安装它。
  2. 外壳应用程序。这意味着 windows 世界中的一些特别的东西(作为(扩展)windows 桌面外壳的一部分运行的应用程序,而不是作为它自己的程序),听到这些不能交叉工作我一点也不会感到惊讶平台非常好,甚至根本没有。我假设您指的是“控制台应用程序”,但为什么需要 GTK+?
  3. 单声道。确保使用单声道调用程序。仅仅因为安装了 mono 并不意味着你的程序将如何运行,而不是 Microsoft 自己的 .Net 实现。

关于c# - Windows 上的单声道(和一般问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4965744/

相关文章:

c# - 在 Python 中压缩 在 C# 中解压

C# 并行复制 - 小文件问题

windows - 在 Windows 上安装 PyQt5 Designer

c# - Directory.GetCurrentDirectory() 不适用于 Linux?

c# - 过滤 ObservableCollection 以仅显示某些项目

c# - ASP.NET MVC 3 自定义 RouteBase 和 OutputCache

windows - Vim 在每次保存后插入 _viminfo 文件

windows - 在 delphi XE7 中找不到 vcl 组件的交互式手势事件,如 igiZoom、igiPan 或 igiRotate

linux - nohup 不能正常工作

linux - 使用 sed 命令插入一行