ProGuide ArcGIS Pro Extensions NuGet - EsriJapan/arcgis-pro-sdk GitHub Wiki

Language:      C#
Subject:       Framework
Contributor:   ArcGIS Pro SDK Team <[email protected]>
Organization:  Esri, http://www.esri.com
Date:          04/25/2025
ArcGIS Pro:    3.5
Visual Studio: 2022

ArcGIS Pro Extensions30 NuGet

ArcGIS Pro Extensions30 NuGet (Esri.ArcGISPro.Extensions30) は NuGet ギャラリーで利用できます。Pro NuGet には、アドインと構成管理をコンパイルするために必要なすべての Pro API アセンブリが含まれています。ファイルベースの参照の使用は、変更なしでアドインで機能し、新しいアドインを作成するときの Pro SDK テンプレートのデフォルトの動作としてファイルベースの参照を引き続き使用します。

ノート: ArcGIS Pro 3.0 では、新たに Esri.ArcGISPro.Extensions30 という ArcGIS Pro エクステンションの NuGet が追加されました。Pro Migration ツール を使用してアドインまたは構成を 2.x から 3.0 に移行する場合、プロジェクトに 2.x の NuGet が含まれていると、その NuGet 参照が自動的に Esri.ArcGISPro.Extensions30 に更新されます。

追加の注意事項: ArcGIS Pro 3.3 または 3.4 と ArcGIS Pro Extensions NuGet を組み合わせて使用している場合、ArcGIS Pro 3.3.3 または 3.4.1 パッチをインストールすると、コンパイル時にアドインまたは構成管理がデフォルトの既知のフォルダーに登録されなくなる可能性があります。これにより、アドインや構成管理のデバッグが不可能になります。この問題を解決するには、ArcGIS Pro のリリースに応じて、Esri.ArcGISPro.Extensions30 NuGet を Esri.ArcGISPro.Extensions30 3.3.3 または 3.4.1 にアップグレードしてください。

トピック

イントロダクション

ArcGIS Pro Extensions30 NuGet には、ArcGIS Pro バージョン 3.0 以降でアドインと構成管理をコンパイルするために必要な ArcGIS Pro エクステンション アセンブリが含まれています。NuGet はアドインと構成で ArcGIS Pro アセンブリを参照する従来のファイルベースの参照とは別の方法を提供します。NuGet を使用するには、既存の Pro API アセンブリ参照を削除し、それらをPro NuGet への参照に置き換えるだけです(以下のインストール手順を参照)。このガイドでは、Nuget を使用して既存のファイルベースの参照を切り替えるプロセス、NuGet を使用するための最小要件、および NuGet を使用することのいくつかの利点について説明します。

要件

ArcGIS Pro Extensions30 NuGet は、Visual Studio の PackageReference NuGet パッケージ管理形式の設定である場合のみ動作するようになります。

NuGet の ArcGIS Pro アセンブリをアドインまたは構成管理プロジェクトの参照として正しく含めるには、Visual Studio の NuGet パッケージ管理形式を PackageReference にする必要があります(デフォルトは Packages.config です)。 Visual Studio 内で "ツール->NuGet パッケージ マネージャー>パッケージ マネージャー設定"を選択し、既定のパッケージ管理形式を PackageReference に変更します。

PackageReference

これは、以下のインストール手順のステップ4でも説明されています。デフォルトのパッケージ管理形式として PackageReference を使用すると、個々のアセンブリに Copy Local=False が直接設定されている場合と同じ、NuGet アセンブリのセマンティクスが模倣されます。NuGet アセンブリのコピーをローカル アドインの Visual Studio プロジェクトと Pro アセンブリ キャッシュにコピーすることは望ましくありません。つまり、パッケージ管理形式が Packages.config に設定されている場合のデフォルトの NuGet 動作である Copy Local=True セマンティクスです。Pro API アセンブリ リファレンスと Copy Local の詳細については ArcGIS Pro Assembly references in your project を参照してください。

インストール手順

以下に、アドインまたは構成管理プロジェクトで ArcGIS Pro Extensions30 NuGet をインストールするための詳細な手順を示します。

  1. Visual Studio で、アドインまたは構成管理プロジェクトを開いた状態で、[依存関係] > [アセンブリ] ノードを展開します
  1. すべての ArcGIS.* アセンブリ参照を選択し、右クリックしてコンテキストメニューから [削除] を選択します。また、ESRI.ArcGIS.ItemIndex アセンブリ参照を選択して右クリックし、[削除] を選択します。これにより、ArcGIS Pro ファイルベースのすべての参照がプロジェクトから削除されます。これらの参照を ArcGIS Pro Extensions30 NuGet に置き換えます。(以下の手順)
  1. Visual Studio の [ツール] メニューから、[NuGet パッケージ マネージャー] > [パッケージ マネージャー設定] メニューを選択します。
  1. [オプション] ダイアログの [NuGet パッケージ マネージャー]で、[既定のパッケージ管理形式] のドロップダウンから [PackageReference] を選択します。 [OK] をクリックして、[オプション] ダイアログを閉じます。 PackageReferences.png
  1. プロジェクトノードを右クリックし、コンテキストメニューから [NuGet パッケージの管理..] を選択します。
  1. [NuGet パッケージ マネージャー] ダイアログで、右上隅のパッケージソースが「nuget.org」に設定されていることを確認します。
  1. [参照] タブを選択します。
  1. [検索] テキストボックスに「ArcGIS Pro Extensions30」と入力します。 SearchNuGetGallery.png
  1. Esri.ArcGISPro.Extensions30 NuGet パッケージを選択します。
  1. バージョン ドロップダウンに「最新の安定板 xxxx」バージョンが表示されていることを確認します。 [インストール] ボタンをクリックします。 LatestStable.png
  1. ライセンスへの同意を表示し、ArcGIS Pro Extensions30 のダウンロードとインストールを完了する場合は、[同意する] をクリックします。
  1. NuGet パッケージ マネージャー ダイアログを閉じます。
  1. Visual Studio のソリューション エクスプローラーで、[依存関係] > [パッケージ] ノードを展開します。Esri.ArcGISPro.Extensions が NuGet参照 としてリストされていることに注意してください。

  1. アドインまたは構成管理プロジェクトをコンパイルします。コンパイルでは、ArcGIS Pro Extensions30 NuGet が使用されます。 注: NuGet を追加した後、パッケージ参照が表示されない場合は、代わりに packages.config がプロジェクトに追加され、ArcGIS Pro API アセンブリのコピーが表示されます。NuGet パッケージ マネージャーのデフォルトのパッケージ形式(手順4および上記の要件セクションを参照)を確認してください。 デフォルトのパッケージ形式が PackageReference に設定されていることを確認してください。

ビルドサーバーでのアドインの署名

ビルドサーバーでのコンパイル プロセス中にアドインまたは構成管理に署名する場合は、ArcGISSignAddIn.exe も必要になります。この実行可能ファイルは、標準の ArcGIS Pro インストールの一部であり、NuGet には含まれていません。ビルドサーバー構成でアドインに署名するには、ArcGISSignAddIn.exe, ArcGISSignAddIn.dll, ArcGISSignAddIn.runtimeconfig.json, DADFLib.dll をビルドサーバーの bin フォルダにコピーします(フォルダーの場所は関係ありません。これらが一緒にコピーされていることを確認してください)。注:完全修飾パスで ArcGISSignAddIn.exe を参照したくない場合は、コピーするフォルダーとその依存関係がサーバーの Path 環境変数に追加されていることを確認してください。 または、ArcGIS Pro SDK リソースのダウンロードページ からArcGISSignAddIn.zip ファイルをダウンロードすることもできます。この zip ファイルには、ビルドサーバーでアドイン/構成管理に署名するために必要なファイルが含まれています。選択したフォルダの場所で解凍し、(オプションで)その場所をサーバーの Path 環境変数に追加します。

ArcGIS Pro Extensions30 NuGet の使用

ArcGIS Pro Extensions30 NuGet は、ArcGIS Pro のアドインと構成管理のみでの使用を目的としています。NuGet には Pro パブリック エクステンション API が含まれているため、Pro エクステンションではなく ArcGIS.Core のジオデータベースおよびジオメトリー API を使用するコアホスト アプリケーションおよび Pro プラグインで参照しないでください。

技術的には、コアホスト アプリケーションまたは Pro プラグインが NuGet を使用する場合でも、コンパイルされます。ただし、コード内でエクステンション API(NuGet に含まれている)のいずれかを参照している場合、実行時にクラッシュします。

ArcGIS Pro Extensions NuGet の利点

ファイルベースの参照ではなく NuGet パッケージ参照を使用することには、いくつかの利点があります。

  • 共有コード:NuGet パッケージ参照メカニズムは、各ユーザーのグローバル NuGet キャッシュを介して参照の解決を自動的に処理します。これにより、Pro のインストール場所が異なる可能性のある複数の開発者間でコードを共有できます(たとえば、D: ドライブと C: ドライブなど)。ファイルベースの参照では、プロジェクトを共有するときにファイル参照を修正して、さまざまな Pro API アセンブリパスに対応する必要があります。
  • ビルドサーバーおよび継続的なビルドシナリオ:ArcGIS Pro Extensions30 NuGetはファイルベースのProアセンブリ参照を置き換えるため、アドインと構成をビルドするためにArcGIS Proをインストールする必要はありません(NuGetでは参照は自己完結型であるため ArcGIS\bin\Extensionsフォルダーに物理的に配置する必要はありません)。
    • これは_ビルド_専用です。アドインを_登録_するには、常に RegisterAddin.exe と Pro のインストールが必要です。
    • ArcGIS Pro をインストールせずにアドインまたは構成管理プロジェクトをビルドすると、ArcGIS.Desktop.Framework.xsdスキーマが見つからないという警告が表示されます。これは、アドインおよび構成管理プロジェクトに含まれる Config.daml ファイルに使用されるスキーマです。これはコンパイルプロセスに影響を与えるものではありません。
  • 異なるバージョンの ArcGIS Pro に対して簡単にアドインを構築する:時間の経過とともに複数のバージョンの ArcGIS Pro Extensions30 NuGe tを利用すると仮定すると、Visual Studio の NuGet パッケージ マネージャーを使用すると、異なるバージョンの NuGet を簡単に切り替えることができます。 [ソリューションの NuGet パッケージ管理...]タブで、ArcGIS Pro Extensions30 NuGet を選択し、[バージョン:] を使用して使用可能なバージョンを切り替えます。
⚠️ **GitHub.com Fallback** ⚠️