Unity: «Не удалось найти данные кодировки 1252» при загрузке файла DXF в сборку (моно, а не IL2CPP)C#

Место общения программистов C#
Anonymous
Unity: «Не удалось найти данные кодировки 1252» при загрузке файла DXF в сборку (моно, а не IL2CPP)

Сообщение Anonymous »

Я работаю над проектом Unity, в котором мне нужно асинхронно загрузить файл DXF с помощью C#. Я использую Mono в качестве серверной части сценариев (не IL2CPP). Загрузка DXF отлично работает в редакторе Unity, но когда я запускаю сборку, я получаю следующую ошибку:

Не удалось найти данные в кодировке 1252. Убедитесь, что у вас установлена ​​и включена правильная сборка международного набора кодов в сборке exe, созданной в Unity.
Вот упрощенная версия кода, который я использую:
private async Task LoadDxfFileAsync(string path, Vector3 position)
{
loadingPanel.SetActive(true);
statusText.text = "Loading...";

DxfFile dxf = null;

try
{
dxf = await Task.Run(() =>
{
if (!File.Exists(path))
{
throw new FileNotFoundException($"DXF file not found: {path}");
}

#if UNITY_EDITOR
return DxfFile.Load(path); // Directly load in editor
#else
return DxfFile.Load(path, Encoding.GetEncoding(1252)); // Register the code page
#endif
});
}
catch (Exception ex)
{
loadingPanel.SetActive(false);
statusText.text = $"Error loading DXF: {ex.Message}";
Debug.LogError($"Error loading DXF: {ex.Message}");
return;
}

// Process DXF entities on the main thread...

loadingPanel.SetActive(false);
}
< /code>
Что я пробовал: < /p>
  • Я позаботился о том, чтобы моно выбрано в качестве бэкэнда сценариев в Unity. < / li>
    Я пробовал добавить System.Text.Encoding.CodePages, но ошибка не устранена.
  • Файл DXF отлично загружается в редакторе, но при сборке происходит сбой. .
Вопросы:

[*]Почему эта ошибка появляется только при сборке и нет в редакторе?
[*]Как правильно включить или прописать нужную кодировку (кодовая страница 1252), чтобы она работала в сборке?

Будем благодарны за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/791 ... in-build-m

Вернуться в «C#»