我有一个名为 hellowf.cs
的文件class MyFirstApp {
static void Main() {
System.Windows.Forms.MessageBox.Show("Hello, Mono+WinForms!");
}
}
在Ubuntu 8.10上,我执行以下操作
gmcs hellowf.cs -r:System.Drawing.dll -r:System.Windows.Forms.dll
mono hellowf.exe
......它看起来像这样:
alt text http://img136.imageshack.us/img136/4674/helloproblemuk5.png
邮件的第二部分缺失。为什么会这样?相同的二进制文件 - hellowf.exe - 在Windows上运行正常。
更新: 这真的很烦人。以下是我所拥有的单声道版本,并尝试将此工作推向目前为止:
1.9.1 (from official ubuntu repo)
2.0.1 (from some some 3rd party repo)
2.2 (wiped every mono pkg and compiled myself)
我当前的单声道版本:
mono --version
Mono JIT compiler version 2.2 (tarball Wed Jan 14 22:58:21 CET 2009)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none
gmcs --version
Mono C# compiler version 2.2.0.0
......任何线索?
答案 0 :(得分:3)
最后我找到了一个解决方法。这似乎是Mono中与字体渲染相关的错误。当“完整”提示打开时会发生这种情况。我通常都是这样。在System->Preferences->Appearance->Fonts->Details
中将其更改为“轻微”或“中等”可解决此问题。谢谢你的帮助!
答案 1 :(得分:1)
在opensuse 11.0,mono 2.0.1上运行正常。
请编辑您的问题并输入正在使用的单声道版本。
答案 2 :(得分:0)
在“Hello,Mono + WinForms!”前面贴上一个@并看看它是否仍然存在。
答案 3 :(得分:0)
标准调试建议: 开始进行小的,受控的更改,看看会发生什么。 这将有助于缩小问题范围。
尝试删除符号:,+!
尝试删除空格。
尝试各种较短的琴弦,可能还有一些较长的琴弦。
一旦你对MessageBox将会打印和不打印的内容有了更好的了解,你就可以开始调试那个特定的问题,而不是试图调试,“它不起作用!”
答案 4 :(得分:0)
更新软件包和源代码时,是否更新/编译了libgdiplus?如果System.Drawing和libgdiplus版本不同步,我们已经看到了一些时髦的图形问题。