none
カスタムコントロールのプロパティにクラスを使用した場合のプロパティの読み込みについて RRS feed

  • 質問

  • お世話になります。

    3つのプロパティを持つクラスのインスタンスを、カスタムコントロール内のプロパティとして使用した場合に、

    ResX ファイルが無効です。.RESX ファイルで使用される型 ’プロジェクト名'.'カスタムコントロール名'+'プロパティクラス名', 'プロジェクト名', Version=1.0.0.0, Culture=neutral, PublicKeyToken=null を読み込めませんでした。必要な参照がプロジェクトに追加されていることを確認してください。

    とのエラーメッセージが表示されます。エラーコードはありません。

    因みに、

    ・プロパティに使用するクラス用のTypeConverterは作成済みで実装してあります。

    ・カスタムコントロールを実装したフォーム[デザイン]のプロパティウインドー上ではプロパティを変更できています。

    カスタムコントロールにクラスを使用したことがなく、ほかに原因がわからず困っています。

    原因がお分かりになる方いらっしゃいましたらご教授ください。 よろしくお願いいたします。

    2016年7月11日 4:18

すべての返信

  • WPFですか?Windows Formsですか?

    かずき Blog:http://d.hatena.ne.jp/okazuki/

    2016年7月11日 6:28
  • 申し訳ありませんでした。開発環境を記入するのを忘れていました。

    Visual Studio Community2015 VBにてWindowsFormsです。

    よろしくお願いいたします。

    2016年7月11日 12:08
  • 回答とは少し違うのですが、もしかしてbuildがうまく出来ていない可能性が気になりました。

    カスタムコントロールのクラスを持つアセンブリと実装側のFormを持つアセンブリを分けて、dll参照にしたらどうなるでしょうか?

    何となくですが、一旦objフォルダを削除してリビルドするとかで改善しそうな気もします。

    2016年7月16日 9:31
  • * サンプルコードか、どんなコントロールか提示できませんか?

    * コントロールクラスにresxファイルはありますか?単純に継承したクラスの場合はありませんが、複合コントロールの場合はresxファイルがある場合があります。要は、resxファイルがないのにエラーが表示されているのか?あるのにエラーが表示されているのか?ということです。

    * エラーが出るのはどのタイミングですか?貼り付けるとき?実行するとき?

    * 貼り付けるときは、ToolBoxの上の方に表示される同じソリューションのプロジェクトのコントロールのリストからですか?署名してGACにインストールしたものをToolBoxにインストールしたものからですか?

    2016年7月18日 12:44
  • TypeConverterは、InstanceDescriptorとの変換ができるように作られたのでしょうか。

    もしそうだとしたら.resxは不要になりますので、バックアップを取った上で削除してみられたらいかがでしょうか。

    たぶんTypeConverterを作る前に必要だった.resxが残っていてエラーになっているのではと推測しています。


    http://systemartlaboratory.com/

    2016年8月7日 8:55