3

当尝试在 Mac OS X 上运行一个简单的 Mono 应用程序时,我遇到了以下问题:

Stacktrace:
      at (wrapper managed-to-native) System.Windows.Forms.XplatUICarbon.CGDisplayBounds (intptr) <0xffffffff>
  at System.Windows.Forms.XplatUICarbon.get_WorkingArea () <0x00035>

示例应用程序的源代码是:

using System.Windows.Forms;

class test {

        public static void Main() {
                Form fm1 = new Form();
                TextBox Tb1 = new TextBox();
                Tb1.Text="text";
                Tb1.Location = new System.Drawing.Point(10,10);
                Tb1.Size=new System.Drawing.Size(80,20);

                fm1.Controls.Add(Tb1);
                Application.Run(fm1);
        }
}

编译

mcs test.cs -r:System.Windows.Forms.dll -r:System.Drawing.dl

它可以编译为 test.exe。试图运行它

单声道测试.exe

然后导致上面的堆栈跟踪。该问题在论坛线程中提到:http: //mono.1490590.n4.nabble.com/Not-sure-if-this-is-a-bug-or-my-env-tt4656767.html

我能够在以下环境中完全复制它:

  • Mac OS 10.7.5
  • Mac 端口 2.2.0
  • 单声道 2.10.9

错误报告位于 http://trac.macports.org/ticket/1936

可能与该问题略有相关,因为需要配置 gdiplus,并且在此错误报告中提到 Mono Cairo 和 Xquartz 尝试一起工作的方式可能存在问题:http: //trac.macports.org/ticket /1936#comment:25

现在很高兴知道如何让这个工作而不必等待错误报告(9 岁......)被修复。

4

0 回答 0