Невозможно использовать LocBaml с проектом WPF .Net 5.0 в Visual Studio 2019
У меня есть очень простой проект WPF (.Net 5.0), который я пытаюсь локализовать.
Я загрузил проект инструмента locbaml как часть примеров wpf и создал его в Visual Studio 2019 — режим выпуска. Это построено ж.д.
Я запустил «MSBuild», чтобы добавить в свой проект UID (msbuild/t:updateid WPLocalizationWithXAML.csproj). Это сработало нормально и добавило UID.
Моя проблема в том, что я не могу проанализировать "WPFLocalizationWithXAML.resources.dll" с помощью "LocBaml.exe". Я скопировал «LocBaml.exe» (собранный выше) и «WPFLocalizationWithXAML.exe» в папку «\en-us», чтобы они находились вместе с «WPFLocalizationWithXAML.resources.dll». Затем я выполнил следующую команду (locbaml /parse WPLocalizationWithXAML.resources.dll /out:trans.csv), но это всегда приводит к следующей ошибке и файлу trans.cvs с мусором:
«Утилита локализации Microsoft (R) Baml 1.0.0.0 не смогла загрузить файл или сборку System.Runtime, версия =4.2.2.0, культура = нейтральная,PublicKeyToken=b03f5f7f11d50a3a» или одну из ее зависимостей. Система не может найти указанный файл»
С Уважением
1 ответ
Инструмент LocBAML по-прежнему использует .NET Framework 4.7.2, как видно из его файла проекта . Он еще не портирован на .NET Core и .NET 5 и несовместим с ними. На GitHub есть открытая проблема.
- Невозможно использовать LocBaml с проектом WPF .NetCore 3.1 в Visual Studio 2019
- Перенос средства локализации приложения LocBaml WPF на ядро .NET (закрыто)
- Перенос инструмента локализации приложения LocBaml WPF на ядро .NET.
Помните, что инструмент LocBAML никогда не предназначался для использования в производственной среде, см . документацию .
Инструмент LocBaml не является готовым к использованию приложением . Он представлен как образец, в котором используются некоторые API локализации и показано, как можно написать инструмент локализации.
В качестве альтернативы вы можете сделать локализацию, используя файлы ресурсов (
.resx
), см., например: