質問: new global::System.Resources.ResourceManager("SampleWebApp.App_GlobalResources.SampleMessageResource", typeof(SampleMessageResource).Assembly); ``` こちらのサイトを参考にしてみたんのですが、どうも ResourceManager は リソースの「*.resources」形式を読み取るように作られているようです。 どうすればテストコード上でWebアプリのresxのリソースファイルから文字列を取得できるでしょうか?
回答: ASP.NET の話のようですが、それなら ASP.NET のタグをつけていただくようお願いします。 > > resxファイルは、Webアプリケーションのプロジェクトの以下のような場所にあります。> (SampleWebAppがプロジェクト名です) > > SampleWebApp\App_GlobalResources\SampleMessageResource.resx > > > App_GlobalResources フォルダにリソースファイルと入れるとユニットテストの際うまくいかないことがあります。詳しくは以下の記事を見てください。 Resource Files and ASP.NET MVC Projects そこに書いてありますが、質問者さんのケースでも "The problem is that global resources are not actually embedded into the project’s .dll. Instead it is the ASP.NET runtime that creates an App_GlobalResources assembly with the resources inside. " というところで引っかかっているのではないかと思われます。 自分は App_GlobalResources, App_LocalResources は使わないで以下のようにしています。(タイトルが今回の話と違いますが、そこはスルーしてください) データアノテーション検証の多言語対応