同一プロジェクトでInputMan/PlusPakの新バージョン(8.0J)と併用する場合の注意点

文書番号 : 38476     文書種別 : 技術情報     登録日 : 2015/05/27     最終更新日 : 2015/05/27
文書を印刷する
対象製品
MultiRow for Windows Forms 7.0J
詳細
同じプロジェクトでMultiRow for Windows Forms 7.0J(以下、MultiRow7)とInputMan for Windows Forms 8.0J(以下、InputMan8)またはPlusPak for Windows Forms 8.0Jを併用する場合、次の注意点があります。

※以下では、InputMan for Windows Formsについての説明になりますが、PlusPak for Windows Formsでも同じ現象が発生します。

競合エラーの発生
Visual Studioで次のいずれかの操作を行うと、プロジェクトの参照設定にInputMan for Windows Forms 7.0J(以下、InputMan7)のアセンブリが自動で追加されます。

・MultiRow7のコントロールが配置されたフォームのデザイン画面を開く。
・InputManCellが配置されたMultiRowテンプレートのデザイン画面を開く。
・フォームにMultiRow7のコントロールを配置する。
・プロジェクトにMultiRowテンプレートを追加する。

この場合、プロジェクトの参照設定には名前空間が同じInputMan7とInputMan8のアセンブリが存在するため、プロジェクトのビルド時にアセンブリ参照で名前空間の競合エラーが発生します。

競合を回避する方法
【C#の場合】
この問題を回避するには、下記の参照に対してエイリアスを定義します。

・GrapeCity.Framework.InputMan.v22
・GrapeCity.Win.Editors.v70

エイリアスの定義方法については「InputManとPlusPakの旧バージョン(5.0J/6.0J)と同一プロジェクト内で共存させる方法」を参照してください。

【Visual Basicの場合】
以下の理由からVisual Basicでは有効な回避方法がありません。

・Visual Basicでは、エイリアスを定義する方法が使用できない。
・参照設定からInputMan7のアセンブリを手動で削除しても、フォームのデザイン画面を開くたびに参照設定に追加される。


適切なアセンブリ バージョンの組み合わせ
上記の競合エラーを発生させないためには、MultiRow for Windows FormsとInputMan for Windows Formsを適切なアセンブリ バージョンの組み合わせで使用する必要があります。

InputMan for Windows Forms 8.0Jと適切な組み合わせとなるMultiRowの新バージョン
MultiRow for Windows Forms 8.0J
関連情報