2025 年のリリースから、Civil 3D は .NET 8 をサポートするようになりました。ただし、.NET Framework ベースのプラグインは、.NET Framework 固有の機能に依存している場合、互換性の問題が発生する可能性があります。このセクションでは、新しい Civil3D .NET 8 プラグインを作成する場合と、既存の .NET Framework ベースのプラグイン プロジェクトを .NET 8 に移行する場合の両方について説明します。また、Civil 3D 内でのデバッグ手順、既知の問題の概要、以降の .NET Core バージョンへの適用についても説明します。
範囲と戦略
- アプリケーションが .NET Standard 2.x アセンブリの場合、移行は必要ありません。
- Civil 3D/AutoCAD とランタイムの相互運用性がないアプリケーションを並行して実行する場合、Microsoft .NET Framework - Microsoft Lifecycle .NET Framework でサポートされている限り、従来の .NET フレームワークを使用し続けることができます。
- https://github.com/dotnet/runtime/issues/68041 などの報告によると、.NET Framework DLLは、.NET Framework 専用の API を使用していない限り、.NET Core ランタイム内で引き続き動作する可能性があります。ただし、.NET Framework を使用する場合は、.NET Core 環境内で正しく機能するかどうかを確認するために、各自で十分なテストを行う必要があります。
- そうでない場合は、.NET Standard 2.1 アセンブリの作成を検討してください。これにより、かなりの期間、さらなる移行の必要性がなくなります。なお、.NET Standard はクロスプラットフォームの互換性を重視しており、WinForm、WPF、C++/CLI といった Windows 固有の機能は含まれていません。
- または、.NET 8 に移行し、.NET 8 で導入された重要な変更に対処することも可能です。
- 何らかの理由で .NET 8 への移行が不可能な場合は、アウトオブプロセス ソリューションを検討することもできます。これには、.NET Framework アプリケーションを .NET Framework ランタイムで別の実行ファイルにホストし、プロセス間通信を通じて Civil 3D と通信する必要があります。このアプローチは、パフォーマンスのオーバーヘッドや相互運用性の複雑さをもたらす可能性があることに留意してください。
開発環境