次の各セクションでは、.NET Core で使用するアプリケーションを Visual COBOL を使用して作成する際の制限事項について説明します。
Visual COBOL では、.NET Core バージョン 3.1 で使用する COBOL アプリケーションを作成してディプロイできます。
.NET Core にディプロイする COBOL アプリケーションには、次の機能を含めることはできません。
.NET Core にディプロイされるアプリケーションのランタイム動作をアプリケーション構成ファイルを使用して構成する必要がある場合は、.NET Framework コンソール アプリケーション用の .exe.config ファイルではなく .dll.config ファイルを使用する必要があります。
デフォルトでは、.NET Core プロジェクトの COBOL アプリケーションは、ファイル処理操作にネイティブ ファイル ハンドラーを使用します。プロジェクトのディプロイおよび実行時にネイティブ ファイル処理機能を利用できるようにするために、.NET Core プロジェクトをパブリッシュすると、パブリッシュされたファイルに必要なネイティブ ランタイム システムとファイル ハンドラーが (MicroFocus.COBOL.Runtime パッケージの一部として) 含まれます。
メイン プログラムが COBOL ではない Windows 上のローカル .NET Core アプリケーションをデバッグする場合、たとえばメイン プログラムが C# である場合は、適切なファイル ハンドラーが使用されていることを確認する必要があります。そうしないと、最初の COBOL ファイル入出力文でランタイム システム エラー COBRT198 (「ロードできない」) が発生します。
デフォルトでは、32 ビットのネイティブ バージョンのファイル ハンドラーが利用できます。これをアプリケーションで使用するには、メイン プログラムのプロジェクトが x86 プラットフォームを対象にビルドされている必要があります。
または、ネイティブ ランタイム システムに依存しないようにするために、.NET ファイル ハンドラーを使用することもできます。プロジェクトで指令 CALLFH (EXTFH) および CALLSORT (EXTSM) を指定することにより、ネイティブ ファイル ハンドラーではなく .NET ファイル ハンドラーを使用するように .NET Core プロジェクトを切り替えることができます。
デフォルトでは、.NET Core プロジェクトの COBOL アプリケーションは、ファイル処理操作にネイティブ ファイル ハンドラーを使用します。プロジェクトのディプロイおよび実行時にネイティブ ファイル処理機能を利用できるようにするために、.NET Core プロジェクトをパブリッシュすると、パブリッシュされたファイルに必要なネイティブ ランタイム システムとファイル ハンドラーが (MicroFocus.COBOL.Runtime パッケージの一部として) 含まれます。
.NET Core プロジェクトを Azure .NET 環境にディプロイする場合は、代わりにプロジェクトで .NET ファイル ハンドラーを使用して、プロジェクトでネイティブ C ランタイムのディプロイも必要になる依存関係を回避する必要があります。プロジェクトで指令 CALLFH (EXTFH) および CALLSORT (EXTSM) を指定することにより、ネイティブ ファイル ハンドラーではなく .NET ファイル ハンドラーを使用するように .NET Core プロジェクトを切り替えることができます。
次の表に、Visual COBOL を使用してパブリッシュした .NET Core 向け COBOL アプリケーションをディプロイできるオペレーティング システムのバージョンとアーキテクチャを示します。
オペレーティング システム | バージョン | アーキテクチャ | ランタイム識別子 (RID) |
---|---|---|---|
Red Hat Enterprise Linux | 7 以上 | x64 | rhel.7.4-x64 |
SUSE Enterprise Linux | 12 SP2 以上 | x64 | sles.12.3-x64 |
Windows 10 クライアント | バージョン 1607 以上 | x64 | win7-x64 |
x86 | win7-x86 | ||
Windows クライアント | 8.1 | x64 | win81-x64 |
x86 | win81-x86 | ||
Windows サーバー | 2012 R2 以上 | x64 | win81-x64 |
x86 | win81-x86 |
次のオペレーティング システムは .NET Core でサポートされていますが、COBOL アプリケーションのディプロイには使用できません。
Windows 用の Visual COBOL ビルド ツールを使用して .NET Core プロジェクトをビルドできるようにするには、Microsoft の Visual Studio 2019 用ビルド ツールを使用している必要があります。詳細については、「Windows 用の Visual COBOL ビルド ツールを使用した .NET Core プロジェクトのビルド」を参照してください。
Visual COBOL には .NET Core バージョン 3.1 が必要であり、.NET Core バージョン 3.1 は Visual Studio 2017 でサポートされていないため、.NET Core で使用する COBOL アプリケーションを Visual COBOL を使用して作成してディプロイするには、Visual Studio 2019 を使用している必要があります。
Visual COBOL for Visual Studio 2017 を使用して以前のバージョンの Visual COBOL の .NET Core 対応プロジェクトを開くと、プロジェクトを開くことができないことを通知するエラーが発生します。
[Windows Forms App (.NET Core)] プロジェクト テンプレートを使用して作成されたプロジェクトに Windows フォーム デザイナーを使用することはできません。