.NET帳票コンポーネント「ActiveReports for .NET(アクティブレポート)」では、旧バージョンから最新バージョンに移行するためのツールを提供しています。
今回の記事では、旧バージョンで作成したWindows FormsアプリのActiveReportsを最新バージョン「16.0J」に移行する方法をご紹介します。
目次
検証環境
今回使用する検証環境は以下の通りです。
- OS:Windows 10(22H2)
- IDE:Visual Studio 2022(Version 17.3.6)
- フレームワーク: .NET Framework 4.8.1
ActiveReportsは「16.0J SP1(v16.1.0.0)」を使用します。こちらもあらかじめ製品版、またはトライアル版をインストールしてください。トライアル版は無料で以下より入手可能です。
16.0Jの新機能
16.0Jでは、 .NET Coreによるデスクトップアプリケーション(Windows Forms/WPF)開発に対応したほか、マイクロソフトのアプリケーションフレームワーク「 .NET 6」をサポートするなど、.NET環境への対応を強化しており、高パフォーマンスな.NETアプリケーションを開発することが可能です。また、レーダーチャートや縦中横、GS1データマトリックスなど、Windowsフォームアプリでもご利用いただける様々な機能強化を行っております。そのほかにも帳票開発を支援する機能が多数追加されていますので、詳細は製品サイトをご覧ください。
また、今回移行先のフレームワークには2022年8月にリリースされた .NET Frameworkの最新バージョン「4.8.1」を使用しますが、ActiveReportsは2022年10月リリースの「16.0J SP1」でこの .NET Framework 4.8.1に対応済みです。
16.0Jへの移行方法
移行対象のアプリ
今回は2009年に発売された「6.0J」に含まれている請求書サンプル(…\Samples\CS\Layout\Seikyu1)を「16.0J」に移行してみたいと思います。
ファイルコンバータの実行
※ 移行作業前にプロジェクト全体のバックアップを取ることをおすすめします
まずは移行元となるプロジェクトをVisual Studioで開きます。16.0Jは、「Visual Studio 2017/2019/2022」でご利用いただけます。また、16.0Jが対応している .NET Frameworkのバージョンは「4.6.2」以降です。
通常はファイルコンバータを実行することで自動的にターゲットフレームワークも「4.6.2」に変更されますが、「4.6.2」のSDKがインストールされていないなど、環境によっては移行に失敗する場合もあります。その場合はコンバータ実行前に、あらかじめプロジェクトのターゲットフレームワークを「4.6.2」以降の利用可能なバージョンに変更しておきます(今回は最新の「4.8.1」に変更しています)。
上部の[ツール]メニューから[ActiveReports 16.0J ファイルコンバータ]を実行します。
移行対象のファイルが表示されるので、[OK]ボタンをクリックして変換を実行します。
16.0JのActiveReportsのライブラリはNuGetパッケージとして提供されるので、旧バージョンのようなGACからのインストールと比較して少し時間がかかりますが、しばらく待つと以下のように変換が完了します。
アプリケーションの実行
変換が完了したらプロジェクト全体をリビルドしてアプリケーションを実行します。移行前と同様にWindows Formsアプリに帳票が表示されました。
移行がうまくいかない場合
基本的には以上の手順を実行することで移行は完了です。ただ、移行元のバージョンやアプリケーションの実装内容によってはすんなり移行できない場合もあります。
ライセンス情報の移行が必要なケース
ファイルコンバータでの変換が完了し、リビルドを実行した際に、移行元のバージョンによっては以下のように「“LC.exe” はコード -1 を伴って終了しました」のエラーが発生する場合があります。
上記エラーの対処方法はこちらのナレッジ文書に詳しく解説されています。
ほとんどの場合は、「1.」にある、「licenses.licx」の内容を修正することで解消されます。今回移行するサンプルで使用しているレポートの種類や機能にあわせてライセンスを記述します。
GrapeCity.ActiveReports.SectionReport, GrapeCity.ActiveReports
GrapeCity.ActiveReports.Viewer.Win.Viewer, GrapeCity.ActiveReports.Viewer.Win
詳細は製品ヘルプの以下のトピックもご覧ください。
その他ビルドエラーが発生するケース
移行元のActiveReportsのバージョンやアプリケーションの処理によっては、ファイルコンバータを実行しても、前述のLC.exeのエラー以外のエラーが残ってしまい、ビルドが通らない場合があります。その場合は、一部のコードを手動で変更する必要があります。
特に「6.0Jから7.0J」および「12.0Jから14.0J」にかけて、アセンブリの名前空間やクラス名、ViewerコントロールやDesignerコントロール等について、大幅な変更が加えられているので注意が必要です。
詳細な手順等については、製品ヘルプの以下のトピックをご覧ください。
さらに詳しい移行情報をWebサイトで公開中!
以上が旧バージョンで作成したWindows FormsアプリのActiveReportsを最新バージョン「16.0J」に移行する方法でした。製品サイトでは移行作業の実例を詳細にまとめた移行資料や、Accessやクリスタルレポート、SSRSから移行する場合の手順など、移行に関する情報をまとめたページを公開しています。16.0Jへの移行をご検討されている方は是非ご確認ください。
製品サイトにはこの他にも製品の機能を手軽に体験できるデモアプリケーションやトライアル版も公開しておりますので、こちらもご確認ください。
また、ご導入前の製品に関するご相談、ご導入後の各種サービスに関するご質問など、お気軽にお問合せください。