作成日: 2026/03/25 最終更新日: 2026/05/01
文書種別
使用方法
詳細
.NET (8+) でActiveReportsを使用するとき、以下の点にご留意ください。
- コード形式セクションレポートのデザイナについて
- セクションレポートのレンダリングエンジンが.NET Frameworkと異なる
- Printメソッドによる印刷はWindows環境でのみ可能
- サポートされているエンコーディングが.NET Frameworkと異なる
- 書式(Format)の適用結果が.NET Frameworkと異なる場合がある
コード形式セクションレポートのデザイナについて
コード形式セクションレポート(.cs/.vb)のデザイナを.NETのプロジェクトでも使用できます。
ただし、Visual Studio 2022以上が必要になります。Visual Studio 2019での使用には対応していません。
具体的な使用方法は以下のヘルプをご確認ください。
Visual Studio でコードベースセクション レポートをデザインする
他のレポート形式は、デザイナの使用に制限がありません。
.NET Frameworkのプロジェクトと同様に使用できます。
セクションレポートのレンダリングエンジンが.NET Frameworkと異なる
.NET では、クロスプラットフォームに対応した新しいレンダリングエンジンがデフォルトで使用されます。これは .NET Framework で使用される旧来のレンダリングエンジン(GDI)とは異なるため、描画結果にも差異が発生する場合があります。
詳しくは以下のナレッジをご確認ください。
セクションレポートのCompatibilityModeプロパティについて
CompatibilityMode=CrossPlatformの場合、以下のコントロールに制限事項があります。
- Chart
- ImageTypeプロパティで描画形式を変更できません。
- 常にベクタ形式(Metafile相当)の描画になります。
- RichTextBox
- 実行時にRTFを読み込むことができません。
- デザイナの操作でのみRTFを設定できます。
- OleObject(※)
- 使用できません。
※OleObjectはCompatibilityMode=GDIでも使用できません。
.NET Frameworkでのみ使用できます。
Printメソッドによる印刷はWindows環境でのみ可能
Printメソッドによる印刷(Webアプリの場合、サーバーサイド印刷)はWindows環境でのみ可能となります。詳細は以下のナレッジをご確認ください。
サポートされているエンコーディングが.NET Frameworkと異なる
.NET でサポートされているエンコーディング(文字コード)は .NET Framework と比較して少なくなっています。詳細は以下をご確認ください。
[CodePagesEncodingProvider Class (System.Text) | Microsoft Docs]
https://docs.microsoft.com/en-us/dotnet/api/system.text.codepagesencodingprovider
この差異が影響して以下のような問題が発生する場合があります。
-
バーコードを表示できない
Barcodeコントロールを含むレポートを描画するとき、以下の例外が発生します。
No data is available for encoding 932. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
-
GDIレンダリングのセクションレポートをPDFに出力できない
CompatibilityModeにGDIを設定したセクションレポートをPDFに出力するとき、以下の例外が発生します。
No data is available for encoding 1252. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
-
Shift-JISエンコーディングのCSVファイルを読み込めない
Shift-JISエンコーディングのCSVファイルをレポートのデータソースに設定している場合、文字化けが発生します。
上記のような問題が発生する場合は、レポートを描画する前にエンコーディングの登録処理を実行してください。
◆サンプルコード (C#)
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
書式(Format)の適用結果が.NET Frameworkと異なる場合がある
.NET 5以降のバージョンでは、グローバリゼーション機能でICU (International Components for Unicode) が使用されます。そのため、従来のNLS (National Language Support) を使用している.NET Frameworkとは、書式の適用結果などに差異が生じる場合があります。
たとえば、日付データ(2022/01/01)を表示するTextBoxのFormatプロパティにMMMを設定したとき、それぞれ以下の結果になります。
| .NET Framework | .NET (6+) | |
| Windows | 1 | 1月 |
| Linux | (実行不可) | 1月 |
本動作はプラットフォームに依存した制限事項となります。
実際の運用環境にあわせた書式を設定するか、書式を使用せずに独自に文字列を加工する方法などをご検討ください。上記の例の場合、Month関数で月数(0埋めなし)を取得する方法などが有効です。
【参考情報】
.NET グローバリゼーションと ICU