Skip to content

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

License

Notifications You must be signed in to change notification settings

MichaelPMattaini/arcgis-pro-sdk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArcGIS Pro 3.0 SDK for .NET

ArcGIS Pro Version: 3.0.0.36056

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

    Migration

Framework

    Add-ins

    Configurations

    Customization

    Styling


Content


CoreHost


DataReviewer


Editing


Geodatabase

    Plugin Datasources

    Topology

    Object Model Diagram


Geometry

    Relational Operations


Geoprocessing


Layouts

    Reports


Map Authoring

    CIM

    Graphics

    Scene

    Stream

    Voxel


Map Exploration

    Map Tools


Networks

    Network Diagrams


Parcel Fabric


Raster


Sharing


Tasks


Workflow Manager


Reference

Overview of the ArcGIS Pro SDK

Requirements

ArcGIS Pro

  • ArcGIS Pro 3.0

Supported platforms

  • Windows 11 (Home, Pro, Enterprise)
  • Windows 10 (Home, Pro, Enterprise) (64 bit)
  • Windows 8.1 (Pro, and 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.0, 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.

Note: Cef and use of Cef sharp was deprecated at 2.9. Now, at 3.0, Cef is no longer supported.

ArcGIS Pro system requirements

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 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.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.

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
  • 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.

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

What's New for Developers at 3.0

1. .NET 6 Support:

  • ArcGIS Pro 3.0 requires .NET 6.0, Microsoft's latest edition of .NET. To develop add-ins for ArcGIS Pro 3.0, .NET Runtime 6.0.5 or higher is required. Download .NET 6.0
  • For migrating 2.x addins to 3.0., refer to the ProConcepts 3.0 Migration Guide.

2. SDK

  • ArcGIS Pro 3.0 SDK supports Visual Studio 2022, Microsoft's latest edition of its IDE. To develop add-ins for ArcGIS Pro 3.0, Visual Studio 2022 v17.2 or higher is required.
  • New templates for Map and Layout Tray buttons.

3. API enhancements

At 3.0 you can take advantage of API enhancements for:

Editing:

  • EditOperation and MapTopology updates.

Geodatabase:

  • Enhancements for versioning workflows.

Layout:

  • Graphic element updates, LayoutFactory enhancements.

Map Authoring:

  • LayerFactory and MapFactory updates, Feature and Display cache enhancements.

Geometry:

  • Spatial Reference improvements for coordinate system properties.

A complete list of the API enhancements is provided in the API Changes section of the API Reference.

4. 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:

Installing ArcGIS Pro SDK for .NET

ArcGIS Pro SDK for .NET can be downloaded and installed from within Visual Studio. Note: ArcGIS Pro 3.0 SDK is not an upgrade. To install ArcGIS Pro 3.0 SDK, you must use the Extensions > Manage Extensions > Online and search for it from the Visual Studio marketplace. Use the search string "ArcGIS Pro SDK". There will be 3 separate extensions you can install:

  • ArcGIS Pro SDK for .NET,
  • ArcGIS Pro SDK for .NET (Utilities)
  • ArcGIS Pro SDK for .NET (Migration).

Some things to keep in mind: ArcGIS Pro SDK requires Visual Studio 2022. Make sure you search for the ArcGIS Pro SDK inside Visual Studio 2022 or you will find ArcGIS Pro 2.9 SDK. Also ensure you have .NET 6.0.5. There will not be an update notification from Visual Studio even if you have a previous version of the SDK installed and "Automatic updates" turned on.

Read the ProGuide: Installation 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.0 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
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

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

ArcGIS Pro SDK for .NET (Migration) provides support to migrate ArcGIS Pro SDK 2.x extensions to ArcGIS Pro SDK 3.0 for .NET.

Recommended minimum version of Visual Studio 2022

We recommend installing a minimum version of 17.2 of Visual Studio. This version includes .NET 6.0.5 as part of the Visual Studio 2022 install (.NET SDK 6.0.3). Installing a lesser version of Visual Studio 2022 may require a separate install of the .NET Desktop Runtime 6.0.5 and/or .NET SDK 6.0.3. Consult Microsoft’s Download .NET 6.0 site for more information.

Additionally, with earlier versions of Visual Studio, you may encounter this message when installing the Pro SDK prosdk_utilitiesPackage.vsix for 3.0. Simply click “No” to continue and consider updating your Visual Studio 2022 version.
VisualStudioError.png

CopyLocal issue

When compiling your addins you may notice that the CopyLocal behavior of the addin (or Configuration or Plugin) is broken. Even though Pro assemblies (or any assembly) have the CopyLocal=No attribute set in the property UI, the assembly is still copied local (and added to the addin archive). To fix this issue, it is recommended that you upgrade your Visual Studio 2022 to 17.2 or better. After upgrading your Visual Studio 2022, “clean” the addin project and ensure that the “obj” folder, within the project, is deleted. Check all Pro assembly reference properties in the .csproj or .vbproj and ensure that CopyLocal is set to No. Rebuild the project.

Previous versions

Resources

Contributing

Esri welcomes contributions from anyone and everyone. For more information, see our guidelines for contributing.

Issues

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

Licensing

Copyright 2022 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.

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

                                                    Home | API Reference | Requirements | Download | Samples

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published