Laden...

Windows 10 Universal Apps (Localization) Visual Studio 2015 findet ResourceMap nicht

Erstellt von kkirchhoff vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.972 Views
K
kkirchhoff Themenstarter:in
118 Beiträge seit 2008
vor 7 Jahren
Windows 10 Universal Apps (Localization) Visual Studio 2015 findet ResourceMap nicht

Folgender Sachverhalt:
Alle meine „Resource.resw” befinden sich in der Presentation.dll im Verzeichnis „/Resources/de-DE/ShellView.resw“ bzw. „/Resources/en-US/ ShellView.resw“. In der Application.dll befinden sich alle Methoden zur Sprachverwaltung wie z. b. Sprache wechseln.
Die „Presentation.dll“ hat einen Verweis auf „Application.dll“.
Nun möchte via in der Application.dll auf die Resourcen der „ShellView.resw“ zugreifen.
Mein Ansätze:

ResourceLoader  loader = ResourceLoader("Assembly/ResourceFile");
ResourceLoader loader = ResourceLoader.GetForCurrentView(„Presentation/ShellView“
ResourceLoader loader  loader = ResourceLoader("Presentation.Lib/Resources");

Jedes mal bekomme ich die Fehlermeldung, dass die ResourceMap nicht gefunden wird.
Kann es daran liegen, dass die Application.lib keinen Verweis auf Presentation.lib hat. Das soll natürlich auch nicht sein.

D
985 Beiträge seit 2014
vor 7 Jahren

Nach meinem Verständnis gehört die Sprachverwaltung (in welcher Sprache soll präsentiert werden) in die Präsentationsschicht.

Wenn man sich merken möchte, was die bevorzugte Sprache ist, dann geht das auch runter in den DataLayer, allerdings braucht der nur diese eine Information und keinen Zugriff auf die Resourcen.

K
kkirchhoff Themenstarter:in
118 Beiträge seit 2008
vor 7 Jahren

Danke für die Antwort.

Nur was macht man, wenn die Tools für die Sprachverwaltung in einem Framework uns somit in einer anderen DLL liegen.

Das die Resourcen selbst in der Presentation Schicht halte ich auch für richtig.

D
985 Beiträge seit 2014
vor 7 Jahren

Diese Schichten sind eine logische Aufteilung und nicht an explizit einer DLL gebunden und Verweise zu anderen DLLs kann man doch problemlos erstellen.

Ein Problem sehe ich da jetzt nicht.

K
kkirchhoff Themenstarter:in
118 Beiträge seit 2008
vor 7 Jahren

Du hast leider das Problem nicht ganz verstanden vermute ich, es hat hier weniger etwas mit Schichtentrennung zu tun, sondern damit, dass ich ein Framework verwende (bzw. erstelle) welches die Funktion zur Sprachsteuerung hat.

Dieses Framework wird bereits von der Presentation.DLL via Verweis verwendet. Ich kann schwerlich einen Verweis von Application (was das Framework darstellt) zusätzlich auf Presentation verweisen. Das wäre das ein recusiever Verweis.

P
1.090 Beiträge seit 2011
vor 7 Jahren

Mit dem ResscourceLoader kenne ich mich jetzt nicht auf grundlegend sollte es aber funktionieren wie hier beschrieben.

MSDN:Quickstart: Using string resources (XAML)

Der zugriff auf die Ressorcen, wird da dann aber auch wohl nur in der App funktioniere, die die Presentation.dll verwendet. Unit Test sind damit schwer möglich.

Grundlegend sollte es aber auch möglich sein, die Resourcen in eine eigene DLL auszulagern. So das Prsentaion und Application auf sie verweisen.

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern