5

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

...そして、次のようになります。

代替テキスト http://img136.imageshack.us/img136/4674/helloproblemuk5.png


メッセージの 2 番目の部分がありません。なぜこうなった?同じバイナリ ( 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

...手がかりはありますか?

4

5 に答える 5

3

最後に、回避策を見つけました。これは、フォントのレンダリングに関連する Mono のバグのようです。「 Full」ヒンティングがオンになっている場合に発生します。私は通常、そのようにしています。で「軽度」または「中度」に変更すると問題が解決します。助けてくれてありがとう!System->Preferences->Appearance->Fonts->Details

于 2009-01-14T23:11:42.523 に答える
1

opensuse 11.0、mono 2.0.1 で正常に動作します。

質問を編集して、使用しているモノバージョンを入力してください。

于 2009-01-14T19:33:37.533 に答える
0

パッケージとソースコードを更新したとき、libgdiplusを更新/コンパイルしましたか?System.Drawingバージョンとlibgdiplusバージョンが同期しなくなると、いくつかのファンキーなグラフィックの問題が発生します。

于 2009-01-15T05:45:54.083 に答える
0

標準的なデバッグのアドバイス: 制御された小さな変更を開始し、何が起こるかを確認します。これにより、問題の内容を絞り込むことができます。

記号を削除してみてください: , + !
スペースを削除してみてください。
さまざまな短い弦を試してみてください。

MessageBox が何を出力し、何を出力しないかをよりよく理解したら、「うまくいかない!」とデバッグしようとする代わりに、その特定の問題のデバッグを開始できます。

于 2009-01-14T22:55:21.230 に答える