Skip to content
Makoto Maruyama edited this page Apr 18, 2023 · 18 revisions

ArcGIS Pro 3.1 SDK for .NET

ArcGIS Pro Version: 3.1.0.41833

ArcGIS Pro SDK for Microsoft .NET を使用して ArcGIS Pro を拡張することができます。 ArcGIS Pro SDK には、アドイン、構成管理、プラグイン データソース、および CoreHost アプリケーションという 4 つの主要な拡張パターンが用意されています。タスク非同期プログラミング(TAP)、LINQ、WPF バインディング、MVVM などの最新の .NET 機能およびパターンを活用し、ArcGIS Pro API を使用して 2D および 3D アドインを構築することができます。


トピック

ArcGIS Pro SDK の概要

開発要件

ArcGIS Pro

  • ArcGIS Pro 3.1

サポートするオペレーティング システム

  • Windows 11 (Home, Pro, Enterprise)
  • Windows 10 (Home, Pro, Enterprise) (64 bit)

サポートする .NET

Microsoft .NET Runtime 6.0.5 または それ以上 が必要です。.NET 6.0 のダウンロード

サポートする統合開発環境

  • Visual Studio 2022 (バージョン 17.2 以降)
    • Community Edition
    • Professional Edition
    • Enterprise Edition

Visual Studio の最小バージョンは 17.2 のインストールを推奨します。このバージョンには、Visual Studio 2022 のインストールの一部として、.NET 6.0.5 (.NET SDK 6.0.3) が含まれています。それ以下のバージョンの Visual Studio 2022 をインストールすると、.NET Desktop Runtime 6.0.5 および/または .NET SDK 6.0.3 を別途インストールする必要がある場合があります。詳細については、Microsoft の .NET 6.0 のダウンロード サイトを参照してください。

サードパーティー アセンブリ

Newtonsoft Json

  • ArcGIS Pro 3.1 では、Newtonsoft Json NuGet のバージョン 13.0.1.25517 を使用しています。アドイン で Newtonsoft NuGet が必要な場合は、同じバージョンの Newtonsoft Json を使うことを推奨します。

WebView2

  • アドイン開発者は Microsoft Edge WebView2 をベースにした新しい WebViewBrowser コントロールを使用できます。ArcGIS Pro で使用されている現在の WebView2 の固定バージョン ランタイムについては、Pro の bin\WebView フォルダの WebView2 マニフェストを参照してください。

ArcGIS Pro システム要件

ArcGIS Pro API

ArcGIS Pro API は、ArcGIS Pro のインストールごとにインストールされる マネージド .NET アセンブリ です。.NET メタデータまたは PIA (Primary Interop Assemblies) を含む中間アセンブリは必要ありません。

API を構成する ArcGIS Pro マネージド アセンブリを、Visual Studio アドイン プロジェクトで直接参照として追加します。

パブリックAPI に含まれる ArcGIS Pro アセンブリ の完全なリストを以下に示します。各アセンブリの具体的な詳細については、オンラインの API Reference を参照してください。

Core

Core アセンブリは {ArcGIS Pro インストールフォルダ}\bin にあります。

アセンブリ 説明
ArcGIS.Core.dll Provides CIM, Geodatabase, Geometry Utility Network API を提供します。
ArcGIS.CoreHost.dll スタンドアロンで利用するために ArcGIS.Core.dll を初期化するための Host.Initialize を提供します。
ArcGIS.Desktop.Framework.dll アドイン コントラクト、DAMLサポート、および基本クラスを含めるめのアプリケーションフレームワークを提供します。このアセンブリは、すべてのアドインによって参照される必要があります
ESRI.ArcGIS.ItemIndex.dll カスタム アイテムを作成および操作する機能を提供します。

エクステンション

ArcGIS Pro 内の主要なサブシステムは、エクステンションと呼ばれる単位で構成されています。Extension アセンブリは、{ArcGIS Pro インストールフォルダ}\bin\Extensions フォルダ内の個々のサブフォルダにあります。 Extension サブフォルダは、例えば、Mapping, Editing, Layout などのように、それらが表す機能単位に合わせて論理的に命名されています。

アセンブリ 説明
ArcGIS.Desktop.Catalog.dll プロジェクト コンテンツ アイテム(マップ アイテム、レイアウト アイテム、スタイル アイテム、フォルダー アイテムなど)へのアクセスを提供します。
ArcGIS.Desktop.Core.dll プロジェクトを作成および管理する機能、現在のプロジェクトに関連付けられているイベントへのアクセス、およびジオプロセシングツールを実行する機能を提供します。
ArcGIS.Desktop.DataReviewer.dll プロジェクトのレビュアーの結果、セッション、およびバッチジョブを確立および管理する機能を提供します。
ArcGIS.Desktop.Editing.dll カスタム編集ツールの実装に必要な編集環境とコア編集機能へのアクセスを提供します。
ArcGIS.Desktop.Extensions.dll 他の ArcGIS Pro クラスのエクステンション メソッドを提供します。カスタム マップ ツールの基本クラスを提供します。
ArcGIS.Desktop.Geoprocessing.dll プロジェクトに保存されているジオプロセシングの履歴アイテムへのアクセスを提供します。(注:ジオプロセシングツールを実行するための ArcGIS.Desktop.Core.dll への参照を追加)
ArcGIS.Desktop.Layouts.dll レイアウト上の要素を操作し、さまざまな画像形式にエクスポートするための機能を提供します。
ArcGIS.Desktop.Mapping.dll マップとレイヤーの作成、フィーチャのラベル付け、クエリ操作の実行、およびそれらを2Dまたは3Dで視覚化するための型を提供します。ラスター レイヤーを作成してラスター レンダリングをカスタマイズするためのラスター API と、スタイル、スタイル アイテム、およびシンボルを管理するための API を提供します。
ArcGIS.Desktop.TaskAssistant.dll タスク フレームワークを提供し、開発者がタスク アイテムにアクセス、開く、閉じる、またはエクスポートできるようにします。
ArcGIS.Desktop.Workflow.dll Workflow Manager Classic のジョブとクエリを作成、構成、および実行する機能を提供します。Workflow Manager Classic のデータベースから構成情報を取得する機能を提供します。
ArcGIS.Desktop.Workflow.Client.dll Workflow Manager のジョブ ID と接続情報を取得する機能を提供します。

パブリック API を持たないエクステンション

{ArcGIS Pro インストールフォルダ}\bin\Extensions サブフォルダには、パブリックAPI を持たないExtension アセンブリがあります。これらは現在 Esri 内部でのみ使用されています。

  • ArcGIS.Desktop.Analyst3D.dll
  • ArcGIS.Desktop.Aviation.dll
  • ArcGIS.Desktop.BusinessAnalyst.dll
  • ArcGIS.Desktop.CAD.dll
  • ArcGIS.Desktop.Charts.dll
  • ArcGIS.Desktop.DataEngineering.dll
  • ArcGIS.Desktop.DataSourcesRaster.dll
  • ArcGIS.Desktop.Defense.dll
  • ArcGIS.Desktop.DefenseMapping.dll
  • ArcGIS.Desktop.Editing.PushPull.dll
  • ArcGIS.Desktop.FullMotionVideo.dll
  • ArcGIS.Desktop.GAWizard.dll
  • ArcGIS.Desktop.GeoProcessing.BDC.dll
  • ArcGIS.Desktop.GeoProcessing.SAModels.dll
  • ArcGIS.Desktop.Geostatistics.dll
  • ArcGIS.Desktop.Indoors.dll
  • ArcGIS.Desktop.Intelligence.dll
  • ArcGIS.Desktop.Intelligence.Common.dll
  • ArcGIS.Desktop.KnowledgeGraph.dll
  • ArcGIS.Desktop.LocationReferencing.dll
  • ArcGIS.Desktop.Maritime.dll
  • ArcGIS.Desktop.Metadata.dll
  • ArcGIS.Desktop.MotionImagery.dll
  • ArcGIS.Desktop.NetworkAnalysis.Facility.dll
  • ArcGIS.Desktop.NetworkAnalysis.NetworkDiagrams.dll
  • ArcGIS.Desktop.NetworkAnalysis.Transportation.dll
  • ArcGIS.Desktop.Search.dll
  • ArcGIS.Desktop.Sharing.dll
  • ArcGIS.Desktop.TerritoryDesign.dll

注: パブリックAPI アセンブリに含まれる静的文字列リソース プロパティおよびイメージ リソースは、Esri 内部での使用のみを目的としています。サードパーティのアドインでの使用は意図していません。

ArcGIS Pro Extensions NuGet

ArcGIS Pro Extensions NuGet には、アドイン や 構成 のコンパイルに必要なすべての Pro API アセンブリが含まれており、従来のファイル ベースの参照に代わり、アドイン や 構成 で ArcGIS Pro アセンブリを参照する方法を提供します。

ArcGIS Pro Extensions の NuGet を使用するには、Visual Studio の NuGet パッケージ管理形式の設定を PackageReference にします。

ProGuide: ArcGIS Pro Extensions NuGet

3.1 での開発者向けの新機能

1. API の機能拡張:

3.1 では、以下のような API の機能拡張を利用することができます:

Geodatabase:

  • リレート、ドメイン、サブタイプの DDL を強化しました。

Editing:

  • 属性編集ウィンドウをカスタマイズするための新しい拡張 API を追加しました。

Framework:

  • 構成内で使用する新しいスタート ページ コントロール。

Map Authoring:

  • レイアウト ツールとトレイ ボタンのパターンを改善しました。
  • レイヤーの時間サポートと新しい日時ピッカー コントロール。
  • 複数の異なるデータ型への参照を保存するためのカタログ レイヤーの作成。

Layout:

  • レイアウトのマップ フレームの起動 API

API の機能強化の完全なリストは、API リファレンス の [API Changes セクション] で確認できます。

2. SDK リソース

Pro のコンセプト、ガイド、スニペット、サンプルが多数用意されており、SDK の新機能を使いこなすのに役立ちます。SDK リソースの更新内容は以下の通りですが、これらに限定されるものではありません。

ArcGIS Pro SDK for .NET のインストール

ArcGIS Pro SDK for .NET は Visual Studio からダウンロードし、インストールすることができます。インストールできるエクステンションは 2 つに分かれます。

  • ArcGIS Pro SDK for .NET
  • ArcGIS Pro SDK for .NET (Utilities)

** 注: ** 2.x から ArcGIS Pro 3.1 SDK (または 3.0 SDK) への移行は、アップグレードではありません。インストールするには、

  1. ArcGIS Pro 3.1 SDK をインストールする場合、2.x を使用していて 3.0 を使用していない場合は、2.x からの移行 を参照してください。
  2. 2.x のアドインを 3.1 に移行する場合、移行ツールをインストールすることで、変換処理を自動化することができます。詳細は移行ガイド ProConcepts: 3.0 移行ガイド を参照してください。

詳しいインストール方法は、ProGuide: インストール を参照してください。

リリースノート

ArcGIS Pro SDK for .NET コンポーネント

次の表は、ダウンロードする SDK の各 .vsix ファイルの機能をまとめたものです:

名称 ファイル 機能
ArcGIS Pro SDK for .NET proapp-sdk-templates.vsix ArcGIS Pro アドインを作成するための、プロジェクトとアイテム テンプレートのコレクション
ArcGIS Pro SDK for .NET (Utilities) proapp-sdk-utilities.vsix ArcGIS Pro アドインの作成に役立つユーティリティのコレクション
ArcGIS Pro SDK for .NET (Migration) proapp-sdk-migration.vsix ArcGIS Pro SDK 2.x のエクステンションを ArcGIS Pro SDK 3.x for .NET に移行

ArcGIS Pro SDK for .NET テンプレート

パッケージ: proapp-sdk-templates.vsix

ArcGIS Pro SDK for .NET は次のプロジェクトとアイテム テンプレートを提供しています:

C# VB 名称
ArcGIS Pro モジュール アドイン プロジェクト テンプレート
ArcGIS Pro 構成管理 プロジェクト テンプレート
N/A ArcGIS Pro Plugin プロジェクト テンプレート
N/A ArcGIS Pro CoreHost アプリケーション プロジェクト テンプレート
ArcGIS Pro バックステージ タブ
ArcGIS Pro ボタン
ArcGIS Pro ボタン パレット
ArcGIS Pro コンボ ボックス
ArcGIS Pro 作図ツール
ArcGIS Pro カスタム コントロール
N/A ArcGIS Pro カスタム アイテム
N/A ArcGIS Pro カスタム プロジェクト アイテム
ArcGIS Pro ドッキング ウィンドウ
ArcGIS Pro ドッキング ウィンドウ (ハンバーガー ボタン付き)
ArcGIS Pro ドロップ ハンドラー
ArcGIS Pro 埋め込み可能なコントロール
ArcGIS Pro ギャラリー
ArcGIS Pro インラインギャラリー
N/A ArcGIS Pro レイアウト ツール
N/A ArcGIS Pro Layout Tray Button
ArcGIS Pro マップ ウィンドウの偽装
ArcGIS Pro マップ ツール
N/A ArcGIS Pro Map Tray Button
ArcGIS Pro メニュー
ArcGIS Pro ウィンドウ
ArcGIS Pro プロパティシート
ArcGIS Pro ProWindow
ArcGIS Pro 分割ボタン
N/A ArcGIS Pro Table Construction Tool

一般的に、フレームワークの UI 要素の拡張ポイント(ボタン, ツール, メニュー, ドッキング ウィンドウなど)とアイテム テンプレートの間には 1 対 1 の対応関係があります。 対応する拡張ポイントをアドインに追加するには、関連するアイテム テンプレート を使用します。

ArcGIS Pro SDK for .NET ユーティリティ

パッケージ: proapp-sdk-utilities.vsix

ArcGIS Pro SDK for .NET (Utilities) は、Visual Studio 環境を拡張する次のようなユーティリティ(日本語UI: ArcGIS Pro の参照先を修正、ArcGIS Pro の DAML Id を生成)を提供します。

pro-fix-references

名称 説明
Pro Fix References utility ArcGIS Pro アドイン、コア ホスト、構成管理、またはプラグイン プロジェクトの壊れた参照を修正します。壊れた参照は、アドイン を他の同僚と共有したり、ArcGIS Pro アセンブリ参照がインストールした場所とは異なる場所を指しているアドインをダウンロードした場合に発生することがあります。Pro Fix References は、ソリューション内の個々のプロジェクトまたはすべてのプロジェクトで実行できます。
Pro Generate DAML Ids utility ArcGIS Pro Desktop Application Markup Language(DAML)のすべての文字列 ID を、DAML 要素タイプ(Button、Dockpane、Tool、Condition など)によって整理された静的な文字列プロパティに変換します。これにより、DAML 文字列 ID を手動で入力するのではなく、ソース コード ファイル内の Visual Studio の IntelliSense 機能を使用して ID を追加することができます。

ArcGIS Pro SDK for .NET 移行

パッケージ: proapp-sdk-migration.vsix

pro-migration

ArcGIS Pro SDK for .NET (Migration) は、ArcGIS Pro SDK 2.x エクステンションを ArcGIS Pro SDK 3.x for .NET に移行するためのサポートを提供します。注: アドインを移行すると、config.daml の dekstopVersion 属性が、現在インストールされている ArcGIS Pro のバージョンに設定されます。

過去バージョン

開発リソース

上記の Pro SDK アイコンは、すべて ArcGIS.Desktop.Resources.dll の XAML リソースとして利用できます。アドインの Config.daml で、ArcGIS.Desktop.Resources.dll から Pro SDK アイコンを直接参照し、Pro リボンのコントロールのイメージとして使用することができます。以下のコード スニペットは、アドインの config.daml で使用される構文です。注:「BexDog32」は、上記の Pro SDK アイコン画像に記載されている画像名のいずれかと置き換えることができます。

<button...smallImage="BexDog16" largeImage="BexDog32"/>

また、WPF のコードビハインドで ImageSource としてこれらのリソースにアクセスすることができます。以下のコードでは、BexDog32 Pro SDK のアイコンが、ビューモデルのImageSource プロパティの戻り値の ImageSource としてアクセスされていることが示されています。注:「BexDog32」は、上記のアイコン画像に記載されている画像名のいずれかに置き換えることができます。

  public ImageSource SomeCustomProperty {
    get {
       return Application.Current.Resources["BexDog32"] as ImageSource;
    ...

Developing with ArcGIS Pro

    Migration


Framework

    Add-ins

    Configurations

    Copilot

    Customization

    Styling


Arcade


Content


CoreHost


DataReviewer


Editing

    COGO


Geodatabase

    3D Analyst Data

    Plugin Datasources

    Topology

    Linear Referencing

    Object Model Diagram


Geometry

    Relational Operations


Geoprocessing


Knowledge Graph


Layout

    Reports

    Presentations


Map Authoring

    3D Analyst

    CIM

    Graphics

    Scene

    Stream

    Voxel


Map Exploration

    Map Tools


Networks

    Telecom Domain Network

    Network Diagrams


Parcel Fabric


Raster


Sharing


Tasks


Workflow Manager


Reference

Clone this wiki locally