0

我正在使用 mkbundle 实用程序在 Windows 上将 Mono 与我的 WinForms 应用程序捆绑在一起。我已经按照这里描述的过程:Can not compile simple C# application with mkbundle。应用程序构建和运行得很好,但前提是可执行文件的路径不包含西里尔符号。如果路径包含此类符号(俄语中的文件夹名称等),应用程序根本不会启动(不显示错误消息)。似乎问题发生在托管代码运行之前。有什么方法可以诊断和解决这样的问题吗?我没有使用 C 代码的经验,所以我不知道应该在 host.c 文件或 GCC 选项中更改什么。

4

1 回答 1

1

解决方案是在 mkbundle 生成的 host.c 中(在 main 方法中)设置 MONO_EXTERNAL_ENCODING 变量:

SetEnvironmentVariable("MONO_EXTERNAL_ENCODINGS", "UTF16");
于 2012-07-03T14:06:08.593 回答