Next Design V3.0 から V3.1 へのアップデート時の注意点


プロジェクトファイル

V3.0 から V3.1 へのアップデートに伴うファイル保存形式の変更はありません。V3.1 で保存されたファイルは V3.0 でも編集できます。

拡張コンテンツ

以下の拡張コンテンツは、必ず更新が必要です。Next Design の拡張機能の管理から更新してください。

エクステンション

Next Design 本体のプラットフォームが .NET Core 3.1 から .NET 6 に変更となります。 これに伴い V3.0 向けに開発されたエクステンションを V3.1 で引き続き使用する場合は、次の対応をお願いいたします。

.NET 5 および .NET 6 の一部には破壊的変更があり、それらに該当する場合は個別に対応いただく必要があります。 また、利用されている外部の依存パッケージの互換性についてはユーザー様にてご確認いただく必要があります。
.NET Core 3.1 のサポートは終了しています。今後のサポートを受けるためにも .NET 6 への移行をご検討ください。
(Next Design の API は V3.0 と V3.1 で互換性があり、.NET Core 3.1 と .NET 6 も互換性に配慮されているため、ほとんどのエクステンションはそのまま動作します。)

参考:.NET および .NET Core サポート ポリシー

エクステンションの .NET 6 への移行

.NET 6 対応のエクステンションを Visual Studio で開発するためには、Visual Studio 2022 が必要です。
(Visual Studio 2019 では .NET 6.0 以降をターゲットにすることはサポートされていません)

参考:.NET、MSBuild、Visual Studio のバージョン管理の概要

V3.0 向けに開発されたエクステンションを .NET 6 へ移行するための手順は次の通りです。

  1. .NET 6.0 SDK(Windows 用 x64, x86 両方)をインストールします。(ダウンロードはこちら

  2. 以下の警告が出る場合は、プロジェクトファイル(プロジェクト名.csproj)のSdk設定を [Microsoft.NET.Sdk] に変更します。

    警告メッセージ:

    Microsoft.NET.Sdk.WindowsDesktop SDK を使用する必要はなくなりました。ルート プロジェクト要素の SDK 属性を 'Microsoft.NET.Sdk' に変更することをご検討ください。

    対象ファイル:プロジェクト名.csproj

    Visual Studio 2022のプロパティ設定からは変更できないため、Visual Studioで対象ファイルをクリックし開くか、テキストエディタで開いて編集します。

    修正前プロジェクト設定の例:

    <!--csprojの設定-->
    <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
    
    </Project>

    修正後プロジェクト設定の例:

    <!--csprojの設定-->
    <Project Sdk="Microsoft.NET.Sdk">
    
    </Project>
  3. Visual Studio 2022 でソリューションを開きます。

  4. ソリューション エクスプローラーでプロジェクトを右クリックし、[プロパティ] を実行してプロジェクトのプロパティを表示します。

  5. 左のナビゲーションから [アプリケーション > 全般] を選択し、[ターゲットフレームワーク] の設定を [.NET 6.0] に変更します。

    ターゲットフレームワークの変更

  6. ソリューション エクスプローラーでプロジェクトを右クリックし、[NuGet パッケージの管理] を実行して [NuGet パッケージ マネージャー] を表示します。

  7. [インストール済み] タブを選択して、次のパッケージを対応バージョン以降の最新の安定版に更新します。

    対象パッケージ 対応バージョン
    NextDesign.Desktop 3.1.1.30609 以降
    NextDesign.Core 3.1.1.30609 以降
    NextDesign.Desktop.ExtensionPoints 1.1.1.30519 以降

    パッケージの更新

  8. その他にご利用中のパッケージを .NET 6.0 対応のものに更新します。

  9. プロジェクトをリビルドします。

  10. パッケージの更新などによりビルドに失敗する箇所があれば修正します。

  11. エクステンションの動作を確認します。

ビルドに失敗する場合、.NET 5 および .NET 6 の破壊的変更が影響している可能性があります。以下のページもご参照のうえ、ご対応ください。

なお、上記手順でビルドされたエクステンションは V3.0 で動作しません。V3.1 との組み合わせで動作します。

処理系依存により振る舞いの変わるAPIの確認

処理系の変化(.NETCore3.1⇒.NET6)に伴い、選択しているモデルを取得するAPIの動作が変わります。

取得したモデルの順序を意識したエクステンションの実装になっている場合に影響があります。 本変更について影響がないかご確認頂き、問題がある場合は見直しが必要になります。

影響を受けるAPIは以下です。

名前空間:NextDesign.Core

名前空間:NextDesign.Desktop

.NET6移行時のトラブルシューティング

.NET6移行時、Next Design 開発チームが遭遇した問題と解消方法を参考情報として掲載します。