Tech Notes

Visual StudioのWindowsフォームアプリの開発でユーザーコントロールが追加できない

すーごい簡単に解決したのでメモ…

ユーザーコントロールを作って、それをデザイナ上で追加しようとすると

「ツールボックス 'xxxx(名前)' アイテムの読み込みに失敗しました。アイテムはツールボックスから削除されます。」

というメッセージが出て配置できないという問題発生。

ネット上を調べてみると「32bitと64bitの差が…」とかいう場合があるらしくその場合はビルド構成をx64でなくAny CPUやx86にすると直るらしいが、自分の場合は元からAny CPU構成だ。

わっけわかんねーと思っていたが「アセンブリがどうの…」みたいな話があってモシヤーと思い、一旦プロジェクトをビルドしてからデザイナで配置したら、なんのエラーも出ない。

どうやらVisual StudioのデザイナはC#などのソースからそのままユーザーコントロールの情報を読み込めるようには作ってないらしく、一旦ビルドしてDLL的な類のものを作って初めてデザイナが読み込めるようなのだ。

それくらい勝手に上手くやってくれればいいじゃないけちー!という感じだがまあ、正直MSに直して欲しいのはそこというよりもエラーメッセージの不親切さである。

bit数による問題だろうがアセンブリファイルの未作成による問題だろうが、無能VisualStudioくんの答えは十把一絡げに「アイテムの読み込みに失敗しました」というものであり、これはとても然るべしとは言い難い仕様ではなかろかと思うのだが、どうだろうか。