Моно макбандл и кириллица
Я связываю Mono с моим приложением WinForms в Windows, используя утилиту mkbundle. Я следовал процедуре, описанной здесь: не могу скомпилировать простое приложение C# с mkbundle. Приложение собирается и работает просто отлично, но только если путь к исполняемому файлу не содержит символов кириллицы. Если путь содержит такие символы (имена папок на русском языке и т. Д.), Приложение вообще не запускается (сообщения об ошибках не отображаются). Кажется, что проблема возникает до запуска управляемого кода. Есть ли способ диагностировать и устранить такую проблему? У меня нет опыта работы с кодом C, поэтому я не могу понять, что следует изменить в файле host.c или в параметрах GCC.
1 ответ
Решением было установить переменную MONO_EXTERNAL_ENCODING в файле host.c (в основном методе), создаваемом mkbundle:
SetEnvironmentVariable("MONO_EXTERNAL_ENCODINGS", "UTF16");