Home

arcgisprosdk edited this page Jun 23, 2017 · 17 revisions

Home

Developing with ArcGIS Pro

    2.0 Migration


Framework

    Add-ins

    Configurations

    Customization

    Styling


Content


CoreHost


DataReviewer


Editing


Geodatabase


Geometry

    Relational Operations


Geoprocessing


Layouts


Map Authoring


Map Exploration

    Map Tools


Raster


Sharing


Tasks


Workflow Manager


Reference

Clone this wiki locally

ArcGIS Pro 2.0 SDK for .NET

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.


In this topic

Breaking Changes at 2.0

ArcGIS Pro 2.0 is a breaking change release. This means that all 1.4 and earlier add-ins and configurations must be recompiled against ArcGIS Pro 2.0 assemblies to work with ArcGIS Pro 2.0. There are additional changes that will be required to migrate your add-ins and configurations beyond recompilation. Please consult the ProConcepts 2.0 Migration Guide for more details.

Requirements

The requirements for the machine on which you develop your ArcGIS Pro add-ins are listed here.

ArcGIS Pro

  • ArcGIS Pro 2.0

Supported platforms

  • Windows 10 (Home, Pro, Enterprise) (64 bit [EM64T])
  • Windows 8.1 Professional, and Enterprise (64 bit [EM64T])
  • Windows 7 SP1 Ultimate, Enterprise and Professional (64 bit [EM64T])

Supported .NET framework

  • Microsoft .NET Framework 4.6.1 Developer Pack

Supported IDEs

  • Visual Studio 2017 (Professional, Enterprise, and Community Editions)
  • Visual Studio 2015 (Professional, Enterprise, and Community Editions)

Note: ArcGIS Pro system requirements

Installing ArcGIS Pro SDK for .NET

ArcGIS Pro SDK for .NET can be downloaded and installed from within Visual Studio.

Read the ProGuide: Installation and Upgrade for detailed installation instructions.

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 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
ArcGIS Pro Backstage Tab
ArcGIS Pro Button
ArcGIS Pro Button Palette
ArcGIS Pro Combo Box
ArcGIS Pro Construction Tool
ArcGIS Pro Custom Control
ArcGIS Pro Dockpane
ArcGIS Pro Dockpane with Burger Button
ArcGIS Pro Drop Handler
ArcGIS Pro Embeddable Control
ArcGIS Pro Gallery
ArcGIS Pro Inline-Gallery
ArcGIS Pro Map Pane Impersonation
ArcGIS Pro Map Tool
ArcGIS Pro Menu
ArcGIS Pro Pane
ArcGIS Pro Property Sheet
ArcGIS Pro Split Button

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

Getting started

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

ProSnippets are ready-made snippets of code you can quickly insert into your ArcGIS Pro add-in. List of available ProSnippets.

ArcGIS Pro API

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

pro-references.png

A complete list of the ArcGIS Pro assemblies in the public API is provided below:

Core

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

Assembly Description
ArcGIS.Core.dll Provides CIM, Geodatabase, and Geometry 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 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.Charts.dll
  • ArcGIS.Desktop.DataSourcesRaster.dll
  • ArcGIS.Desktop.DefenseMapping.dll
  • ArcGIS.Desktop.Editing.PushPull.dll
  • ArcGIS.Desktop.GAWizard.dll
  • ArcGIS.Desktop.Geostatistics.dll
  • ArcGIS.Desktop.LocationReferencing.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

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.

Release notes

ArcGIS Pro 2.0 SDK for .NET

These release notes describe details of the ArcGIS Pro 2.0 SDK for .NET release. Here you will find information about available functionality as well as known issues and limitations.

What's new

The following functionality is available at the ArcGIS Pro 2.0 SDK for .NET release:

1. Breaking Changes at 2.0

ArcGIS Pro 2.0 is a breaking change release. This means that all 1.4 and earlier add-ins and configurations must be recompiled against ArcGIS Pro 2.0 assemblies to work with ArcGIS Pro 2.0. There are additional changes that will be required to migrate your add-ins and configurations beyond recompilation. Please consult the ProConcepts 2.0 Migration Guide for more details.

2. Installation changes

Starting with version 2.0, ArcGIS Pro SDK for .NET will be exclusively available as VSIX installer packages only. If you have previously installed ArcGIS Pro SDK for .NET using the MSI mechanism, uninstall it from the control panel. ProGuide: Installation and Upgrade

3. Map Pane Impersonation Item Template

The Map Pane Impersonation is a new item template for customizing the Pro UI/UX. A custom Map pane can be created to impersonate any active Map Pane. This is done by overriding the new ArcGIS.Desktop.Mapping.TOCMapPaneProviderPane class. The new map pane you create will allow you to interact with the TOC that displays the layers in the active map pane that is being impersonated. ImpersonateMapPane sample

4. API Enhancements

Pro API enhancements include support for Raster, Geodatabase, Mapping, Geometry, Content Management, and Editing. For a detailed list of changes to the ArcGIS Pro API refer to the What's new for developers at 2.0 topic in the ArcGIS Pro API Reference Guide.

5. SDK Resources

There are many new ProConcepts, ProGuide, ProSnippets, and samples to help you get up and running with the new SDK features including:

Previous versions

Resources

ArcGIS Pro SDK for .NET Icons