在MacOS上运行简单单声道应用程序的System.Windows.Forms.XplatUICarbon.CGDisplayBounds错误

时间:2013-09-15 13:34:06

标签: macos mono macports

尝试在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

它编译o.k.作为test.exe。试图将其作为

运行
  

mono test.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 Ports 2.2.0
  • Mono 2.10.9

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

由于需要配置gdiplus,

可能与此问题略有关联 在这个错误报告中提到Mono Cairo和Xquartz尝试合作的方式可能存在问题: http://trac.macports.org/ticket/1936#comment:25

现在很高兴知道如何在不必等待错误报告(9岁......)的情况下解决这个问题。

0 个答案:

没有答案