mono mkbundle和cyrillic path

时间:2012-07-03 06:04:37

标签: mono mkbundle

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

1 个答案:

答案 0 :(得分:1)

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

SetEnvironmentVariable("MONO_EXTERNAL_ENCODINGS", "UTF16");