gpt4 book ai didi

c# - Linux 中的 Mono Winforms 应用程序 : some text is not displayed

转载 作者:行者123 更新时间:2023-12-04 18:42:22 24 4
gpt4 key购买 nike

一般情况下,我在将在 Visual Studio 2008 中创建的 .NET Windows 窗体应用程序移植到 Mono/Linux 时遇到了困难。问题是有时某些类型的文本不会显示;我希望看到文字的地方只有空白或难以辨认的标记。在一台 Ubuntu 机器上,所有文本都正确显示,除了 MessageBox.Show 对话框中的文本,它看起来像难以辨认的微小黑色标记。在另一台 Ubuntu 机器上,同样的程序运行良好。但后来我将该机器从 Ubuntu 9.4 升级到 9.10:现在 Checkboxes 和 Labels 的文本没有显示,但 Textboxes 和 Tab 标签内的文本确实显示了。

当您将应用程序移植到 Mono/Linux 并且遇到文本显示困难时,您如何调试它?你的一般策略是什么?

我是否缺少字体,如何确定缺少哪些字体?

更具体地说:我在 Visual Studio 中做了一个小程序,它只有一个带有两个标签页的标签控件,每个标签页都有一个标签。它在 Visual Studio 中运行良好,但在 Mono/Linux 中,选项卡的文本会显示,而标签的文本不会显示。

我正在使用 Ubuntu 9.10,并且我已经安装了这些相关软件包:mono-gmcs libusb-1.0-0-dev mono-2.0-devel libmono-winforms2.0-cil。

这是我用来编译程序的命令:

gmcs -unsafe -debug -target:exe -out:EventTest.exe
./Form1.cs ./Form1.Designer.cs ./Program.cs
-r:/usr/lib/mono/2.0/System.dll
-r:/usr/lib/mono/2.0/System.Core.dll
-r:/usr/lib/mono/2.0/System.Drawing.dll
-r:/usr/lib/mono/2.0/System.Windows.Forms.dll

当我使用 MONO_LOG_LEVEL=DEBUG 运行它时,我收到了几条错误消息:
(./EventTest.exe:8395): Mono-WARNING **: The request to load the assembly
mscorlib v1.0.5000.0 was remapped to v2.0.0.0
(./EventTest.exe:8395): Mono-WARNING **: The request to load the assembly
System.Windows.Forms v1.0.5000.0 was remapped to v2.0.0.0
(./EventTest.exe:8427): Mono-WARNING **: DllImport unable to load library
'lib/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon:
cannot open shared object file: No such file or directory'.

为什么当我使用 2.0 版显式编译时它会尝试加载 1.0 版?
为什么它会尝试加载 Carbon(这不是 Max OS 的东西吗?)
如果你想看的话,我会给出整个日志。

还有一条关于无法找到“libgdi32”的日志消息。我使用下面的命令添加了一个符号链接(symbolic link),它删除了错误消息,但似乎没有影响应用程序的其他问题。
sudo ln -s /usr/lib/wine/gdi32.dll.so /usr/lib/libgdi32.so

最佳答案

ubuntu 9.10 附带的视频驱动程序似乎存在问题。

更多信息在这里:
https://bugzilla.novell.com/show_bug.cgi?id=549882

关于c# - Linux 中的 Mono Winforms 应用程序 : some text is not displayed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1954755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com