【问题标题】:mono mkbundle and cyrillic paths单声道 mkbundle 和西里尔文路径
【发布时间】:2012-07-03 06:04:36
【问题描述】:

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

【问题讨论】:

    标签: mono mkbundle


    【解决方案1】:

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

    SetEnvironmentVariable("MONO_EXTERNAL_ENCODINGS", "UTF16");
    

    【讨论】:

    • 这种方式对我有用。但捆绑的应用程序无法在非 ansi 路径上获取 AppDomain.CurrentDomain.BaseDirectory。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多