Bug – Xamarin.Forms – Windows Universal App kann .resx File nicht laden

Momentan empfiehlt Microsoft bestehende PCLs (Portable Class Library) auf die neuen .NET Standard Bibliotheken umzustellen. Dies gilt auch für Xamarin.Forms. Hierzu gibt es mehrere Anleitungen (https://xamarinhelp.com/visual-studio-2017-net-standard-xamarin).

In diesen Anleitungen werden zwei Wege beschrieben. Einmal die Möglichkeit die alte PCL komplett zu entfernen und durch die neue .NET Standard Bibliothek zu ersetzen und, als zweiten Weg, die bestehende PCL in eine .NET Standard Bibliothek umzuwandeln.

13-07-_2017_12-13-17

Den ersten Weg führt zwar zu einem funktionierenden Projekt, jedoch nur solange man im „Build“ Modus in Visual Studio 2017 arbeitet. Sobald dieser Modus auf „Release“ gesetzt wird, findet das Windows 10 Universal App Projekt nicht mehr die Ressourcen Dateien (.resx) mit möglichen Konfigurationsdaten.

Diese Ressourcen können nur von klassischen PCL Projekten geladen werden, da in den neuen Universal Apps .resw Dateien verwendet werden. Die alten .resx Dateien werden durch den Einsatz einer PCL automatisch in das neue Format übertragen. Diese Funktionalität scheint bei der aktuellen .NET Standard Variante nicht zu funktionieren.

Wie also das Problem lösen?

Bei der aktuellen Vorlage für Xamarin.Forms Anwendungen ist bereits ein aktuelles PCL Projekt mit integriert. Um jetzt mit diesem trotzdem Bibliotheken ansprechen zu können, die bereits .NET Standard verwenden (zum Beispiel LiteDB), kann man über den zweiten Weg (siehe Grafik oben) die PCL in einen „.NET Standard MODUS“ umwandeln. Hier können dann beide Bibliothekstypen (klassisches .NET + .NET Standard) geladen werden.

Hierzu geht man wie folgt vor:

  1. Xamarin.Forms aus Nuget von PCL entfernen
  2. Unter Properties „Target .NET Platform Standard“ auswählen
  3. Target Level auswählen (bei mir .NET Standard 1.4)
  4. project.json Datei öffnen und wie folgt editieren

Danach kann man wieder Xamarin.Forms über Nuget hinzufügen, sowie die restlichen Bibliotheken, die man benötigt.

Nun werden auch die Ressourcen wieder korrekt im Release Build in die UWP App importiert.

Weitere Informationen:

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s