本トピックには、最新リリースを使用して以前のバージョンの Visual COBOL で作成された .NET COBOL プロジェクトを編集する場合に関する重要な情報が含まれています。
リリース 9.0 では次の変更が導入されています。
9.0 より前のリリースで作成された既存の .NET COBOL プロジェクトをビルドすると、ビルド エラーが発生する可能性があります。古いプロジェクトとの互換性を確保するために、9.0 では、MicroFocus.COBOL.Runtime メタパッケージも用意されています。これを有効にするか、必要な新しい NuGet パッケージを手動で追加できます。
詳細については、「.NET アプリケーションでの Micro Focus アセンブリのパッケージ化」を参照してください。
SDK を更新すると、プロジェクトが MicroFocus.COBOL.Runtime.Core パッケージを参照することになります。次の方法により、変更に起因するビルド エラーの発生を回避できます。
Visual Studio 2022 では、プロジェクトを正常に開いてビルドするには、.NET 6 プロジェクトの global.json ファイルがソリューション ファイルのディレクトリ レベルに配置されている必要があります。以前のバージョンの Visual Studio では、このファイルはプロジェクト フォルダーなどのソリューションのサブフォルダーに配置されていました。
この変更により、global.json ファイルがソリューション ファイルのディレクトリ レベルにない場合、以前のリリースからアップグレードした既存の .NET Core 3.1 COBOL プロジェクトに影響を与える可能性があります。また、既存のソリューションに追加する .NET 6 COBOL プロジェクトにも影響します。
このような場合、MSBuild コマンド ラインからビルドする際に、次のエラー メッセージが表示されることがあります (プロジェクトの読み込みに失敗した場合は、Visual Studio 内の出力ウィンドウに表示されます)。
"The SDK 'MicroFocus.Sdk' specified could not be found"
この問題を回避するには、global.json ファイルをソリューション ファイルのディレクトリ レベルに移動する必要があります。
Visual Studio 2022 で作成された新しい .NET 6 COBOL ソリューションおよびプロジェクトでは、必要な場所に global.json ファイルが作成されます。
dotnet コマンドを使用して、7.0 より前のバージョンの Visual COBOL で作成された .NET プロジェクト (以前の .NET Core プロジェクト) を操作することはできません。代わりに、Visual Studio IDE および msbuild コマンドを使用してそのようなプロジェクトを引き続き利用するか、dotnet コマンドを使用できるようにそのようなプロジェクトをアップグレードできます。
7.0 より前のプロジェクト ファイルをアップグレードして、dotnet コマンドでプロジェクトを使用できるようにするには、次の手順を実行する必要があります。
<Project Sdk="Microsoft.NET.Sdk">上記を次のように変更します。
<Project Sdk="MicroFocus.Sdk"
<LanguageTargets
{
"msbuild-sdks": {
"MicroFocus.Sdk": "1.0.16"
}
}
これを行うために .cblproj ファイルおよび global.json ファイルを変更する方法の詳細については、Microsoft の使い方に関するドキュメント「Use MSBuild project SDKs」を参照してください。