ArcGIS Pro 3.1 API Reference Guide
ArcGIS Pro Version: 3.1.0.41833
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.
The requirements for the machine on which you develop your ArcGIS Pro add-ins are listed here.
ArcGIS Pro
Supported platforms
- Windows 11 (Home, Pro, Enterprise)
- Windows 10 (Home, Pro, Enterprise) (64 bit)
Supported .NET
Supported IDEs
- Visual Studio 2022 (v17.2 or higher)
- Community Edition
- Professional Edition
- Enterprise Edition
Third party assemblies
- Newtonsoft Json:
- At 3.1, ArcGIS Pro is using version 13.0.1.25517 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.
The ArcGIS Pro APIs are managed .NET assemblies. 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 constituting the public API is provided below:
Core
Core assemblies are located within 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 within 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.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.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
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 3rd 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