いつもお世話になっております。 [VisualStudio2008 Express] [VB.net WindowsFormアプリケーション] 非常に複雑な現象ですが、順を追って説明しようと思います。 1.プロジェクト内に長文を保存する必用があるため、 Resouces.Designer.vb 及び Resouces.resx に長文の文字列を登録 した。 (もちろん、Resources.resxをソリューションエクスプローラ でダブルクリックして、GUI操作で登録を行った。この長文の名前を strChobun とします。) 2.ソリューション内の他のFormのデザイナを開き、修正を加え、 Designer.vb ファイルが再生成された瞬間以降、Designer.vb 内の 全ての "" の箇所が [プロジェクト名].My.Resources.Resources.strChobun に書き換わり、勝手に長文が適用されてしまった。 ※Designer.vb 内の "" の箇所とは、例えば Combobox.Items.Addrange(new string(){"","aaa","bbb"} などのことです。 3.厳密に言うと、ソリューション内に @クラスライブラリ AWindowsFormアプリケーション という二段構成になっており、strChobunの登録は @ にて、デザインの不具合はAにて という状態になっています。 この現象を無くすため、 1.@のクラスライブラリから strChobun を完全に消去 2.@をビルド 3.Aでデザイナ上で変更を加える という方法を取ったところ、 [クラスライブラリ名].My.Resources.Resources.strChobun というのが 出てくる現象が相変わらず発生しつづけ、デザイナで変更を加えるたびに、 [クラスライブラリ名].My.Resources.Resources.strChobun を "" に置換するという 作業を余儀なくされる。 (永遠にモグラ叩き状態 ) 【疑問】 一度抹消したプロパティが何度も出てくるというのが不可解ですし、 クラスライブラリ内の文字列Resourseのアクセス修飾子はFriendなのに、それを参照先のプロジェクトが 強引に見に行こうとする動きも理解できません。 【回避法】対処療法ですが、 1.クラスライブラリ内に strChobun を復活させ、アクセス修飾子をPublicに変更 2.strChobun の値を "" にし、Designer.vbの "" が strChobunに 置き換わっても、問題が起こらないように変更。 で、しのいでおります。 何か根本的な解決法がありそうなら、ご教授願いたいです。 ※今後、現象を分かって頂くためにソリューションを.zipにしてアップロード させて頂くかもしれません。(再現性のあるシンプルなものを作るのに時間を 要しています。)
分類:[.NET]