2009-04-28 7 views
2

言語固有の文字列データを保持する一連のリソース(resx)ファイルを作成しました。さまざまなチュートリアルに続いて、ソリューションのルートフォルダにベースリソースファイル(MyResources.resx)を配置し、ソリューション内に次のリソースファイル(MyResources.en-AU.resxなど)を並べて配置しました。例えば、ソリューションエクスプローラで「Culture」というフォルダを作成し、リソースファイルの1つまたはすべてをそのフォルダに移動するまでは、このすべてがうまくいきます。これを実行した後、私はMissingManifestResourceExceptionを取得しています。ソリューションエクスプローラーのルートフォルダーに戻ってしまうと問題は起こりません。C#MissingManifestResourceExceptionを引き起こすソリューションサブフォルダ内のリソースファイル

誰でもここで何が起こっているのか説明できますか?これらのリソースファイルをルートソリューションから移動するにはどうすればよいですか?

よろしく

答えて

4

あなたは、リソースファイルを移動すると言うとき、あなたは手動でファイルシステム上でそれらを動かし意味ですか?そうであれば、明らかにビルドツールはファイルを見つけることができません。なぜなら、それらのファイルはまだ "古い"場所から参照されているからです。プロジェクトからリソースファイルを削除し、「既存のアイテムを追加」して元に戻してください。それを試す前にすべてをバックアップすることを忘れないでください。

編集:ファイルをフォルダに移動すると、そのフォルダ名が名前空間の一部になります。たとえば、Resource1というリソースファイルがあり、Resource1.String1でアクセスした場合、「Folder」に移動した後、Folder.Resource1.String1になります。

+0

私はvstudio内でそれらを移動しませんでした。注:ソリューションは常にリソースファイルの場所に関係なく構築されます。問題は文字列データにアクセスしようとしていました。 – Grant

+0

リソースにアクセスしようとしている名前空間を変更するのを忘れましたか?フォルダに移動すると、そのフォルダ名は名前空間の一部になります。たとえば、Resource1というリソースファイルがあり、Resource1.String1でアクセスした場合、そのファイルを「Folder」に移動した後、Folder.Resource1.String1になります。 –

+0

ありがとうTal、私はフォルダが名前空間の一部になったことを知らなかった。 乾杯! – Grant

関連する問題