2011-01-17 16 views
1

私のアプリケーションにカルチャ固有のリソースが必要でした。私がしたことは、Resource.txtを作成し、resgen.exeを使用してこれをResource.resourcesにコンパイルすることです。Visual Studio 2010を使用してアセンブリにリソースファイルを追加する

しかし、私は使用して私のリソースにアクセスする場合:

System.Resources.ResourceManager rm = new System.Resources.ResourceManager("ResourceManager.Resources", 
          Assembly.GetExecutingAssembly()); 

を、私はConsole.WriteLine(rm.GetString("test"));を呼び出す場合、それはエラーがスローされます

すべてのリソースを見つけることができませんでした 指定された文化のための適切な か中性の文化。確か 「ResourceManager.Resources.resources」 が正しく埋め込みまたはコンパイル 時に アセンブリ「のResourceManager」にリンク、または必要なすべての衛星 アセンブリがロード可能であり、 が完全に署名したことをされたことを確認します。

私のリソースファイルは "test = testing"内のテキストを持つResources.txtであり、Resources.resourcesにコンパイルされます。

質問:

  1. はどのように?コマンドラインでCSC、またはALを使用していないIDE(Visual Studioの2010)を使用してアセンブリにコンパイルされたリソースをリンクすることができます。

  2. これを行う方法は他にもありますか?私はVisual Studioに.resxファイルを追加していますが、私にとってはそれほど好都合ではありませんが、key = valueタイプのtxtファイルが好きです。

答えて

0

ではなく

 

System.Resources.ResourceManager rm = new System.Resources.ResourceManager("Resources", 
          Assembly.GetExecutingAssembly()); 
 

を使用してみてください。

関連する問題