C# クラスで ResourceManager を使用しようとしていますが、ResourceManager クラスの新しいインスタンスを作成するときにベース名を何に置き換えるかがわかりません。
上記のプロジェクトで参照されるリソース ファイルを含む別のプロジェクトがあり、次のように名前が付けられています。
- Resources.resx
- Resources.es-ES.resx
次のようなコード スニペットがある場合、英語版またはスペイン語版のリソースを使用する場合、ベース名を何に置き換えればよいですか?
ResourceManager RM = new ResourceManager(basename,Assembly.GetExecutingAssembly());
トムが提案したアプローチを試しましたが、悪名高いエラーが発生しています
指定されたカルチャまたはニュートラル カルチャに適したリソースが見つかりませんでした。
私のソリューションには 2 つのプロジェクトがあり、プロジェクト YeagerTech は Web アプリケーションであり、プロジェクト YeagerTechResources にはすべてのリソースが含まれています。Project YeagerTech には YeagerTechResources への参照があります。
リソース マネージャーを作成するときの構文は次のとおりです。
ResourceManager RM = new ResourceManager("YeagerTechResources.Resources",
Assembly.GetExecutingAssembly());
明らかに、それは正しくありません。
YeagerTechResources プロジェクトのリソース ファイルでは、BuildAction が Embedded Resource に設定されています。
リソース ファイルの名前は、Resources.resx と Resources.es-ES.resx です。
リソースマネージャーをインスタンス化するときに、プロジェクトとリソースファイル名に基づいて使用する正確な構文を誰かが簡単に教えてくれれば、それを大いに感謝します...
私はこれを解決するために考えられるすべてのことをしましたが、できません....
これは、ここで解決する最後の試みです...
ResourceManager RM = new ResourceManager("YeagerTechResources.Resources", Assembly.GetExecutingAssembly());
sb.Append(RM.GetString("RegisterThanks"));
上記のコードを実行した後、次のエラーが発生します。
指定されたカルチャまたはニュートラル カルチャに適したリソースが見つかりませんでした。コンパイル時に「YeagerTechResources.Resources.resources」がアセンブリ「YeagerTech」に正しく埋め込まれているかリンクされていること、または必要なすべてのサテライト アセンブリがロード可能で完全に署名されていることを確認してください。
HTML マークアップでリソースをまったく問題なく使用できますが、コントローラーで C# コードにアクセスすると、上記のエラーが発生し続けます。
私のプロジェクトに基づいて必要な正確な構文の助けをいただければ幸いです。