Extend ArcGIS Pro with ArcGIS Pro SDK for .NET. ArcGIS Pro SDK for .NET is based on the add-in and configurations extensibility pattern. Leverage modern .NET features and patterns such as Task Asynchronous Programming (TAP), LINQ, WPF Binding, and MVVM to write integrated 2D/3D add-ins using Pro’s new APIs.
- Requirements
- Installing ArcGIS Pro SDK for .NET
- ArcGIS Pro SDK for .NET components
- Getting started
- Pro SDK Videos
- ProGuide: ArcGIS Pro Extensions NuGet
- ProConcepts: Migrating to ArcGIS Pro
- ProConcepts: Distributing Add-Ins Online
- ProSnippets
- ArcGIS Pro API
- Release notes
- Previous versions
- Resources
- ProSnippets: Framework
- ProConcepts: Framework
- ProConcepts: Asynchronous Programming in ArcGIS Pro
- ProConcepts: Advanced topics
- ProGuide: Command line switches for ArcGISPro.exe
- ProGuide: Reusing ArcGIS Pro Commands
- ProGuide: Licensing
- ProGuide: Digital signatures
Add-ins
- Pro Guide: Installation
- Pro Guide: Your first add-in
- ProConcept: Localization
- ProGuide: Content and image resources
- ProGuide: Diagnosing ArcGIS Pro Add-ins
Configurations
Customization
- ProGuide: Ribbon, tabs, and groups
- ProGuide: Buttons
- ProGuide: Label controls
- ProGuide: Check boxes
- ProGuide: Edit boxes
- ProGuide: Combo boxes
- ProGuide: Context Menus
- ProGuide: Palettes and Split buttons
- ProGuide: Galleries
- ProGuide: Dockpanes
- ProGuide: Code your own states and conditions
Styling
- ProSnippets: Content
- ProSnippets: Browse Filters
- ProConcepts: Project Items
- ProConcepts: Custom Items
- ProGuide: Custom Items
- ProGuide: Custom Browse Dialog Filters
- ArcGIS Pro TypeID Reference
- ProSnippets: Editing
- ProConcepts: Editing
- ProConcepts: Annotation Editing
- ProConcepts: Dimension Editing
- ProGuide: Editing Tool
- ProGuide: Construction Tools with Options
- ProGuide: Annotation Construction Tools
- ProGuide: Annotation Editing Tools
- ProGuide: Templates
- ProSnippets: Geodatabase
- ProSnippets: Topology
- ProConcepts: Geodatabase
- ProConcepts: Plugin Datasources
- ProGuide: Plugin Datasources
- ProSnippets: Geometry
- ProSnippets: Geometry Engine
- ProConcepts: Geometry
- ProConcepts: Multipatches
- ProGuide: Building Multipatches
Relational Operations
Reports
- ProSnippets: Map Authoring
- ProSnippets: Annotation
- ProSnippets: Labeling
- ProSnippets: Renderers
- ProSnippets: Symbology
- ProSnippets: Text Symbols
- ProConcepts: Map Authoring
- ProConcepts: Annotation
- ProConcepts: Dimensions
- ProGuide: Custom Dictionary Style
- ProGuide: Geocoding
Graphics
Scene
Stream
Voxel
- ProSnippets: Map Exploration
- ProSnippets: Custom Pane with Contents
- ProConcept: Map Exploration
- ProGuide: Map Pane Impersonation
- ProGuide: TableControl
Map Tools
- ProGuide: Feature Selection
- ProGuide: Identify
- ProGuide: MapView Interaction
- ProGuide: Embeddable Controls
- ProGuide: Custom Popups
- ProGuide: Dynamic Popup Menu
- API Reference online
- ArcGIS Pro SDK for .NET (pro.arcgis.com)
- arcgis-pro-sdk-community-samples
- ArcGISPro Registry Keys
- ArcGIS Pro DAML ID Reference
- ArcGIS Pro Icon Reference
- ArcGIS Pro TypeID Reference
- FAQ
- ArcGIS Pro SDK icons
The requirements for the machine on which you develop your ArcGIS Pro add-ins are listed here.
.NET Framework 4.8:
- As with the release of ArcGIS Pro 2.5, the minimum .NET target is now 4.8. What does this mean for you and your add-ins?
- Existing add-ins, already deployed, will work at 2.7 with no change to their forward compatibility.
- New add-ins created at 2.7 will require the minimum target framework set to 4.8 or they will not compile (this is the default setting in the Pro SDK).
- Existing add-ins which are recompiled at 2.7 (e.g. because a code change was made) will also require the minimum target framework set to 4.8 or they will not compile. Note: As always, if an existing add-in is changed for any reason, the desktopVersion attribute in its Config.daml file should be changed to reflect the version of Pro it was last compiled against, in this case, now 2.7.
Please consult technical support article How To: Convert a version 2.0 to 2.4 ArcGIS Pro SDK add-in solution to Pro 2.5 and later versions for more information
- ArcGIS Pro 2.7
- Windows 10 (Home, Pro, Enterprise) (64 bit)
- Windows 8.1 (Pro, and Enterprise) (64 bit)
- Microsoft .NET Framework 4.8
- Visual Studio 2019 (Professional, Enterprise, and Community Editions)
- Visual Studio 2017 (Professional, Enterprise, and Community Editions)
Newtonsoft Json
- At 2.7 ArcGIS Pro is using version 12.0.1 of the Newtonsoft Json NuGet. If you require Newtonsoft NuGet in your add-ins it is recommended to use the same version.
CefSharp
- At 2.7 ArcGIS is using version 81.3.100 of CefSharp. Pro includes the CefSharp.dll, CefSharp.Core.dll and CefSharp.Wpf.dll in the "C:\Program Files\ArcGIS\Pro\bin\cef" installation location. To use the CefSharp ChromiumWebBrowser control, consult ChromiumWebBrowser
Please consult technical support article How To: Fix compiler error(s) using CefSharp and the ArcGIS Pro SDK ChromiumWebBrowser Control in an add-in for more information
Note: ArcGIS Pro system requirements
ArcGIS Pro SDK for .NET can be downloaded and installed using either one of the following options:
- Download and install from within Visual Studio
- Download from MyEsri.com
Read the ProGuide: Installation and Upgrade for detailed installation instructions.
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 |
Package: proapp-sdk-templates.vsix
ArcGIS Pro SDK for .NET provides the following project and item templates:
Package: proapp-sdk-utilities.vsix
ArcGIS Pro SDK for .NET (Utilities) provides the following utilities that extend the Visual Studio environment:
Name | Description |
---|---|
Pro Fix References utility | Fixes broken references in an ArcGIS Pro add-in. 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 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). |
See ProGuide: Build your first add-in for step-by-step instructions on creating a basic button that appears on the ArcGIS Pro ribbon.
ProSnippets are ready-made snippets of code you can quickly insert into your ArcGIS Pro add-in. List of available ProSnippets.
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 in the public API is provided below:
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. |
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.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 jobs and queries. Provides functionality to retrieve configuration information from the Workflow Manager database. |
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.Charts.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.SAModels.dll
- ArcGIS.Desktop.Geostatistics.dll
- ArcGIS.Desktop.Geostatistics.dll
- ArcGIS.Desktop.Indoors.dll
- ArcGIS.Desktop.Intelligence.dll
- ArcGIS.Desktop.Intelligence.Configuration.dll
- ArcGIS.Desktop.KnowledgeGraph.dll
- ArcGIS.Desktop.LocationReferencing.dll
- ArcGIS.Desktop.Maritime.dll
- ArcGIS.Desktop.Metadata.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
- ArcGIS.Desktop.Workflow.Client.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.
These release notes describe details of the ArcGIS Pro 2.7 SDK for .NET release. Here you will find information about available functionality as well as known issues and limitations.
The following functionality is available at the ArcGIS Pro 2.7 SDK for .NET release:
Editing
- New sketch events are available: sketch modified, vertex events, and undo/redo.
Geodatabase
- New Topology API and a DDL pre-release API are available.
Layout
- Various Enhancements including view-page transformations and bulk element creation.
GraphicsLayer
- Bulk element creation
Map Authoring:
- New Device location API for GPS/GNSS data collection. Symbol Picker and Searcher user controls.
Map Exploration:
- New Reports API enhancements for report editing and management.
Parcel Fabric:
- Now in full release at 2.7, developers can build record-driven workflows.
3D Layers :
- New Voxel layer API to create and manage voxel layer slices, sections, isosurfaces, voxel layer lighting and rendering.
Geometry:
- Geometry engine enhancements.
.NET Framework 4.8:
- As with the release of ArcGIS Pro 2.5, the minimum .NET target is now 4.8. What does this mean for you and your add-ins?
- Existing add-ins, already deployed, will work at 2.7 with no change to their forward compatibility.
- New add-ins created at 2.7 will require the minimum target framework set to 4.8 or they will not compile (this is the default setting in the Pro SDK).
- Existing add-ins which are recompiled at 2.7 (e.g. because a code change was made) will also require the minimum target framework set to 4.8 or they will not compile. Note: As always, if an existing add-in is changed for any reason, the desktopVersion attribute in its Config.daml file should be changed to reflect the version of Pro it was last compiled against, in this case, now 2.7.
Please consult technical support article How To: Convert a version 2.0 to 2.4 ArcGIS Pro SDK add-in solution to Pro 2.5 and later versions for more information
For a detailed list of changes to the ArcGIS Pro API refer to the What's new for developers at 2.7 topic in the ArcGIS Pro API Reference Guide.
There are many ProConcepts, ProGuide, ProSnippets, and samples to help you get up and running with the new SDK features including:
Updates to the SDK Resources include, but are not limited to:
- ProConcepts: Asynchronous Programming in ArcGIS Pro
- ProConcepts: Distributing Add-Ins Online
- ProSnippets: GraphicsLayers
- ProConcepts GraphicsLayers
- ProConcepts: Editing
- ProConcepts: Map Authoring
- ProConcepts: Reports
- The Pro Community Samples and Snippets have new samples and snippets.
- The API Changes section of the What’s New for Developers 2.7 page.
You can use the Pro SDK Icons as the image for your controls on the Pro Ribbon. Code snippet below provides the pack URI to be used in your add-in's config.daml.
<button...largeImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/<ImageNameHere>"/>
- ArcGIS Pro 2.6 SDK for .NET
- ArcGIS Pro 2.5 SDK for .NET
- ArcGIS Pro 2.4 SDK for .NET
- ArcGIS Pro 2.3 SDK for .NET
- ArcGIS Pro 2.2 SDK for .NET
- ArcGIS Pro 2.1 SDK for .NET
- ArcGIS Pro 2.0 SDK for .NET
- ArcGIS Pro 1.4 SDK for .NET
- ArcGIS Pro 1.3 SDK for .NET
- ArcGIS Pro 1.2 SDK for .NET
- ArcGIS Pro 1.1 SDK for .NET
Esri welcomes contributions from anyone and everyone. For more information, see our guidelines for contributing.
Find a bug or want to request a new feature? Let us know by submitting an issue.
Copyright 2020 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 file.
ArcGIS Pro 2.7 SDK for Microsoft .NET Framework
Home | API Reference | Requirements | Download | Samples