ComponentOne に収録されているコンポーネントのアセンブリ DLL を直接参照して使用しているプロジェクトでは、参照するアセンブリを切り替えることで、旧バージョンを用いたアプリケーションを新バージョンに移行できます。
例として、WinForms の C1FlexGrid を使用したプロジェクトにおいて、そのアセンブリバージョンを 4.5.20232(2023Jv2)から 4.6.20233(2023Jv3)に移行する場合の手順を以下に示します。
対象となるプロジェクトを Visual Studio で開き、使用する ComponentOne コンポーネントがサポートする環境に合わせて、プロジェクトのターゲットフレームワークを変更します。例えば、.NET Framework 4.6.2 に対応する ComponentOne コンポーネントを使用する場合は、プロジェクトのターゲットフレームワークを .NET Framework 4.6.2 以上のいずれかに変更します。
ソリューションエクスプローラにて、[プロジェクト]-[参照]から、移行対象となるアセンブリ(この例では C1.Win.C1FlexGrid)を削除します。
次に、移行先となるアセンブリの参照を追加します。NuGet パッケージを使用するか、引き続きアセンブリ参照を使用するかで対応が異なります。
NuGet パッケージを使用する場合は、以下の手順に従ってください。
ソリューションエクスプローラにて、[プロジェクト]-[参照]のコンテキストメニューを開き、「NuGet パッケージの管理」を実行します。
NuGet パッケージマネージャーが開くので、移行先となるアセンブリが含まれる NuGet パッケージを選択してインストールを実行します。
NuGet パッケージを使用する場合、NuGet パッケージスクリプトを介してアプリケーションライセンスが自動生成されるため、licenses.licx が不要になります。licenses.licx を使用しているプロジェクトでは、プロジェクトから licenses.licx を削除します。
引き続きアセンブリ参照を使用する場合は、以下の手順に従ってください。
ソリューションエクスプローラにて、[プロジェクト]-[参照]のコンテキストメニューを開き、「参照の追加」を実行します。参照マネージャー上のアセンブリ一覧から、あるいは[参照ボタン]をクリックして直接アセンブリ dll を参照することで、移行対象となるコンポーネントのアセンブリ(この例では C1.Win.C1FlexGrid.4.6.2.dll)への参照を追加します。
licenses.licx を使用しているプロジェクトでは、アセンブリのライセンス情報が license.licx 内に記載されているので、移行対象のコンポーネントに対するライセンス情報を書き換える必要があります。例えば、C1FlexGrid コンポーネントを 4.5.2 版から 4.6.2 版に置き換える場合は、licenses.licx を開き、該当箇所を以下のように書き換えます。
C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.4.5.2 |
C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.4.6.2 |
特定のバージョン間においては、仕様変更に伴いメンバーの使用方法が変更されている場合があります。必要に応じて、ソースコードの該当箇所を変更してください。
プロジェクトのキャッシュファイル等(*.user、*.suo)があれば、それらを削除します。
プロジェクトのリビルドを実行します。
以上で移行作業は完了です。移行が正しく行われているか、念のためデバッグ実行して動作をご確認いただくことをお勧めいたします。