ProGuide NET 8 Upgrade - EsriJapan/arcgis-pro-sdk GitHub Wiki
Language: C#
Subject: Framework
Contributor: ArcGIS Pro SDK Team <[email protected]>
Organization: Esri, http://www.esri.com
Date: 10/06/2024
ArcGIS Pro: 3.4
Visual Studio: 2022
リリース 3.3 で、ArcGIS Pro は Microsoftの.NETの最新バージョン(旧称「.NET Core」)である .NET 8 に移行し、Long Term Support(LTS)が提供されました。
- これは 変更ではありません。
- Pro API には、再コンパイルが必要な変更はありません。
- ArcGIS Pro 3.0 ~ 3.2 にデプロイされたアドインは、3.3 およびそれ以降の 3.x リリースでも再コンパイルなしで実行できます。
ArcGIS Pro SDK .NET 開発を 3.3+ で進める場合、3.0 から 3.2 でビルドされたアドインを Pro 3.3+ に対して再コンパイルするには、次の移行手順を参照してください。これは、「アドイン」のみが特に言及されていますが、一般的にすべての .NET 6 Pro SDK 3.0 ~ 3.2 開発プロジェクトに適用されます。
Pro 3.3+ がインストールされていると仮定すると...
- Visual Studio 2022 をバージョン 17.8 以降にアップグレードします (ArcGIS Pro SDK の要件を参照してください。)。Visual Studio の更新プロセスの一環として、.NET 8 がインストールされていることを確認する。
- 既存の Visual Studio 2022 プロジェクトのターゲット フレームワークを .NET 8 に変更します。
- Config.daml ファイルを開き、AddInInfo タグの desktopVersion 属性を 3.3 に変更する。
- プロジェクトで Pro SDK「Esri.ArcGISPro.Extensions」NuGet パッケージを使用している場合は、バージョン 3.3 以降にアップグレードします。
NU1202 Package Esri.ArcGISPro.Extensions30 3.3.0.52579 is not compatible with net6.0-windows7.0
というエラーが表示される場合は、最初にターゲット フレームワークを .NET 8 に変更し忘れていることを意味します。 - Microsoft.Windows.Compatibility Nuget を使用している場合は、バージョン8.0.3 以上に更新してください。
- プロジェクトが他の NuGet パッケージを使用している場合、それらが .NET 8 と互換性があることを確認して、必要に応じて更新してください。
- 必要に応じて、アドインで "Fix Pro References" Pro SDKツールを実行します。
- リコンパイルします。
注意: 以下のようなエラーが表示された場合:
Error CS1705
Assembly 'ArcGIS.Desktop.Framework' with identity 'ArcGIS.Desktop.Framework, Version=13.3.0.0, Culture=neutral,
PublicKeyToken=8fc3cc631e44ad86' uses 'System.Runtime, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced assembly 'System.Runtime'
with identity 'System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
"YourProjectName here" ...
プロジェクトのターゲット フレームワークを .NET 6 から .NET 8 に変更し忘れています。また、特に CoreHost コンソール .exe を再コンパイルしている場合、次のようなエラーが表示されることがあります:
Error NETSDK1083
The specified RuntimeIdentifier `win10-x64` is not recognized. See https://aka.ms/netsdk1083 for more information.
.csproj を開き、以下の行が正しい内容になっていることを確認してください。必要に応じて変更してください:
<TargetFramework>net8.0-windows</TargetFramework>
<!--RuntimeIdentifier>win10-x64</RuntimeIdentifier --><!-- old - note win"10"-x64 -->
<RuntimeIdentifier>win-x64</RuntimeIdentifier><!-- new - "win10-x64" was changed to "win-x64" -->
詳細は NETSDK1083: 指定された RuntimeIdentifier は認識されませんを参照してください。
バージョン2.x と .NET Framework を使用して作成されたアドインをお持ちの場合、最初に、ProConcepts 3.0 Migration Guide の手順に従って、プロジェクトをPro 3.xと.NET 6 に変換する必要があります。2.x から 3.x への移行は破壊的な変更です。アドインを 3.x アドインに変換した後、必要に応じて上記の手順に従って、Pro 3.3+ と .NET 8 で再コンパイルしてください。
- Visual Studio 2022 を最低でも 17.8 にアップグレードし、.NET 8 が含まれていることを確認してください (ArcGIS Pro SDK の要件を参照してください。)。
- Pro および Pro SDK のバージョンを 3.3+ にアップグレードしてください。
- 適切な Pro SDK プロジェクト テンプレートを使用して、Visual Studio 2022 で新しい ArcGIS Pro SDK プロジェクトを作成します。