Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Esri/arcgis-pro-sdk

ArcGIS Pro SDK for Microsoft .NET is the new .NET SDK for the ArcGIS Pro Application.
https://github.com/Esri/arcgis-pro-sdk

arcgis dotnet native-development sdk

Last synced: 3 days ago
JSON representation

ArcGIS Pro SDK for Microsoft .NET is the new .NET SDK for the ArcGIS Pro Application.

Awesome Lists containing this project

README

        

## ArcGIS Pro 3.3 SDK for .NET

```
ArcGIS Pro Version: 3.3.0.52636
```

Extend ArcGIS Pro with the ArcGIS Pro SDK for Microsoft .NET. The ArcGIS Pro SDK provides four main extensibility patterns: add-ins, managed configurations, plugin datasources and CoreHost applications. You can leverage modern .NET features and patterns such as Task Asynchronous Programming (TAP), LINQ, WPF Binding, and MVVM to build integrated 2D and 3D add-ins with the ArcGIS Pro APIs.

View it live

### Table of Contents

#### Developing with ArcGIS Pro

* [Overview of the ArcGIS Pro SDK](#overview-of-the-arcgis-pro-sdk)
* [What's New for Developers at 3.2](#whats-new-for-developers-at-32)
* [Installing ArcGIS Pro SDK for .NET](#installing-arcgis-pro-sdk-for-net)
* [Release notes](#release-notes)
* [Resources](#resources)
* [Pro SDK Videos](https://community.esri.com/t5/arcgis-pro-sdk-videos/bd-p/arcgis-pro-sdk-videos)
* [ProSnippets](../../wiki/ProSnippets)
* [ArcGIS Pro API](#arcgis-pro-api)
* [ProGuide: ArcGIS Pro Extensions NuGet](../../wiki/ProGuide-ArcGIS-Pro-Extensions-NuGet)

    **Migration**

* [ProConcepts: 3.0 Migration Guide](../../wiki/ProConcepts-3.0-Migration-Guide)
* [ProGuide: .NET 8 Upgrade](../../wiki/ProGuide-NET-8-Upgrade)

#### Framework

* [ProSnippets: Framework](../../wiki/ProSnippets-Framework)
* [ProSnippets: DAML](../../wiki/ProSnippets-DAML)
* [ProConcepts: Framework](../../wiki/ProConcepts-Framework)
* [ProConcepts: Asynchronous Programming in ArcGIS Pro](../../wiki/ProConcepts-Asynchronous-Programming-in-ArcGIS-Pro)
* [ProConcepts: Advanced topics](../../wiki/ProConcepts-Advanced-Topics)
* [ProGuide: Custom settings](../../wiki/ProGuide-Custom-settings)
* [ProGuide: Command line switches for ArcGISPro.exe](../../wiki/ProGuide-Command-line-switches-for-ArcGISPro.exe)
* [ProGuide: Reusing ArcGIS Pro Commands](../../wiki/ProGuide-Reusing-Pro-Commands)
* [ProGuide: Licensing](../../wiki/ProGuide-License-Your-Add-in)
* [ProGuide: Digital signatures](../../wiki/ProGuide-Digitally-signed-add-ins-and-configurations)
* [ProGuide: Command Search](../../wiki/ProGuide-Command-Search)
* [ProGuide: Keyboard shortcuts](../../wiki/ProGuide-Keyboard-shortcuts)

    **Add-ins**

* [Pro Guide: Installation](../../wiki/ProGuide-Installation-and-Upgrade)
* [Pro Guide: Your first add-in](../../wiki/ProGuide-Build-Your-First-Add-in)
* [ProGuide ArcGIS AllSource Project Template: Your first add-in](../../wiki/ProGuide-ArcGIS-AllSource-Project-Template)
* [ProConcept: Localization](../../wiki/ProConcept-Localization)
* [ProGuide: Content and image resources](../../wiki/ProGuide-content-and-image-resources)
* [ProGuide: Embedding Toolboxes](../../wiki/ProGuide-content-and-image-resources#embedding-toolboxes)
* [ProGuide: Diagnosing ArcGIS Pro Add-ins](../../wiki/ProGuide-Diagnosing-ArcGIS-Pro-Add-ins)
* [ProGuide: Regression Testing](../../wiki/ProGuide-Regression-Testing)

    **Configurations**

* [ProConcepts: Configurations](../../wiki/ProConcepts-Configurations)
* [ProGuide: Configurations](../../wiki/ProGuide-Configurations)

    **Customization**

* [ProGuide: Ribbon, tabs, and groups](../../wiki/ProGuide-Ribbon-Tabs-and-Groups)
* [ProGuide: Buttons](../../wiki/ProGuide-Buttons)
* [ProGuide: Label controls](../../wiki/ProGuide-Label-Controls)
* [ProGuide: Check boxes](../../wiki/ProGuide-Checkboxes)
* [ProGuide: Edit boxes](../../wiki/ProGuide-Edit-Boxes)
* [ProGuide: Combo boxes](../../wiki/ProGuide-Combo-boxes)
* [ProGuide: Context Menus](../../wiki/ProGuide-Context-Menus)
* [ProGuide: Palettes and Split buttons](../../wiki/ProGuide-Palettes-and-Split-Buttons)
* [ProGuide: Galleries](../../wiki/ProGuide-Galleries)
* [ProGuide: Dockpanes](../../wiki/ProGuide-Dockpanes)
* [ProGuide: Code your own states and conditions](../../wiki/ProGuide-Code-Your-Own-States-and-Conditions)

    **Styling**

* [ProGuide: Style Guide](../../wiki/proguide-style-guide)
* [ProGuide: Applying custom styles](../../wiki/ProGuide-Applying-Custom-Styles)
* [Esri Brushes](http://ArcGIS.github.io/arcgis-pro-sdk/content/brushescolors/brushes.html)
* [Esri Colors](http://ArcGIS.github.io/arcgis-pro-sdk/content/brushescolors/colors.html)

-------------------------

### Arcade

* [ProSnippets: Arcade](../../wiki/ProSnippets-Arcade)
* [ProConcepts: Arcade](../../wiki/ProConcepts-Arcade)

-------------------------

### Content

* [ProSnippets: Content](../../wiki/ProSnippets-content)
* [ProSnippets: Browse Filters](../../wiki/ProSnippets-OpenItemDialogBrowseFilter)
* [ProConcepts: Project Content and Items](../../wiki/ProConcepts-Content-and-Items)
* [ProConcepts: Custom Items](../../wiki/ProConcepts-Custom-Items)
* [ProGuide: Custom Items](../../wiki/ProGuide-Custom-Items)
* [ProGuide: Custom Browse Dialog Filters](../../wiki/ProGuide-Custom-Browse-Dialog-Filters)
* [ArcGIS Pro TypeID Reference](../../wiki/ArcGIS-Pro-TypeID-Reference)

--------------------------

### CoreHost

* [ProSnippets: CoreHost](../../wiki/ProSnippets-CoreHost)
* [ProConcepts: CoreHost](../../wiki/proconcepts-CoreHost)

--------------------------

### DataReviewer

* [ProConcepts: DataReviewer](../../wiki/proconcepts-DataReviewer)

--------------------------

### Editing

* [ProSnippets: Editing](../../wiki/ProSnippets-Editing)
* [ProConcepts: Editing](../../wiki/ProConcepts-Editing)
* [ProConcepts: COGO](../../wiki/ProConcepts-cogo)
* [ProConcepts: Annotation Editing](../../wiki/ProConcepts-Editing-Annotation)
* [ProConcepts: Dimension Editing](../../wiki/ProConcepts-Editing-Dimensions)
* [ProGuide: Editing Tool](../../wiki/ProGuide-Editing-Tool)
* [ProGuide: Construction Tools with Options](../../wiki/ProGuide-Construction-Tools-with-Options)
* [ProGuide: Annotation Construction Tools](../../wiki/ProGuide-Annotation-Construction-Tools)
* [ProGuide: Annotation Editing Tools](../../wiki/ProGuide-Annotation-Editing-Tools)
* [ProGuide: Templates](../../wiki/ProGuide-Templates)

--------------------------

### Geodatabase

* [ProSnippets: Geodatabase](../../wiki/ProSnippets-Geodatabase)
* [ProConcepts: Geodatabase](../../wiki/ProConcepts-Geodatabase)
* [ProConcepts: DDL](../../wiki/ProConcepts-DDL)

    **3D Analyst Data**
* [ProSnippets: 3D Analyst Data](../../wiki/ProSnippets-3D-Analyst-Data)
* [ProConcepts: 3D Analyst Data](../../wiki/ProConcepts-3D-Analyst-Data)

    **Plugin Datasources**

* [ProConcepts: Plugin Datasources](../../wiki/ProConcepts-Plugin-Datasources)
* [ProGuide: Plugin Datasources](../../wiki/ProGuide-Plugin-Datasources)

    **Topology**

* [ProSnippets: Topology](../../wiki/ProSnippets-Topology)
* [ProConcepts: Topology](../../wiki/ProConcepts-Topology)

    **Object Model Diagram**

* [Object Model Diagram](http://ArcGIS.github.io/arcgis-pro-sdk/content/OMDs/Geodatabase-Object-Model-Diagram.pdf)

--------------------------

### Geometry

* [ProSnippets: Geometry](../../wiki/ProSnippets-Geometry)
* [ProSnippets: Geometry Engine](../../wiki/ProSnippets-GeometryEngine)
* [ProConcepts: Geometry](../../wiki/ProConcepts-Geometry)
* [ProConcepts: Multipatches](../../wiki/ProConcepts-Multipatches)
* [ProGuide: Building Multipatches](../../wiki/ProGuide-Building-Multipatches)

    **Relational Operations**

* [ProGuide: RelationalOperations](../../wiki/ProGuide-Relational-Operations)
* [ProSnippets: Custom Relational Operations](../../wiki/ProGuide-Custom-Relational-Operations)

--------------------------

### Geoprocessing

* [ProSnippets: Geoprocessing](../../wiki/ProSnippets-Geoprocessing)
* [ProConcepts: Geoprocessing](../../wiki/ProConcepts-Geoprocessing)
* [ProGuide: Embedding Toolboxes](../../wiki/ProGuide-content-and-image-resources#embedding-toolboxes)

--------------------------

### Layouts

* [ProSnippets: Layouts](../../wiki/ProSnippets-Layouts)
* [ProConcepts: Layouts](../../wiki/ProConcepts-Layouts)

    **Reports**
* [ProSnippets: Reports](../../wiki/ProSnippets-Reports)
* [ProConcepts: Reports](../../wiki/ProConcepts-Reports)

--------------------------

### Map Authoring

* [ProSnippets: Map Authoring](../../wiki/ProSnippets-MapAuthoring)
* [ProSnippets: Annotation](../../wiki/ProSnippets-Annotation)
* [ProSnippets: Charts](../../wiki/ProSnippets-Charts)
* [ProSnippets: Labeling](../../wiki/ProSnippets-Labeling)
* [ProSnippets: Renderers](../../wiki/ProSnippets-Renderer)
* [ProSnippets: Symbology](../../wiki/ProSnippets-Symbology)
* [ProSnippets: Text Symbols](../../ProSnippets-TextSymbols)
* [ProConcepts: Map Authoring](../../wiki/ProConcepts-Map-Authoring)
* [ProConcepts: Annotation](../../wiki/ProConcepts-Annotation)
* [ProConcepts: Dimensions](../../wiki/ProConcepts-Dimensions)
* [ProGuide: Tray buttons](../../wiki/ProGuide-Tray-buttons)
* [ProGuide: Custom Dictionary Style](../../wiki/ProGuide-Custom-Dictionary-Style)
* [ProGuide: Geocoding](../../wiki/ProGuide-Geocoding)

    **3D Analyst**
* [ProSnippets: 3D Analyst Layers](../../wiki/ProSnippets-3D-Analyst-Layers)
* [ProConcepts: 3D Analyst Layers](../../wiki/ProConcepts-3D-Analyst-Layers)

    **CIM**
* [CIM Resources](../../wiki/CIM-Resources)

    **Graphics**
* [ProSnippets: Graphics Layers](../../wiki/ProSnippets-GraphicsLayers)
* [ProConcepts: Graphics Layers](../../wiki/ProConcepts-GraphicsLayers)

    **Scene**
* [ProSnippets: Scene Layers](../../wiki/ProSnippets-SceneLayers)
* [ProConcepts: Scene Layers](../../wiki/ProConcepts-Scene-Layers)

    **Stream**
* [ProSnippets: Stream Layers](../../wiki/ProSnippets-StreamLayers)
* [ProConcepts: Stream Layers](../../wiki/ProConcepts-Stream-Layers)

    **Voxel**
* [ProSnippets: Voxel Layers](../../wiki/ProSnippets-VoxelLayers)
* [ProConcepts: Voxel Layers](../../wiki/ProConcepts-Voxel-Layers)

--------------------------

### Map Exploration

* [ProSnippets: Map Exploration](../../wiki/ProSnippets-MapExploration)
* [ProSnippets: Custom Pane with Contents](../../wiki/ProSnippets-CustomPaneWithContents)
* [ProConcept: Map Exploration](../../wiki/ProConcepts-Map-Exploration)
* [ProGuide: Map Pane Impersonation](../../wiki/ProGuide-Map-Pane-Impersonation)
* [ProGuide: TableControl](../../wiki/ProGuide-TableControl)

    **Map Tools**

* [ProGuide: Feature Selection](../../wiki/ProGuide-Feature-Selection)
* [ProGuide: Identify](../../wiki/ProGuide-Identify)
* [ProGuide: MapView Interaction](../../wiki/ProGuide-MapView-Interaction)
* [ProGuide: Embeddable Controls](../../wiki/ProGuide-Using-Embeddable-Controls)
* [ProGuide: Custom Popups](../../wiki/ProGuide-Custom-Popups)
* [ProGuide: Dynamic Popup Menu](../../wiki/ProGuide-Dynamic-Popup-Menu)

--------------------------

### Networks
* [ProSnippets: Utility Network](../../wiki/ProSnippets-UtilityNetwork)
* [ProConcepts: Utility Network](../../wiki/ProConcepts-Utility-Network)
* [Object Model Diagram](http://ArcGIS.github.io/arcgis-pro-sdk/content/OMDs/Utility-Network-Object-Model-Diagram.pdf)

    **Network Diagrams**

* [ProConcepts: Network Diagrams](../../wiki/ProConcepts-Network-Diagrams)
* [Object Model diagram](http://ArcGIS.github.io/arcgis-pro-sdk/content/OMDs/Network-Diagrams-Object-Model-Diagram.pdf)

--------------------------

### Parcel Fabric

* [ProSnippets: Parcel Fabric](../../wiki/ProSnippets-ParcelFabric)
* [ProConcepts: Parcel Fabric](../../wiki/ProConcepts-Parcel-Fabric)

--------------------------

### Raster

* [ProSnippets: Raster](../../wiki/ProSnippets-Raster)
* [ProConcept: Raster](../../wiki/ProConcepts-Raster)

--------------------------

### Sharing

* [ProSnippets: Sharing](../../wiki/ProSnippets-sharing)
* [ProConcepts: Portal](../../wiki/ProConcepts-Portal)

--------------------------

### Tasks

* [ProSnippets: Tasks](../../wiki/ProSnippets-Tasks)
* [ProConcepts: Tasks](../../wiki/ProConcepts-Tasks)

--------------------------

### Workflow Manager Classic

* [ProSnippets: Workflow Manager Classic](../../wiki/ProSnippets-WorkflowManagerClassic)
* [ProConcept: Workflow Manager Classic](../../wiki/ProConcepts-Workflow-Manager-Classic)

--------------------------

### Workflow Manager

* [ProSnippets: Workflow Manager](../../wiki/ProSnippets-WorkflowManager)
* [ProConcept: Workflow Manager](../../wiki/ProConcepts-Workflow-Manager)

--------------------------

### Reference

* ArcGIS Pro API Reference Guide
* ArcGIS Pro SDK (pro.arcgis.com)
* arcgis-pro-sdk-community-samples
* [ArcGISPro Registry Keys](../../wiki/ArcGIS-Pro-Registry-Keys)
* [ArcGIS Pro DAML ID Reference](../../wiki/ArcGIS-Pro-DAML-ID-Reference)
* [ArcGIS Pro Icon Reference](../../wiki/DAML-ID-Reference-Icons)
* [ArcGIS Pro TypeID Reference](../../wiki/ArcGIS-Pro-TypeID-Reference)
* [ProConcepts: Distributing Add-Ins Online](../../wiki/ProConcepts-Distributing-Add-Ins-Online)
* [ProConcepts: Migrating to ArcGIS Pro](../../wiki/ProConcepts-Migrating-to-ArcGIS-Pro)
* [FAQ](../../wiki/FAQ)
* [Dev Summit Tech Sessions](tech-sessions)

## Overview of the ArcGIS Pro SDK

### Requirements

#### ArcGIS Pro

* ArcGIS Pro 3.3

#### Supported platforms

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

#### Supported .NET

* Microsoft .NET Runtime 8.0.0 or better. [Download .NET 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)

#### Supported IDEs

* Visual Studio 2022 (v17.8 or higher)
* Community Edition
* Professional Edition
* Enterprise Edition

Released alongside .NET 8, the [Visual Studio 2022 17.8 release](https://devblogs.microsoft.com/visualstudio/visual-studio-17-8-now-available/) brings support for .NET 8.

#### Third party assemblies
_**Newtonsoft Json**_
* At 3.3, ArcGIS Pro is using version 13.0.3.27908 of the Newtonsoft Json NuGet. If you require Newtonsoft NuGet in your add-ins it is recommended to use the same version.

_**WebView2**_
* Add-in developers can use the new WebViewBrowser control based on Microsoft Edge WebView2. Consult the WebView2 manifest in the Pro bin\WebView folder for the current WebView2 fixed version runtime in use by ArcGIS Pro.

[ArcGIS Pro system requirements](https://pro.arcgis.com/en/pro-app/get-started/arcgis-pro-system-requirements.htm)

### ArcGIS Pro API

The ArcGIS Pro APIs are _managed .NET assemblies_ which are installed with each ArcGIS Pro installation. Intermediary assemblies containing .NET metadata or PIAs (Primary Interop Assemblies) are not required.

Add any of the ArcGIS Pro managed assemblies that comprise its API as references directly in your Visual Studio add-in projects

A complete list of the ArcGIS Pro assemblies in the public API is provided below. Consult the online [API Reference](https://pro.arcgis.com/en/pro-app/latest/sdk/api-reference) for specific details of each assembly:

#### Core

Core assemblies are located in the {ArcGIS Pro Installation folder}\bin.

Assembly | Description
------------------------| -------------
ArcGIS.Core.dll | Provides CIM, Geodatabase, Geometry and Utility Network APIs.
ArcGIS.CoreHost.dll | Provides Host.Initialize to initialize ArcGIS.Core.dll for stand-alone use.
ArcGIS.Desktop.Framework.dll | Provides the application framework to include add-in contracts, DAML support, and base classes. This assembly **must be referenced** by every add-in.
ESRI.ArcGIS.ItemIndex.dll | Provides functionality to create and work with Custom items.

#### Extensions

Major subsystems within ArcGIS Pro are organized into units called extensions. Extension assemblies are located in the {ArcGIS Pro Installation folder}\bin\Extensions folder in their own individual subfolder.
Extension subfolder names are logically named for the unit of functionality they represent, for example, Mapping, Editing, Layout, and so on.

Assembly | Description
------------------------| -------------
ArcGIS.Desktop.Catalog.dll | Provides access to project content items (map items, layout items, style items, folder items, and so on).
ArcGIS.Desktop.Core.dll | Provides functionality to create and manage projects, access to events associated with the current project, and the ability to execute geoprocessing tools.
ArcGIS.Desktop.DataReviewer.dll | Provides functionality to establish and manage Reviewer results, sessions, and batch jobs in a project.
ArcGIS.Desktop.Editing.dll | Provides access to the editing environment and core editing functionality required for custom edit tool implementations.
ArcGIS.Desktop.Extensions.dll | Provides extension methods for other ArcGIS Pro classes. Provides a base class for custom map tools.
ArcGIS.Desktop.Geoprocessing.dll | Provides access to geoprocessing history items stored in the project. (Note: Adds a reference to ArcGIS.Desktop.Core.dll to execute geoprocessing tools.)
ArcGIS.Desktop.KnowledgeGraph.dll | Provides access to KnowledgeGraphs in maps and link charts.
ArcGIS.Desktop.Layouts.dll | Provides functionality for manipulating elements on a layout and exporting to a variety of image formats.
ArcGIS.Desktop.Mapping.dll | Provides types to create maps and layers, label features, perform query operations, and visualize them in 2D or 3D. Provides a raster API to create raster layers and customize raster rendering, and an API to manage styles, style items, and symbols.
ArcGIS.Desktop.TaskAssistant.dll | Provides the Tasks framework, allowing developers to access, open, close, or export task items.
ArcGIS.Desktop.Workflow.dll | Provides functionality to create, configure, and execute Workflow Manager Classic jobs and queries. Provides functionality to retrieve configuration information from the Workflow Manager Classic database.
ArcGIS.Desktop.Workflow.Client.dll | Provides functionality to retrieve job id and connection information for Workflow Manager.

#### Extensions with no public API

There are extension assemblies in {ArcGIS Pro Installation folder}\bin\Extensions subfolders) that do not have a public API. They are currently for Esri internal use only.

* ArcGIS.Desktop.Analyst3D.dll
* ArcGIS.Desktop.Aviation.dll
* ArcGIS.Desktop.Bathymetry.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.NeighborhoodExplorer.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

Note: Static string resource properties and image resources included within the public API assemblies are for Esri internal use only. They are not intended for use in third-party add-ins.

#### ArcGIS Pro Extensions NuGet

The ArcGIS Pro Extensions NuGet contains all the Pro API assemblies needed to compile your Add-ins and Configurations and offers an alternate way to reference the ArcGIS Pro assemblies in your add-in and configuration over traditional file based references.

To use the ArcGIS Pro Extensions NuGet, set the NuGet Package Management format setting in Visual Studio to be PackageReference.

[ProGuide: ArcGIS Pro Extensions NuGet](https://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-ArcGIS-Pro-Extensions-NuGet)

## What's New for Developers at 3.3

#### 1. API enhancements
At 3.3 you can take advantage of API enhancements for:

**General:**
* 3.0 - 3.2 Addin .NET 8.0 migration. [ProGuide: .NET 8 Upgrade](https://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-NET-8-Upgrade)
* Use of private keys for code signing stored on HSMs certified as FIPS 140 Level 2, Common Criteria EAL 4+. Consult [ProGuide: Digital signatures](https://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-Digitally-signed-add-ins-and-configurations)
* A new Visual Studio project template for ArcGIS AllSource. [ProGuide: ArcGIS AllSource Project Template](https://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-ArcGIS-AllSource-Project-Template)

**Knowledge Graph:**
* Bind parameters with openCypher graph queries.
* Enhancements for the Knowledge graph layer creation process.
* Layer id sets for use in creating Knowledge graph layers with subsets of content.
* Creating and appending Knowledge graph content to link charts.

**Geometry:**
* Enhancements for working with measures.

**3D Analyst:**
* Enhancements for creating and working with Stereo maps in Pro.

**Editing:**
* Enhancements for Building/re-building map topology with group layers.

**Utility Network:**
* Added support for returning feature level information from a trace as FeatureElementResults.

A complete list of the API enhancements is provided in the [API Changes section of the API Reference](https://pro.arcgis.com/en/pro-app/latest/sdk/api-reference/topic15120.html).

#### 2. SDK Resources
There are many ProConcepts, ProGuide, ProSnippets, and samples to help you get up and running with the new SDK features. Updates to the SDK Resources include, but are not limited to:
* [ProGuide: .NET 8 Upgrade](https://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-NET-8-Upgrade)
* [ProGuide: Digital signatures](https://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-Digitally-signed-add-ins-and-configurations)
* [ProGuide: ArcGIS AllSource Project Template](https://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-ArcGIS-AllSource-Project-Template)
* [ProConcepts: Knowledge Graph](https://github.com/Esri/arcgis-pro-sdk/wiki/ProConcepts-Knowledge-Graph)
* [ProSnippets: Knowledge Graph](https://github.com/Esri/arcgis-pro-sdk/wiki/ProSnippets-KnowledgeGraph)
* [ProConcepts: Map Authoring](https://github.com/Esri/arcgis-pro-sdk/wiki/ProConcepts-Map-Authoring)
* The [Pro Community Samples](https://github.com/Esri/arcgis-pro-sdk-community-samples) and [Snippets](https://github.com/Esri/arcgis-pro-sdk/wiki/ProSnippets)

## Installing ArcGIS Pro SDK for .NET

ArcGIS Pro SDK for .NET can be downloaded and installed from within Visual Studio. There will be 2 separate extensions you can install:
* ArcGIS Pro SDK for .NET,
* ArcGIS Pro SDK for .NET (Utilities)

**Notes:**
Moving to ArcGIS Pro 3.3 SDK (or 3.0 SDK) from 2.x is not an upgrade. To install,
1. Consult [Migrating from 2.x](https://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-Installation-and-Upgrade#migrating-from-2x) if you want to install ArcGIS Pro 3.3 SDK and you are on 2.x, **_not_** 3.x.
2. If you are migrating a 2.x add-in to 3.3 you can install the migration tool to help automate the conversion process. Moving from 2.x to 3.x is a **_breaking change_**. Refer to the migration guide [ProConcepts: 3.0 Migration Guide](https://github.com/Esri/arcgis-pro-sdk/wiki/ProConcepts-3.0-Migration-Guide) and [ProGuide:.NET 8 Upgrade](https://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-NET-8-Upgrade) for more details.

Read the [ProGuide: Installation and Upgrade](http://github.com/Esri/arcgis-pro-sdk/wiki/ProGuide-Installation-and-Upgrade) for detailed installation instructions.

## Release notes

### ArcGIS Pro SDK for .NET components

The following table summarizes the functionality of each .vsix file included in the SDK download:

| Name|File|Functionality|
| ------------- | ------------- |------------- |
| ArcGIS Pro SDK for .NET | proapp-sdk-templates.vsix | A collection of project and item templates to create ArcGIS Pro add-ins|
| ArcGIS Pro SDK for .NET (Utilities) | proapp-sdk-utilities.vsix | A collection of utilities to help create ArcGIS Pro add-ins|
| ArcGIS Pro SDK for .NET (Migration) | proapp-sdk-migration.vsix | Migrates ArcGIS Pro SDK 2.x extensions to ArcGIS Pro SDK 3.x for .NET|

#### ArcGIS Pro SDK for .NET templates
Package: proapp-sdk-templates.vsix

ArcGIS Pro SDK for .NET provides the following project and item templates:

C# VB Name
ArcGIS Pro Module Add-in Project template
ArcGIS Pro Managed Configurations Project template
N/A ArcGIS Pro Plugin Project template
N/A ArcGIS Pro CoreHost Application Project template
N/A ArcGIS AllSource Add-in Project template
ArcGIS Pro Backstage Tab
ArcGIS Pro Button
ArcGIS Pro Button Palette
ArcGIS Pro Combo Box
ArcGIS Pro Construction Tool


ArcGIS Pro Custom Control

N/A
ArcGIS Pro Custom Item

N/A
ArcGIS Pro Custom Project Item
ArcGIS Pro Dockpane
ArcGIS Pro Dockpane with Burger Button
ArcGIS Pro Drop Handler
ArcGIS Pro Embeddable Control
ArcGIS Pro Gallery
ArcGIS Pro Inline-Gallery
N/A ArcGIS Pro Layout Tool
N/A ArcGIS Pro Layout Tray Button
ArcGIS Pro Map Pane Impersonation
ArcGIS Pro Map Tool
N/A ArcGIS Pro Map Tray Button
ArcGIS Pro Menu
ArcGIS Pro Pane
ArcGIS Pro Property Sheet
ArcGIS Pro ProWindow
ArcGIS Pro Split Button
N/A ArcGIS Pro Table Construction Tool

In general, there is a one-to-one correspondence between a framework UI element extensibility point (e.g. button, tool, menu, dockpane, etc) and an item template. Use the relevant item template to add the corresponding extensibility point to your Add-in.

#### ArcGIS Pro SDK for .NET utilities
Package: proapp-sdk-utilities.vsix

ArcGIS Pro SDK for .NET (Utilities) provides the following utilities that extend the Visual Studio environment:

![pro-fix-references](https://ArcGIS.github.io/arcgis-pro-sdk/images/Home/proapp-sdk-utilities.png "ArcGIS Pro SDK(Utilities)")

Name | Description
---------------------------- | --------------------------------------
Pro Fix References utility | Fixes broken references in an ArcGIS Pro add-in, core host, configuration, or plug-in projects. Broken references can be caused when you share add-ins with other colleagues or download add-ins where the ArcGIS Pro assembly references point to a different location from where you installed them. Pro Fix References can be run on individual projects or all projects within a solution.
Pro Generate DAML Ids utility| Converts all of the ArcGIS Pro Desktop Application Markup Language (DAML) string IDs into static string properties organized by DAML element types (for example, Button, Dockpane, Tool, Condition, and so on). This allows you to use the IntelliSense feature of Visual Studio within your source code file to add IDs, rather than having to manually type DAML string IDs).

#### ArcGIS Pro SDK for .NET Migration
Package: proapp-sdk-migration.vsix

![pro-migration](https://ArcGIS.github.io/arcgis-pro-sdk/images/Home/proapp-sdk-migration.png "ArcGIS Pro SDK(Migration)")

ArcGIS Pro SDK for .NET (Migration) provides support to migrate ArcGIS Pro SDK 2.x extensions to ArcGIS Pro SDK 3.X for .NET. **Note:** When you migrate your add-in, the dekstopVersion attribute in your config.daml will be set to the current version of ArcGIS Pro installed.

### Previous versions
* [ArcGIS Pro 3.2 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/3.2.0.49743)
* [ArcGIS Pro 3.1 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/3.1.0.41833)
* [ArcGIS Pro 3.0 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/3.0.0.36056)
* [ArcGIS Pro 2.9 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.9.0.32739)
* [ArcGIS Pro 2.8 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.8.0.29751)
* [ArcGIS Pro 2.7 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.7.0.26828)
* [ArcGIS Pro 2.6 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.6.0.24783)
* [ArcGIS Pro 2.5 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.5.0.22081)
* [ArcGIS Pro 2.4 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.4.0.19948)
* [ArcGIS Pro 2.3 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.3.0.15769)
* [ArcGIS Pro 2.2 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.2.0.12813)
* [ArcGIS Pro 2.1 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.1.0.10257)
* [ArcGIS Pro 2.0 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/2.0.0.8933)
* [ArcGIS Pro 1.4 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/1.4.0.7198)
* [ArcGIS Pro 1.3 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/1.3.0.5861)
* [ArcGIS Pro 1.2 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/1.2.0.5023)
* [ArcGIS Pro 1.1 SDK for .NET](https://github.com/Esri/arcgis-pro-sdk/releases/tag/1.1.0.3318)

## Resources

* [API Reference online](https://pro.arcgis.com/en/pro-app/latest/sdk/api-reference)
* [ProSnippets: ready-made snippets of code for your ArcGIS Pro add-ins.](https://github.com/Esri/arcgis-pro-sdk/wiki/ProSnippets).
* ArcGIS Pro SDK for .NET (pro.arcgis.com)
* [arcgis-pro-sdk-community-samples](http://github.com/Esri/arcgis-pro-sdk-community-samples)
* [ArcGIS Pro DAML ID Reference](http://github.com/Esri/arcgis-pro-sdk/wiki/ArcGIS-Pro-DAML-ID-Reference)
* [FAQ](http://github.com/Esri/arcgis-pro-sdk/wiki/FAQ)
* [ArcGIS Pro SDK icons](https://github.com/Esri/arcgis-pro-sdk/releases/tag/3.3.0.52636)

## Contributing

Esri welcomes contributions from anyone and everyone. For more information, see our [guidelines for contributing](https://github.com/esri/contributing).

## Issues

Find a bug or want to request a new feature? Let us know by submitting an issue.

## Licensing
Copyright 2024 Esri

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

A copy of the license is available in the repository's [license.txt](./License.txt) file.

pre-req ArcGIS Pro 3.3 SDK for Microsoft .NET Framework

                                                    [Home](https://github.com/Esri/arcgis-pro-sdk/wiki) | API Reference | [Requirements](#requirements) | [Download](#installing-arcgis-pro-sdk-for-net) | Samples