Micro Focus では、リリース ノードに別途記載されていない限り、呼び出し可能オブジェクト (スタンドアロン実行可能ファイルでロードされたり呼び出されたりする int や .gnt など) の互換性がサポートされており、いずれかのバージョンの Visual COBOL でビルドされたオブジェクトを同じプラットフォーム上のそれよりも新しいバージョンの Visual COBOL でディプロイおよび実行できます。
ただし、呼び出し可能オブジェクトがスタンドアロン実行可能ファイルに組み込まれている場合の実行可能ファイルまたは .dll ファイルと新しいリリースの Visual COBOL との互換性は、関連する Microsoft C ランタイムに依存します。
2 つのリリースの Visual COBOL で共通の C ランタイムを共有している場合、スタンドアロン実行可能ファイルまたは .dll は新しいリリースと互換性があります。ただし、2 つのリリースで使用している C ランタイムが異なる場合は、実行可能ファイルまたは .dll を新しいリリースで実行したときに完全な互換性はありません。
このような状況では、製品の新しいリリースをサポートする新しい実行可能ファイルまたは .dll を生成します。これを行うには、通常、ソースからアプリケーションを再コンパイルする必要があります。
リリース 4.0 以降では、Visual COBOL を構成して、以前のリリースで作成されたアプリケーションを再リンクする必要があるかどうかを確認できます。アプリケーションで以前のバージョンの C ランタイムが使用されている場合は、Visual COBOL で既存の実行可能ファイルまたは .dll を自動的に新しいバージョンの C ランタイムに再リンクできます。最初にアプリケーションを再コンパイルする必要はありません。これには元のオブジェクト コード (.obj) が必要です。
Visual COBOL では、デフォルトでは再リンク機能は無効になっています。有効にするには、次の手順を実行します。
以前のリリースの Visual COBOL で作成されたプロジェクトを再リンクするには、次の手順を実行します。
プロジェクトに古い C ライブラリが含まれている場合、Visual Studio の情報バーにプロジェクトを再リンクできることが示されます。
オブジェクトが新しい C ランタイム ライブラリに自動的にリンクされます。
コマンド ラインを使用して、以前のリリースの Visual COBOL で作成されたプロジェクトを再リンクできます (ソリューションは不可)。これにより、実行可能ファイルまたは .dll が最新の C ランタイム ライブラリに再リンクされます。
msbuild /Property:Relink=true [<project name>]