Я не могу получить строку из моего файла ресурсов и не могу найти работающее решение.Я работал с официальным Xamarin Tutorial и примером приложения .Это проект форм xamarin, и я хочу, чтобы приложение отображалось на немецком / английском.Часть ios уже работает.
Что у меня есть:
Мои языковые файлы в следующей структуре папок:
Ресурсы> Значения> Strings.xml
Resources> values-de> Strings.xml
Strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="barcodescanner_toptext">QR-Code Scanner</string>
<string name="barcodescanner_bottomtext">Please scan QR-Code.</string>
<string name="barcodescanner_cancelbuttontext">Cancel</string>
<string name="barcodescanner_flashbuttontext">Flash</string>
<string name="barcodescanner_errortext">Scan canceled</string>
</resources>
Свойство "Build Action" файлов Strings.xml установлено в "AndroidResource".В Resource.Designer.cs строки видны.
// aapt resource value: 0x7f070041
public const int barcodescanner_bottomtext = 2131165249;
// aapt resource value: 0x7f070042
public const int barcodescanner_cancelbuttontext = 2131165250;
// aapt resource value: 0x7f070044
public const int barcodescanner_errortext = 2131165252;
// aapt resource value: 0x7f070043
public const int barcodescanner_flashbuttontext = 2131165251;
// aapt resource value: 0x7f070040
public const int barcodescanner_toptext = 2131165248;
Внутри моего файла Scanner.cs я делаю вызов, как в учебнике:
BarcodeScanner.TopText = Resources.System.GetText(Resource.String.barcodescanner_toptext);
Я должен использовать".System."потому что нет "GetText" непосредственно на ресурсах.Если я нажму "."после Resource.String я получаю все мои строки ресурсов для выбора.Но если я запускаю приложение на Android, я получаю следующую ошибку:
Нет известного пакета при получении значения для номера ресурса 0x7f070040
System.TypeInitializationException: инициализатор типа для 'xyz.ViewModels.MainViewModel 'сгенерировал исключение.---> System.Reflection.TargetInvocationException: исключение было сгенерировано целью вызова.---> Android.Content.Res.Resources + NotFoundException: строковый идентификатор ресурса # 0x7f070040
Что я сделал до сих пор:
- очистил и перестроил решение
- удалил папки obj и bin
- перезапустил все, включая мой компьютер
- удалил приложение со смартфона
Я не знаю чтоЯ должен делать дальше?Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ: Если это что-то полезное, Visual Studio показывает мне на этой части «Resource.String. barcodescanner_toptext » следующее сообщение: «Неоднозначныйссылка: int barcodescanner_toptext (в классе String) int barcodescanner_toptext (в классе String) соответствует "