ProGuide Build your first add in - kataya/arcgis-pro-sdk GitHub Wiki

このガイドでは ArcGIS Pro アドイン のビルド方法を説明します。

Language:      C#
Subject:       Framework
Contributor:   ArcGIS Pro SDK Team <[email protected]>
Organization:  Esri, http://www.esri.com
Date:          11/24/2020
ArcGIS Pro:    2.7
Visual Studio: 2017, 2019

前提条件: 初めてアドインをビルドする前に、ArcGIS Pro と対応するバージョンの ArcGIS Pro SDK を開発用マシンにインストールする必要があります。ArcGIS Pro SDK のインストール方法の詳細については、Install ArcGIS Pro SDK for .NET のインストール手順に従ってください。

注: Visual Studio 2019 では新規プロジェクトを作成する手順が変更されました。 このガイドでは、Visual Studio 2017 を使用して新規プロジェクトを作成する手順を説明します。 Visual Studio 2019 を使用して新規プロジェクトを作成するには、こちらのリンク(Create new project using Visual Studio 2019)を参照してください。

Step 1

Visual Studio を起動して、新規プロジェクトを選択します。

New Project

Step 2

新規プロジェクトのダイアログで、 Templates\Visual C#\ArcGIS もしくは Templates\Visual Basic\ArcGIS フォルダを展開します。ArcGIS Pro Add-ins フォルダを選択します (ArcObjects 10.x SDK for .NET がインストールされている場合は、他のフォルダがあるかもしれません)。

Step 3

ArcGIS Pro モジュール アドイン Visual Studio プロジェクト アイテム テンプレートが表示されます。これを選択し、名前に ProAppModule と入力します。場所を変更するか、デフォルトのままにします。[OK] をクリックします。

pro-app-module2

Step 4

Visual Studioで、新しいVisual C# またはVisual Basic プロジェクトを作成します。このドキュメントでは、Visual C# を想定していますが、手順は Visual Basic の場合もほぼ同じです。新しいプロジェクトでは以下の内容が含まれていることに気づくでしょう。

project-content2

(デフォルトでは) Config.daml ファイルがVisual Studio 内で開きます。Module1.cs ファイルにはアドイン モジュールのコードが含まれています。コードは以下のようになっています。

internal class Module1 : Module {

    private static Module1 _this = null;

    /// <summary>
    /// Retrieve the singleton instance to this module here
    /// </summary>

    public static Module1 Current {
      get 
	  {
        return _this ?? (_this = (Module1)FrameworkApplication.FindModule("ProAppModule_Module"));
      }
    }
  }

モジュールには、シングルトンであるモジュール インスタンスへのプライベート参照が含まれていることに注意してください。"ProAppModule_Module" の文字列はモジュール ID です。Framework はこの ID を使用して、DAML ファイル内のモジュールを参照し、FrameworkApplication モジュールの FindModule メソッドで関連するモジュールのインスタンスを見つけます。デフォルトでは、モジュールクラスは Module1 と呼ばれています。デフォルトの名前空間は、新規プロジェクトのダイアログボックスで入力した名前で、この場合は ProAppModule です。

Config.daml ファイルでは、insertModule タグの id 属性が Module1.cs ファイル内の ID と一致し、className 属性がモジュールのクラス名と一致していることにも注意してください。

<modules>
    <insertModule id="ProAppModule_Module" className="Module1" autoLoad="false" caption="Module1">

Step 5

プロジェクトをコンパイルしてビルドします。出力ウィンドウにエラーが表示される場合は、ArcGIS Pro アプリケーションと ArcGIS Pro SDK for .NET が正しくインストールされていることを確認してください。(プロジェクト テンプレートから)生成されたファイルの構文を変更していない限り、コンパイル エラーは発生しないはずです。

Step 6

エクスプローラーを開きます。C:\Users\<ユーザー名>\Documents\ArcGISAddInsArcGISPro フォルダに移動します。新しくコンパイルしたアドイン フォルダが表示されているはずです。フォルダ名は、アドインのID (GUID) に対応しています。

<AddInInfo id="{8e95b131-d203-4775-9617-07481fbdfa32}" ...

フォルダをダブルクリックします。フォルダ内にアドイン ファイルが表示されます。

guid-folder2

Step 7

Visual Studio 内のプロジェクト タイトルを右クリックし、プロジェクト コンテキスト メニューから[Add] → [New Item] (日本語UI:[追加] → [新しい項目])を選択します。

new-item2

Visual Studio の新しい項目の追加 ダイアログ ボックスで、使用可能な ArcGIS Pro SDK アイテム テンプレートから ArcGIS Pro ボタン を選択します。デフォルトの名前 Button1.cs のままにして、[Add](日本語UI:[追加]) をクリックします。

item-template2

Step 8

Visual Studio 内でプロジェクトに追加された Button1.cs という新しいファイルが表示されているはずです。そのファイルをダブルクリックし、次のコードを OnClick メソッドに入力してください。

 internal class Button1 : Button {

    protected override void OnClick() 
    {
      string uri = ArcGIS.Desktop.Core.Project.Current.URI;
      ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show($"Project uri {uri}");
    }
 }

Step 9

アドインをビルドし、コンパイルします。

Step 10

OnClick メソッドの余白にブレークポイントを設定し、Visual Studio デバッガでアドインを実行します。

debug2

Step 11

ArcGIS Pro が起動します。ArcGIS Pro の初期化が完了するまで待ちます。任意のテンプレートを使用して新しい空のプロジェクトを作成するか、既存のプロジェクトの 1 つを開きます。 new-pro-project2

Step 12

アドイン タブをクリックして、Button 1 のアドイン ボタンをクリックします。

add-in-tab2

Step 13

Visual Studio でブレークポイントがヒットします。[F5] を押すか、[続行] ボタンをクリックして実行を続けます。以下のメッセージ・ボックスが表示されます。

code-break-point2 msg-box2

[OK]をクリックし、その後、デバッグを停止します。

⚠️ **GitHub.com Fallback** ⚠️