3

私のアプリの1つをWP 8.0からUWPに移行しています。私は、通常のユーザーから隠すJSONコンテンツをいくつか持っています。以前のバージョンでは、私は「埋め込まれたリソース」に、それらのJSONファイルのビルドアクションを設定して使用してそれらを反復処理することができました:埋め込みリソースをUWPで読み取る方法は?

Application.GetResourceStream(new Uri(path, UriKind.Relative)); 

をしかし、この方法は、UWPでは利用できません。

埋め込みリソースをUWPで読み取る方法はありますか?または、ビルドアクションを 'コンテンツ'に設定する以外に、これらのファイルを保存する別の方法がありますか?その後、

var stream = someAssembly.GetManifestResourceStream(name); 

そして、あなたがやりたい:上記のリストからフルネームで

var names = someInstance.GetType() 
      .GetTypeInfo() 
      .Assembly 
      .GetManifestResourceNames(); 

そして負荷リソース:あなたは国会クラスのメソッドを使用して、使用可能なリソースのリストを反復処理することができます

答えて

2

ストリームと一緒に。

0

は、あなたはその後、GetManifestResourceStreamを呼び出すリソースを組み込みアセンブリを取得する必要があります。

public class EndpointBuilder 
{ 
    private static String _filePath = "YourProjectNameSpace.MyFolder.MyFile.json"; 

    public async Task<Endpoint> Build() { 

     var assembly = this.GetType().GetTypeInfo().Assembly; 
     var stream = assembly.GetManifestResourceStream(_filePath); 

     JsonSerializer jsonSerializer = new JsonSerializer(); 
     var serializer = new JsonSerializer(); 

     using (var sr = new StreamReader(stream)) 
     using (var jsonTextReader = new JsonTextReader(sr)) 
     { 
      Endpoint enpoint = serializer.Deserialize<Endpoint>(jsonTextReader); 
      return enpoint; 
     } 
    } 
} 

私は名前空間YourProjectNameSpaceのサンプルを持っているがMyFile.jsonを含んはMyFolderを持っています

関連する問題