

App_LocalResourcesの下にページにマッピングされていない独自のリソースファイルがあります。  
master.resx

これをC#でロードして中の文字列を取得したいのですが、方法はありますか？

なぜApp_LocalResourcesの下に置きたいかというと、DLLに埋め込まずに文字列としてリリース後も編集可能にしたいからです。この用途に設定ファイルは使用したくないです。


CC BY-SA 3.0
2016-01-26T10:21:36.030
21335
2016-02-26T01:32:55.413
14143
question
c# .net asp.net
ASP.NETでresxファイルをロードしたい


あまり推奨できる方法ではありませんが、System.Windows.Forms.dllを参照に追加すれば`ResXResourceSet`クラスを使用してresxファイルを解析することができます。

[code]

    new System.Resources.ResXResourceSet(Server.MapPath("App_LocalResources/master.resx")).GetString("String1")
    
[/code]

なお上記の例では`ResXResourceSet`を毎回作成していますが、Webサーバーで使用するのであれば適当にキャッシュしておく必要があるかと思います。


CC BY-SA 3.0
2016-01-26T11:17:09.443
21340
2016-01-26T11:17:09.443
5750
21335
answer


`App_LocalResources`でなく`App_GlobalResources`ではダメですか？
どちらも同じ扱いでページ固有か全体で共有かの違いという認識でしたが。

ページ固有のリソースを別ページから参照したいというのはアプローチとして間違っていると思います。


CC BY-SA 3.0
2016-01-27T00:56:22.380
21359
2016-01-27T00:56:22.380
4236
21335
answer