2016-10-11 5 views
1

いくつかの.reswリソースファイルを含み使用するクラスライブラリ(ユニバーサルWindows UWP)プロジェクトを作成しますが、クラスライブラリプロジェクトに含まれている場合はロードされませんdllを使用するプロジェクトからdllを実行している間に発生します。すべて私はこのdllを使用するプロジェクトで直接reswファイルを含める場合にのみうまく動作しますが、私はこれを避けなければなりません。クラスライブラリ内でreswリソースファイルを使用するには

クラスライブラリは

ResourceMap lettersResourceMap = ResourceManager.Current.MainResourceMap.GetSubtree("LocalizationLettersWords"); 

(LocalizationLettersWordsは、クラスライブラリプロジェクトにある.reswファイルである)このようにリソースマップを取得しますがlettersResourceMapはnullを取得します。

答えて

2

UWPでは、ResourceLoaderクラスがプログラムでリソースを取得するために使用されます。したがって、あなたはこれを使うことができます:

string resource1 = ResourceLoader.GetForCurrentView().GetString("YourKey"); 

しかし、それは非UIスレッドで使用すると動作しません。その場合、あなたは、例えば、方法GetForViewIndependentUseを使用する必要があります。

string resource2 = ResourceLoader.GetForViewIndependentUse().GetString("YourKey"); 

あなたはResourceLoaderクラスhereについての詳細を読むことができます。

+0

okですが、ResourceMapとResourceManagerを使用する方法はありますか? –

+0

正直言ってわかりませんが、別のファイルからリソースをロードする必要がある場合は、GetForCurrentView( "fileName")またはGetForViewIndependentUse( "fileName")を使用することができます –

+1

またはこれを試すことができます:https:// social .msdn.microsoft.com/Forums/sqlserver/ja-US/e42fc337-f031-45a7-8313-b8d0cbfa43a5/uwp-do-windows-store-apps-support-localized-resources-in-assemblies-if-so-how -do-you-get-a?forum = wpdevelop –

関連する問題