ArcGIS Pro Version: 2.9.0.32739
Extend ArcGIS Pro with the ArcGIS Pro SDK for .NET using the add-in extensibility pattern (first introduced at 10.0). 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.
The requirements for the machine on which you develop your ArcGIS Pro add-ins are listed here.
Supported platforms
- Windows 11 (Home, Pro, Enterprise)
- Windows 10 (Home, Pro, Enterprise) (64 bit)
- Windows 8.1 (Pro, and Enterprise) (64 bit)
Supported .NET framework
- Microsoft .NET Framework 4.8 Developer Pack
Note: ArcGIS Pro 2.9 is the last release with .NET Framework 4.8. ArcGIS Pro 3.0 will introduce support for .NET 6.0, Microsoft's latest edition of .NET. Support for .NET 6.0 will replace support for .NET Framework 4.8. With 3.0, .NET Framework 4.8 will no longer be supported. This will be a breaking change.
Supported IDEs
- Visual Studio 2019 (Professional, Enterprise, and Community Editions)
- Visual Studio 2017 (Professional, Enterprise, and Community Editions)
Note: ArcGIS Pro 2.9 SDK is the last release with support for Visual Studio 2017 and 2019. The ArcGIS Pro 3.0 SDK will introduce support for Visual Studio 2022, Microsoft's latest edition of its IDE. Support for Visual Studio 2022 will replace support for Visual Studio 2017 and 2019. With 3.0, Visual Studio 2017 and 2019 will no longer be supported.
Third party assemblies
- Newtonsoft Json:
- At 2.9 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.9 ArcGIS is using version 92.0.260 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.
- ChromiumWebBrowser has been been deprecated at 2.9. If you are currently using ChromiumWebBrowser control, please switch to using WebViewBrowser instead. WebViewBrowser control
- WebView2:
- Starting at ArcGIS Pro 2.9, addin 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. |
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 jobs and queries. Provides functionality to retrieve configuration information from the Workflow Manager database. |
| ESRI.ArcGIS.ItemIndex.dll |
Provides functionality to create and work with Custom items. |
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.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 3rd party Add-ins.
ArcGIS Pro Extensions Nuget
TThe 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. The ArcGIS Pro Extensions NuGet will only work with:
- Visual Studio 2017 update 8 or higher (Professional, Enterprise, and Community Editions)
- NuGet Package Management format setting in Visual Studio must be PackageReference.
- As of Pro 2.5, .Net Target Framework must be set to 4.8. This is important if you are adding the Nuget to a pre 2.5 add-in project.
ProGuide: ArcGIS Pro Extensions NuGet