HIRASE CONNECTION WK

programming collection

目次

Blog 利用状況

ニュース

あわせて読みたいブログパーツ

書庫

日記カテゴリ

Link Collection

[C++/CLI] RootNamespaceが狂っていると、System.Resources.MissingManifestResourceExceptionが発生します。

C++/CLIアプリを作成して、ローカライズ(L10N or I18N) します。このとき、もし自分で名前空間を変えているなら、実行時に「System.Resources.MissingManifestResourceException」例外が発生します。

詳細

どうもアセンブリリソースを埋め込む際に、ルート名前空間を見て名前を修飾して埋めているらしく、ローカライズしたフォーム(ApplyResourceを呼びだしている)クラスの名前空間がルート名前空間とずれていると、実行時に適切なリソースを見つけられなくて、「System.Resources.MissingManifestResourceException」例外が発生するようです。

対処方法は2つ。(ま、結局2つともに同じことなんですけど)

  1. フォームクラスの名前空間を、ルート名前空間に合わせる。
  2. ルート名前空間を、フォームクラスの名前空間に合わせる。

ルート名前空間は、プロジェクトのプロパティウィンドウ(プロパティページでもプロパティマネージャでもないですよ!)の、ルート名前空間で変更するか、プロジェクトをいったんソリューションエクスプローラからアンロードして、右クリックで編集するなどします。

あぁ、つらい。

投稿日時 : 2008年6月10日 15:07

コメントを追加

No comments posted yet.
タイトル  
名前  
URL
コメント