作成日: 2021.05.13 最終更新日: 2021.05.13
文書種別
技術情報
詳細
ComponentOne for WinFormsの各種コントロールは順次.NET 5対応を行っていますが、未対応のコントロールについては、対応が完了するまでアプリケーションの.NET 5への移行をお待ちいただけますようお願いいたします。
なお、既存のプロジェクトを.NET5プロジェクトに移行し、.NET5対応コントロールを新たに追加したり一部のコントロールを.NET 5対応Nugetに差し替えたいといったケースでは、「.NET 5 アプリにおけるフォームデザイン機能の利用方法 その1(.NET 5対応コントロールのみを使用する場合)」の手順を用いて.NET 5アプリを作成することはできませんが、.NET Framework 4.5.2ビルドのDLLとNuGetを使用し、ComponentOne for WinForms ユーザーガイドの「フォームデザイン機能」の「対処方法2」に準じた手順を実行することで、.NET 5アプリの作成時にフォームデザイン機能を利用する代替策が考えられます。
※ご注意
大変恐縮ですが、こちらの方法は製品のサポート対象外となりますので、予めご了承ください。
1. 「Windowsフォームアプリ」の作成
Visual Studio の「新しいプロジェクトの作成」で、テンプレートとして「Windows フォーム アプリ」、ターゲットフレームワークに「.NET 5.0」を選択して、新しいプロジェクト(例: WinFormsApp1プロジェクト)を作成します。
2. 「Windows フォーム アプリケーション(.NET Framework)」の追加
ソリューションに、.NET Framework 4.5.2 以上をターゲットとする「Windows フォーム アプリケーション(.NET Framework)」プロジェクト(例:Designerプロジェクト)を追加します。
3. デザイン機能を利用するためにソリューションを構成
ComponentOne for WinForms ユーザーガイド」の「.NET Core プロジェクトで使用する場合のご注意」>「フォームデザイン機能」の「対処方法2:.NET Framework をターゲットとする Windows フォームデザイナを使用する」の手順に従って、Designerのフォームのデザイン機能を利用できるようソリューションを構成します。
※詳細な手順は、上記ユーザーガイドを参照してください。
以下に、「WinFormsApp1」プロジェクトと「Designer」プロジェクトを含み、デザイン用のForm1.cs持つソリューションの構成例を示します。

4. C1コントロールをフォームに配置
ソリューションを構成し終えたら、Designerプロジェクトのフォームデザイナーを開き、その上に、ツールボックスから.NET Framework 4.5.2ビルドのC1コントロールをドラッグして配置します。
以下はC1FlexGridコントロールを追加した例です。

5. 各種設定
デザイン画面で各種設定を行うと共に、必要に応じてコードを追加します。
6. NuGet パッケージのインストール
ソリューションエクスプローラーで、「WinFormsApp1」プロジェクトのコンテキストメニューから「NuGet パッケージの管理」を選択し、「NuGet パッケージマネージャー」を開きます。次いで、画面右上にある「パッケージソース」が「nuget.org」であることを確認し、参照タブからComponentOne for WinFormsの.NET 4.5.2用NuGet パッケージ(名前=”C1.Win.xxxx.Ja”、バージョン=「v4.5」で始まっているもの)を選択して、インストールボタンをクリックします。
以下は、C1FlexGrid コントロールの.NET 4.5.2用NuGet パッケージ(C1.Win.FlexGrid.Ja)をインストールする例です。

※オフライン環境で利用する際のインストール方法
インターネット接続が制限されている環境(オフライン環境)においては、パッケージソースとして「nuget.org」を利用することができません。
この場合、リリースノートの「使用上のご注意」の「4. オフライン環境でのご利用について」の手順に従って、オフラインインストーラを使用して製品をインストールした後、次に示す手順に従って、マシンにコピーされたNugetパッケージをローカルのパッケージソースとして登録しご利用ください。
(1) ローカルのパッケージソースの登録
Visual Studioのツールメニュー > オプション > NuGet パッケージマネージャー > パッケージソースをクリックし、右ペイン上部の “+” ボタンをクックします。パッケージソースの名前(例:C1Win_Packages)、およびComponentOne for WinFormsの.NET 4.5.2用NuGetファイルがコピーされた下記フォルダの場所を指定して、新しいパッケージソースを追加します。
C:\Program Files (x86)\ComponentOne\Packages

(2) ローカルのNuGetのインストール
ソリューションエクスプローラーで、「WinFormsApp1」プロジェクトのコンテキストメニューから「NuGet パッケージの管理」を選択し、「NuGet パッケージマネージャー」を開きます。次いで、画面右上にある「パッケージソース」を上で設定した名前(例:C1Win_Packages)に変更し、参照タブから.NET 4.5.2用NuGet パッケージを選択して、インストールボタンをクリックします。

7. ソリューションのビルド
ソリューションをビルドし、実行します。
※注意事項
今後、.NET 5非対応コントロールで .NET 5対応が行われNET 5用Nugetが提供された場合、この代替案で作成した.NET 5アプリで使用していた.NET 4.5.2用NuGetを、.NET5用NuGetに差し替えただけでは、正しく実行されないことがあります。.NET 4.5.2アセンブリと.NET 5アセンブリで、機能が変更されたり、機能名が変わるなどのケースがあるためです。 このような場合、表示されるエラーメッセージに基づいて、.NET 4.5.2アセンブリと.NET 5アセンブリ用ヘルプを比較し、コードを修正するなどの対応を行ってください。
なお、既存のプロジェクトを.NET5プロジェクトに移行し、.NET5対応コントロールを新たに追加したり一部のコントロールを.NET 5対応Nugetに差し替えたいといったケースでは、「.NET 5 アプリにおけるフォームデザイン機能の利用方法 その1(.NET 5対応コントロールのみを使用する場合)」の手順を用いて.NET 5アプリを作成することはできませんが、.NET Framework 4.5.2ビルドのDLLとNuGetを使用し、ComponentOne for WinForms ユーザーガイドの「フォームデザイン機能」の「対処方法2」に準じた手順を実行することで、.NET 5アプリの作成時にフォームデザイン機能を利用する代替策が考えられます。
※ご注意
大変恐縮ですが、こちらの方法は製品のサポート対象外となりますので、予めご了承ください。
1. 「Windowsフォームアプリ」の作成
Visual Studio の「新しいプロジェクトの作成」で、テンプレートとして「Windows フォーム アプリ」、ターゲットフレームワークに「.NET 5.0」を選択して、新しいプロジェクト(例: WinFormsApp1プロジェクト)を作成します。
2. 「Windows フォーム アプリケーション(.NET Framework)」の追加
ソリューションに、.NET Framework 4.5.2 以上をターゲットとする「Windows フォーム アプリケーション(.NET Framework)」プロジェクト(例:Designerプロジェクト)を追加します。
3. デザイン機能を利用するためにソリューションを構成
ComponentOne for WinForms ユーザーガイド」の「.NET Core プロジェクトで使用する場合のご注意」>「フォームデザイン機能」の「対処方法2:.NET Framework をターゲットとする Windows フォームデザイナを使用する」の手順に従って、Designerのフォームのデザイン機能を利用できるようソリューションを構成します。
※詳細な手順は、上記ユーザーガイドを参照してください。
以下に、「WinFormsApp1」プロジェクトと「Designer」プロジェクトを含み、デザイン用のForm1.cs持つソリューションの構成例を示します。

4. C1コントロールをフォームに配置
ソリューションを構成し終えたら、Designerプロジェクトのフォームデザイナーを開き、その上に、ツールボックスから.NET Framework 4.5.2ビルドのC1コントロールをドラッグして配置します。
以下はC1FlexGridコントロールを追加した例です。

5. 各種設定
デザイン画面で各種設定を行うと共に、必要に応じてコードを追加します。
6. NuGet パッケージのインストール
ソリューションエクスプローラーで、「WinFormsApp1」プロジェクトのコンテキストメニューから「NuGet パッケージの管理」を選択し、「NuGet パッケージマネージャー」を開きます。次いで、画面右上にある「パッケージソース」が「nuget.org」であることを確認し、参照タブからComponentOne for WinFormsの.NET 4.5.2用NuGet パッケージ(名前=”C1.Win.xxxx.Ja”、バージョン=「v4.5」で始まっているもの)を選択して、インストールボタンをクリックします。
以下は、C1FlexGrid コントロールの.NET 4.5.2用NuGet パッケージ(C1.Win.FlexGrid.Ja)をインストールする例です。

※オフライン環境で利用する際のインストール方法
インターネット接続が制限されている環境(オフライン環境)においては、パッケージソースとして「nuget.org」を利用することができません。
この場合、リリースノートの「使用上のご注意」の「4. オフライン環境でのご利用について」の手順に従って、オフラインインストーラを使用して製品をインストールした後、次に示す手順に従って、マシンにコピーされたNugetパッケージをローカルのパッケージソースとして登録しご利用ください。
(1) ローカルのパッケージソースの登録
Visual Studioのツールメニュー > オプション > NuGet パッケージマネージャー > パッケージソースをクリックし、右ペイン上部の “+” ボタンをクックします。パッケージソースの名前(例:C1Win_Packages)、およびComponentOne for WinFormsの.NET 4.5.2用NuGetファイルがコピーされた下記フォルダの場所を指定して、新しいパッケージソースを追加します。
C:\Program Files (x86)\ComponentOne\Packages

(2) ローカルのNuGetのインストール
ソリューションエクスプローラーで、「WinFormsApp1」プロジェクトのコンテキストメニューから「NuGet パッケージの管理」を選択し、「NuGet パッケージマネージャー」を開きます。次いで、画面右上にある「パッケージソース」を上で設定した名前(例:C1Win_Packages)に変更し、参照タブから.NET 4.5.2用NuGet パッケージを選択して、インストールボタンをクリックします。

7. ソリューションのビルド
ソリューションをビルドし、実行します。
※注意事項
今後、.NET 5非対応コントロールで .NET 5対応が行われNET 5用Nugetが提供された場合、この代替案で作成した.NET 5アプリで使用していた.NET 4.5.2用NuGetを、.NET5用NuGetに差し替えただけでは、正しく実行されないことがあります。.NET 4.5.2アセンブリと.NET 5アセンブリで、機能が変更されたり、機能名が変わるなどのケースがあるためです。 このような場合、表示されるエラーメッセージに基づいて、.NET 4.5.2アセンブリと.NET 5アセンブリ用ヘルプを比較し、コードを修正するなどの対応を行ってください。