ComponentOne 利用ガイド
アセンブリ参照を使用したプロジェクトの移行手順
移行ガイド > プロジェクトの移行手順 > アセンブリ参照を使用したプロジェクトの移行手順

ComponentOne に収録されているコンポーネントのアセンブリ DLL を直接参照して使用しているプロジェクトでは、参照するアセンブリを切り替えることで、旧バージョンを用いたアプリケーションを新バージョンに移行できます。

例として、WinForms の C1FlexGrid を使用したプロジェクトにおいて、そのアセンブリバージョンを 4.5.20232(2023Jv2)から 4.6.20233(2023Jv3)に移行する場合の手順を以下に示します。

  1. 対象となるプロジェクトを Visual Studio で開き、使用する ComponentOne コンポーネントがサポートする環境に合わせて、プロジェクトのターゲットフレームワークを変更します。例えば、.NET Framework 4.6.2 に対応する ComponentOne コンポーネントを使用する場合は、プロジェクトのターゲットフレームワークを .NET Framework 4.6.2 以上のいずれかに変更します。

  2. ソリューションエクスプローラにて、[プロジェクト]-[参照]から、移行対象となるアセンブリ(この例では C1.Win.C1FlexGrid)を削除します。

  3. 次に、移行先となるアセンブリの参照を追加します。NuGet パッケージを使用するか、引き続きアセンブリ参照を使用するかで対応が異なります。

    Visual Studio 2017 以降では NuGet パッケージマネージャーが提供されており、これを使用することで、プロジェクトへの NuGet パッケージのインストール、アップデート、アンインストールなどの操作を簡単に行うことができます。とくに理由がない限り、NuGet パッケージを使用することをお勧めします。

    NuGet パッケージを使用する場合は、以下の手順に従ってください。

    1. ソリューションエクスプローラにて、[プロジェクト]-[参照]のコンテキストメニューを開き、「NuGet パッケージの管理」を実行します。

      NuGet パッケージマネージャーが開くので、移行先となるアセンブリが含まれる NuGet パッケージを選択してインストールを実行します。

      • 2023Jv3 以降の C1FlexGrid 4.6.2 版アセンブリは、C1.Win.C1FlexGrid.Ja の 4.8.* バージョンの NuGet パッケージに含まれています。
      • 依存関係にあるNuGet パッケージへの参照は自動で追加されるので、それらの NuGet パッケージを明示的にインストールする必要はありません。
    2. NuGet パッケージを使用する場合、NuGet パッケージスクリプトを介してアプリケーションライセンスが自動生成されるため、licenses.licx が不要になります。licenses.licx を使用しているプロジェクトでは、プロジェクトから licenses.licx を削除します。

    引き続きアセンブリ参照を使用する場合は、以下の手順に従ってください。

    1. ソリューションエクスプローラにて、[プロジェクト]-[参照]のコンテキストメニューを開き、「参照の追加」を実行します。参照マネージャー上のアセンブリ一覧から、あるいは[参照ボタン]をクリックして直接アセンブリ dll を参照することで、移行対象となるコンポーネントのアセンブリ(この例では C1.Win.C1FlexGrid.4.6.2.dll)への参照を追加します。

      必要に応じて、依存関係にあるアセンブリについても同様に、アセンブリの参照先を変更する必要があります。例えば、C1.Win.C1FlexGrid では、依存アセンブリとして C1.Win アセンブリを参照しています。依存関係にあるアセンブリへの参照をプロジェクトの参照設定に明示的に追加している場合は、これらも同様に参照先を置き換えてください。
    2. 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
  4. 特定のバージョン間においては、仕様変更に伴いメンバーの使用方法が変更されている場合があります。必要に応じて、ソースコードの該当箇所を変更してください。

    バージョンごとの仕様変更につきましては、Web サイトにあるエディションごとのコンポーネント更新履歴にてご確認いただけます。
  5. プロジェクトのキャッシュファイル等(*.user、*.suo)があれば、それらを削除します。

  6. プロジェクトのリビルドを実行します。

以上で移行作業は完了です。移行が正しく行われているか、念のためデバッグ実行して動作をご確認いただくことをお勧めいたします。

ターゲットフレームワークバージョンが同じ ComponentOne アセンブリ間の移行の場合は、製品付属のプロジェクト移行ツールを使用することで、上記の移行作業を自動的に行うことができます(.NET Framework をターゲットとしたプロジェクトのみ)。プロジェクト移行ツールの使用方法などについては「プロジェクト移行ツール」をご参照ください。
関連トピック