はじめに

旧ComponentOneやFlexGridなどの旧単体製品で作成されたWindowsフォームプロジェクトを移行する方法をご紹介します。


移行対象

以下の製品に含まれるWindowsフォーム用コンポーネントへの移行情報を紹介します。(いずれも最新バージョン)

  • ComponentOne Enterprise
  • ComponentOne for WinForms

.NET製品からの移行

移行元.NET製品 移行先コンポーネント 参考資料
ComponentOne
(2012J以前)
コンポーネント対応表で確認
FlexGrid for .NET
(1.0J/2.0J/3.0J/4.0J)
FlexGrid for Windows Forms 5.0J
FlexGrid 移行情報詳細
True WinChart for .NET
(1.0J/2.0J/3.0J/4.0J)
TrueChart for Windows Forms 5.0J
TrueChart
※2016J v3まで。後継製品はFlexChartですが、互換性はありません。

ActiveX製品からの移行

移行元ActiveX製品 移行先コンポーネント 参考資料
VS-FlexGrid Pro
(6.0J/7.0J/8.0J)
FlexGrid 相違点解説資料とAPI比較表
True DBGrid Pro
(6.0J/7.0J/8.0J)
TrueDBGrid
VS-VIEW
(7.0J/8.0J)
Reports 定義情報の移行ツールとAPI比較表
VS-Resizer
(6.0J)
Sizer
True WinChart
(8.0J)
TrueChart
※2016J v3まで。後継製品はFlexChartですが、互換性はありません。
定義情報の移行ツール
True WebChart
(6.0J/8.0J)
TrueChart
※2016J v3まで。後継製品はFlexChartですが、互換性はありません。
定義情報の移行ツール

互換性について

.NET製品からの移行

ComponentOneに含まれるコントロールは、旧バージョンおよび単体製品に含まれるコントロールとの上位互換が保たれています。そのため、旧バージョンおよび単体製品を使用して作成したプロジェクトを、本製品を使用したプロジェクトへ移行できます。
なお、機能改善や不具合の修正上の都合により、一部のメンバが新たな機能に変更されている場合があります。この場合、ソースコードの修正が必要になりますので、あらかじめご了承ください。変更されたメンバの詳細については、更新履歴または製品ヘルプをご参照ください。

ActiveX製品からの移行

ベースとなるアーキテクチャ(.NETとActiveX)が異なるため、互換性はありません。移行には作り直しが必要です。


コンポーネント対応表

旧バージョンからコンポーネント名が変更されているものがあります。以下の比較表でご確認頂けます。

2008J 2010J~2012J 最新版 (2013J以降) 互換性 備考
FlexGrid for .NET 4.0J FlexGrid for Windows Forms 5.0J FlexGrid for WinForms あり 移行情報詳細
True DBGrid for .NET 3.0J True DBGrid for Windows Forms 3.0J True DBGrid for WinForms あり
True WinChart for .NET 4.0J TrueChart for Windows Forms 5.0J TrueChart for WinForms
※2016J v3まで。後継製品はFlexChartですが、互換性はありません。
あり
Preview for .NET 4.0J - - あり Reports for WinFormsに統合
True WinReports for .NET 4.0J Reports for Windows Forms 5.0J Reports for WinForms あり
Schedule for .NET 1.0J Schedule for Windows Forms 1.0J Scheduler for WinForms あり
Menus&Toolbars for .NET 3.0J Menus&Toolbars for Windows Forms 3.0J Menus and Toolbars for WinForms あり
Ribbon for .NET 1.0J Ribbon for Windows Forms 2.0J Ribbon for WinForms あり
Sizer for .NET 1.0J Sizer for Windows Forms 1.0J Sizer for WinForms あり
SuperToolTip for .NET 1.0J SuperToolTip for Windows Forms 1.0J SuperToolTip for WinForms あり
Flash for .NET 1.0J - - - 2010Jより収録中止
PDF for .NET 1.0J PDF for .NET 2.0J PDF for .NET あり
XLS for .NET 2.0J XLS for .NET 3.0J Excel for .NET あり
ZIP for .NET 1.0J ZIP for .NET 1.0J Zip for .NET あり

移行方法

.NET製品からの移行

プロジェクトの移行は、移行内容によって作業が異なります。下記の1~4のうち、該当する移行内容に記載された手順に従って、移行作業を行ってください。

1. Visual Studioプロジェクトを変換する場合

異なるバージョンのVisual Studioプロジェクトに変換する場合は、下記の情報を参考にして、Visual Studioプロジェクトの変換作業を行います。

方法: 旧バージョンの Visual Studio で作成されたプロジェクトのアップグレード

2. コンパイル対象のフレームワークを変更する場合

移行するプロジェクトの対象のフレームワークを変更する場合は、下記の情報を参考にして、変更作業を行います。なお、対象のフレームワークを「.NET Framework 4 Client Profile」にした場合、System.Drawing.Design.dllなどのClient Profileに含まれないアセンブリを参照しているとエラーが発生しますので、参照から削除してください。

方法: .NET Framework のバージョンをターゲットにする

3. 参照しているアセンブリの種類を変更する場合

プロジェクトで参照しているアセンブリの種類を「2種類のコントロール」のように変更する場合は、以下の手順で変更作業を行います。

例 : プロジェクトで参照している「C1.Win.C1FlexGrid.2.dll」を「C1.Win.C1FlexGrid.4.dll」に変更する場合

  1. 「ソリューションエクスプローラ」( [表示] - [ソリューションエクスプローラ] )に移動し、「すべてのファイルを表示」ボタンをクリックしてください。
  2. プロジェクトの参照設定を開き、製品のアセンブリを削除します。
  3. [ファイル] メニューから [すべてを保存] して、一旦プロジェクトを終了します。
  4. プロジェクトフォルダ内のbin、objの各フォルダ、および.suo、.userの各ファイルを削除します。
  5. プロジェクトフォルダ内のlicenses.licxファイルをメモ帳などで開き、ライセンス情報を下記のとおり変更します(以下は、FlexGrid for WinFormsの場合の例)。

    ・ .NET Framework 2.0ビルドを使用する場合
     (「, Version~」以下を削除します)
     C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2

    ・ .NET Framework 4ビルドを使用する場合
     (アセンブリ名を「~4」にし、「, Version~」以下を削除します)
     C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.4

  6. 再度、プロジェクトを開きます。

  7. 参照設定に.NET Framework 2.0または.NET Framework 4ビルドのアセンブリを追加します。
  8. [ビルド(B)] メニューにある [ソリューション(もしくはプロジェクト)のリビルド(R)] を実行します。なお、「リビルド」ではなく「ビルド」を実行した場合、正しく移行されないことがありますので、必ず「リビルド」を実行してください。
4. 参照しているアセンブリの種類は変更せずに最新バージョンに移行する場合

プロジェクトで参照しているアセンブリを、種類は変更せずに、そのアセンブリの最新のバージョンに変更する場合は、ComponentOneプロジェクト移行ツールを使用します。

例 : プロジェクトで参照しているFlexGrid for Windows Forms 5.0Jの「C1.Win.C1FlexGrid.4.dll(アセンブリバージョン/4.6.20123.745)」をComponentOne for WinForms 2013Jに含まれるFlexGrid for WinFormsの「C1.Win.C1FlexGrid.4.dll(アセンブリバージョン/4.6.20131.770)」に変更する場合

ComponentOneプロジェクト移行ツールは、ComponentOneに収録されているコンポーネントのアセンブリを使用したプロジェクトに対し、そのアセンブリを最新版へアップグレードするために必要な削除・更新処理を支援するツールです。アセンブリバージョンに依存せずにアセンブリの参照を行うようになるため、アプリケーションのリビルドを実行するだけで、常に最新のアセンブリが適用されたアプリケーションを作成することが可能になります。

本ツールは、スタートメニューの [ComponentOne] - [ツール] - [プロジェクト移行ツール] から起動できます。ツールを起動したら、画面の指示に従って操作してください。

また、ツールの使用時には、次の点にご注意ください。

  • 本ツールによるプロジェクトの移行は完全ではなく、手動による変更を必要とする場合があります。
  • 本ツールはプロジェクトファイルを基準に処理を行います。そのためプロジェクトファイルがない場合は、処理することができません。
  • 不完全な動作によるデータの損失に備え、操作対象のファイルをすべて 本ツール以外の方法であらかじめバックアップしてください。
  • 移行を開始する前にプロジェクトを終了してください。
  • 本ツールでは、Visual Studio .NET 2002/2003 で作成されたプロジェクトの移行はサポートしていません。この場合、上述の [1. Visual Studioプロジェクトを変換する場合] を行ってから移行ツールによる移行を行ってください。

ツールによる移行が完了したあとは、対象のプロジェクトを開いて、[ビルド(B)] メニューにある [ソリューション(もしくはプロジェクト)のリビルド(R)] を実行します。なお、「リビルド」ではなく「ビルド」を実行した場合、正しく移行されないことがありますので、必ず「リビルド」を実行してください。

ActiveX製品からの移行

作り直しが必要になるため、移行するための手順はありません。移行対象の参考情報をもとに新規にプロジェクトを作成する必要があります。


関連情報

2種類のアセンブリ

移行先のComponentOneには、.NET Framework 2.0でビルドされたアセンブリ(C1.xxxx.2.dll)と、.NET Framework 4でビルドされたアセンブリ(C1.xxxx.4.dll)が収録されています。
両コントロールには完全な互換性があり、アセンブリファイル名のみが異なります。Visual Studio 2010/2012でComponentOneのWindowsフォーム用コンポーネントを使用する場合、コンパイル対象のフレームワークにより使用可能なアセンブリが異なります。ただし、.NET Framework 2.0ビルドアセンブリは、サブスクリプションでの提供が終了しており、メンテナンスモード期間も終了しております。
.NET Framework 4ビルドアセンブリをご利用ください。

対象フレームワークとアセンブリ

使用可能なアセンブリ
コンパイル対象のフレームワーク .NET Framework 2.0 ビルド
(bin\v2\C1.xxxx.2.dll)
.NET Framework 4 ビルド
(bin\v4\C1.xxxx.4.dll)
.NET Framework 3.5 SP1 ×
.NET Framework 3.5
Client Profile
× ×
.NET Framework 4
.NET Framework 4
Client Profile
×
.NET Framework 4.5
.NET Framework 4.5.1
.NET Framework 4.5.2
.NET Framework 4.6
.NET Framework 4.6.1
.NET Framework 4.7
.NET Framework 4.7.1

※ コンパイル対象のフレームワークで「.NET Framework 4 Client Profile」を選んだ場合、.NET Framework 2.0ビルドのコントロールはツールボックスに表示されません。
※ △印は使用可能ですが、使用は推奨しません。