質問者
カスタムコントロールを修正すると、その部品を貼り付けているFormのデザインを開くとエラーとなり編集できない

質問
-
VB.net 2015での開発となります。
Formアプリケーションを作成するにあたり、
カスタムコントロールを作成してDLL化して利用しております。
Formに貼り付けて利用することはできているのですが、
カスタムコントロールを修正して、DLLを作成し直すと
既にFormに貼り付けている部品のResxから読み込むリソースでエラーとなってしまいます。
DLLの修正を行っても、リソースが正しく読めるためには、
どのような方法があるでしょうか?
XML化できないかと思い、いろいろ試してますが、
結局バイナリシリアライズ化されてしまい、うまくいきません。。。
すべての返信
-
AssemblyInfo.vbを修正してVersionの固定化は行って
単に再ビルドしてDLLを更新した場合についてのエラーは解決しました。
今回は、対象のカスタムコントロールを修正してVersionを更新すると
Resxのデータが読めなくなる現象が残っております。
Designer.dbと同時に生成されるresxには、Base64でバイナリ化されたデータが格納されますので
これをXML文字列化できれば、解決できるのではないか?と考えて質問させて頂いた次第です。
Versionが違うという意味では、原因の根本が同じというご指摘でしょうか?
- 編集済み ijies710 2017年3月1日 4:35
-
私の見当違いなら、お許し下さい。
プロパティを持つユーザーコントロールと言う事であれば、
https://msdn.microsoft.com/ja-jp/library/cc437677(v=vs.71).aspx
辺りが参考になりませんか?。 古いですが。
ユーザーコントロール プロパティ で検索すれば色々と出て来ます。 -
すみません。ご教授頂いたページは参照させて頂いております。
説明を追記します。
ユーザコントロールのプロパティとして独自クラスを設定しております。
この独自クラスに、List(Of T)クラスのプロパティを持っており、
そのリストの構成要素も独自クラスです。
このユーザコントロールのプロパティを、デザインで編集して
保存、表示、再編集できることは確認済です。
ただ、リストの構成要素に対して修正を行った場合に
最初に作成されたFormに貼られたユーザコントロールのリソースを読むときに
エラーが発生する現象が発生します。
リソースを削除して、再度部品を貼りなおせば解消されるのですが、
これから画面を大量に作成してデバッグする必要があるため
部品のバグを改修するたびに、全てのリソースを作成しなおすのは厳しいので
XML化されていれば、バージョンUPにも耐えられるのではないか、と思って調べておりました。
下記のような情報もありましたが、Publicメンバーには適用できるのですが
プロパティには適用できないようでした。
https://msdn.microsoft.com/ja-jp/library/ms229752%28v=vs.120%29.aspx?f=255&MSPPError=-2147217396
全て、Publicメンバーにすることでできるのかもしれません。
(現在トライ中です)