プロジェクトのターゲットCPUを「x64」にすると、設計時にテンプレートをGcMultiRowコントロールに設定できない

文書番号 : 40679     文書種別 : 技術情報     登録日 : 2017/07/26     最終更新日 : 2017/07/26
文書を印刷する
対象製品
MultiRow for Windows Forms 10.0J
詳細
プロジェクトのビルドオプションでターゲットCPUの設定を「x64」にすると、作成したテンプレートがフォーム上のGcMultiRowのTemplateプロパティに表示されずコントロールに割り当てることができません。既に設定したフォームを開く時には、下記のエラーが発生してフォームを正しく表示できません。

「型 '<テンプレート名>' が見つかりませんでした。この型を含むアセンブリが参照されていることを確認してください。この型が開発プロジェクトの一部である場合は、現在のプラットフォームまたはAny CPUの設定を使用して、プロジェクトが正常にビルドされていることを確認してください。」

この現象はVisual Studio IDEに起因する動作となります。

以下のような手順で、MultiRowを使用せずにUserControlを作成した場合でも同様な現象が発生します。
  1. プロジェクトを作成する。
  2. プロジェクトにUserControlを追加して、UserControlにButtonを配置する。
  3. プラットフォームのターゲットを64ビットに設定して、プロジェクトをビルドする。
  4. ツールボックスに追加された"UserControl1"をフォームに追加する。

Visual Studio IDEは32ビットアプリケーションのため、64ビット指定でコンパイルされたUserControlをツールボックスに追加したり、フォームにドラッグして配置することはできません。

Cannot add Controls from 64-bit Assemblies to the Toolbox or Use in Designers Within the Visual Studio IDE(英語)

http://support.microsoft.com/kb/963017


この現象を回避するには、フォームの設計時にビルドオプションのターゲットCPUを「AnyCPU」に指定した状態でプロジェクトをリビルドします。アプリケーションを配布する直前にだけ必要に応じて「x64」に変更してビルドを実行することで対応してください。