-
Notifications
You must be signed in to change notification settings - Fork 120
FAQ
Please use the ArcGIS Pro SDK GeoNet forum
No. Anything with an Internal name component in a namespace (that is, a subpath component that uses the literal string Internal) is unsupported. It may not be used. None of these Internal methods are documented and since they are internal, are subject to change at any release.
http://pro.arcgis.com/en/pro-app/sdk/api-reference/
Consult http://pro.arcgis.com/en/pro-app/sdk/api-reference/ for the complete list.
Any assembly with publicly scoped code that is not in this list is not supported.
ArcGIS Pro can be extended with:
- add-ins using .NET
- configurations using .NET
- python
- tasks
It is an archive file containing an add-in assembly that references the Pro API. The assembly, along with a companion Config.daml file, can customize the Pro UI as well as add custom functionality to Pro (to automate a repetitive workflow or procedure, to add a custom tool or function, etc.).
Add-ins follow the same deployment model as was used at 10x, even though the underlying framework is different. The add-in package (".esriAddInX") is deployed to a well-known folder. By default, this is C:\Users\<Username>\Documents\ArcGIS\AddIns\ArcGISPro. There is an add-in manager utility for ArcGIS Pro the same as there is for 10x.
Consult ProConcepts Framework for more information.
Go to the add-in manager tab on the backstage of Pro.
An ArcGIS Pro configuration is an advanced customization of the application as compared to an add-in. Configurations are similar to add-ins but offer more ways to extend the application including customizing the splash screen and start-up page, customizing the ribbon, and customizing the start-up experience.
Configurations follow a similar deployment model to add-ins. The configuration package (.proConfigX) is deployed to the C:\Users\Public\Documents\ArcGIS\ArcGISPro\Configurations folder.
Consult ProConcepts Configurations Manager for more information.
Yes but only one configuration can be loaded at Pro startup. Consult ProConcepts Configurations Manager for more information.
No. Only one configuration can be loaded per session. Consult ProConcepts Configurations Manager for more information.
Use of Geometry and Geodatabase classes in ArcGIS.Core.dll is supported. Refer to ProConcepts CoreHost for more information.
Yes. Automation is supported via Python and the arcpy.mp module.
No. We are not releasing the Pro icons.
To use one of the Pro icons in your Add-in follow the steps below:
- If you want to use a Pro icon on a ribbon button, then set the
smallImage
andlargeImage
attributes in the Config.daml equal to the packuri of the Pro icon you want to reference. For example, here we reference the stock select tool icon on a custom button:
<button id="..." caption="..." className="..."
smallImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/SelectionSelectTool16.png"
largeImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/SelectionSelectTool32.png">
<tooltip heading="Tooltip Heading">...<disabledText /></tooltip>
</button>
(You can find all the pack URIs of all the Pro icons in your bin\Extensions\<Extension>
folders in the extension DAML files).
- If you want to use a Pro Icon on a WPF button or other WPF control then set the relevant content property of the button or control in your
<UserControl>.xaml
. Use the pack URI of the Pro icon (or set it on a view model property). For example, here a WPF button on a dockpane user control is referencing the Pro clear select icon.
<Button Width="300" Height="50">
<StackPanel Orientation="Horizontal">
<Image Source="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/SelectionClearSelected16.png"/>
<TextBlock Text="My Custom Button" VerticalAlignment="Center" />
</StackPanel>
</Button>
If you do use one of the Pro icons in your Add-in you should use if for a similar purpose to the stock button or tool in Pro that also uses it (e.g. using select icons for a custom selection, edit icons for a custom edit tool, etc.). Using Pro icons in your own Add-ins for different purposes than the COTS tools can cause confusion with users.
ArcGIS Pro DAML ID Reference is a wiki page listing all the DAML values for controls and conditions.
Additionally, you can access these DAML IDs within Visual Studio in your add-in project by using the Pro Generate DAML Ids utility.
Yes. The samples are in the https://github.com/esri/arcgis-pro-sdk-community-samples repo
Yes. The samples per release can be accessed here: https://github.com/ArcGIS/arcgis-pro-sdk-community-samples/releases
Why are my Custom Application and Project Settings not saved when I migrate my add-in from Pro 1.x to 2.x?
Custom settings are not converted from ArcGIS Pro 1.x to ArcGIS 2.x.
I have always installed ArcGIS Pro SDK for .NET using the msi program previously. How do I install it now?
Starting with version 2.0, ArcGIS Pro SDK for .NET is 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. Refer to the ProGuide: Installation-and-Upgrade for detailed instruction to install the SDK.
How do I know if I have used the VSIX or MSI mechanism to install a previous version of ArcGIS Pro SDK for .NET?
When you use the MSI mechanism to install ArcGIS Pro SDK, you will not be able to modify or uninstall it from within Visual Studio's Extensions and Updates dialog.
- In Visual Studio click Tools > Extensions and Updates to bring up the Extensions and Updates dialog.
- Select the ArcGIS Pro SDK for .NET item listed under the "Installed > All" folder option (Default).
- The Disable and Uninstall button will be grayed and disabled. This indicates that ArcGIS Pro SDK for .NET was installed using the MSI mechanism.
- If the Disable\Uninstall button is not grayed out and is enabled, this indicates that ArcGIS Pro SDK for .NET was installed using the VSIX mechanism.
ArcGIS Pro SDK for .NET templates and utilities are available as Visual Studio extensions (.vsix files) and can be installed from inside Visual Studio. You do not need administrative access or elevated user permissions to install ArcGIS Pro SDK for .NET. Refer to the ProGuide: Installation-and-Upgrade for detailed instruction to install the SDK.
ArcGIS Pro SDK for .NET can be upgraded to the latest version using the instructions in this link:
Why do I get the message "ArcGIS Pro 2.x SDK for .NET cannot be installed over ArcGIS Pro 1.x.xxxx" in Visual Studio when I attempt to create a new ArcGIS Pro add-in?
Each version of the ArcGIS Pro SDK .NET requires that you have installed the corresponding ArcGIS Pro application or newer. For example, ArcGIS Pro 2.1 SDK for .NET requires ArcGIS Pro 2.0 or better. ArcGIS Pro 1.4 SDK requires ArcGIS Pro 1.4 or better. If you are seeing this error then you have installed the latest ArcGIS Pro 2.x SDK for .NET but have not upgraded to the corresponding minimum version of ArcGIS Pro. So when you attempt to create an ArcGIS Pro add-in in Visual Studio, the missing dependency on ArcGIS Pro 2.x is detected and this message is seen.
Note: If you have the "Automatically update extensions" option turned on in Visual Studio your installation of ArcGIS Pro SDK for .NET will be automatically upgraded by Visual Studio. Therefore you may have inadvertently upgraded your Pro SDK version which is now out-of-sync with the installed version of ArcGIS Pro. For this reason we recommend turning this feature off.
In Visual Studio enable/disable auto-updates per extension in Tools -> Extensions and Update or at a global level through Tools -> Options.
Previous releases of ArcGIS Pro SDK for .NET are archived here: https://github.com/Esri/arcgis-pro-sdk/releases
Why can't the ArcGIS Pro SDK for .NET package listed in Extensions and Updates within Visual Studio be uninstalled?
It is likely that you have installed a previous version of ArcGIS Pro SDK for .NET using the msi program. So to uninstall it, you must use the Control Panel.
Why do I get a message "This extension is already installed to all applicable products" when I double click the proapp-sdk-templates.vsix?
Scenario 1: It is likely that you have already installed ArcGIS Pro 2.1 SDK (Final). Verify that the ArcGIS Pro SDK for .NET templates and utilities are installed in Visual Studio. You should see an ArcGIS folder within the set of New Project templates for Visual C# and Visual Basic. Alternatively, you can select Extensions and Updates from the Tools menu in Visual Studio to check if ArcGIS Pro 2.1 SDK is already installed.
Scenario 2: If you have an older (1.4 or previous) version of ArcGIS Pro SDK installed using the MSI program, and you double click the 2.0 or 2.1 version of proapp-sdk-templates.vsix you will get this message. To fix this, access your Control panel to uninstall the 1.x version of ArcGIS Pro SDK, and then double click the 2.0 or 2.1 version of proapp-sdk-templates.vsix to install it.
ArcGIS Pro SDK requires .NET Framework 4.6.1 or higher. In the New Project dialog in Visual Studio, check the version of .NET Framework listed in the combo box. The version needs to be .NET Framework 4.6.1 or higher.
Refer to the the topic ArcGIS Pro SDK Templates not found in Visual Studio for more information.
Refer to this topic in the wiki: Distribute ArcGIS Pro SDK for .NET using a private gallery
The ArcGIS Pro SDK for .NET will be certified on Visual Studio 2015 and Visual Studio 2017. Please refer to the Requirements section for details.
Up to C# v6.0.
.Net version 4.6.1
Refer to the ProGuide: Diagnosing ArcGIS Pro Add-ins for more information on this.
Check your desktopVersion
attribute in the Config.daml. Make sure your add-in desktopVersion is compatible with the version of Pro you are trying to run it on. Refer to ProConcepts Advanced Topics, add-in versioning for information on add-in versioning. Refer to the ProGuide: Diagnosing ArcGIS Pro Add-ins for other issues.
Note: 2.0 was a breaking change. Please refer to the migration section of this FAQ for more information.
"<AddInAssembly.dll> was not found. The value of the defaultAssembly attribute in the config.daml should match the name of the of the assembly for the add-in project."
Refer to the ProGuide: Diagnosing ArcGIS Pro Add-ins for more information.
Typically this means that the class your button references in its className
attribute in the config.daml could either not be found or could not be loaded. Refer to the ProGuide: Diagnosing ArcGIS Pro Add-ins for more information on this.
ArcGIS Pro assemblies are not stored in a GAC. They are referenced via file paths in the add-in's .csproj or .vbproj file. This means that if you share ArcGIS Pro add-ins as Visual Studio projects, your assembly reference paths stored in your .csproj or .vbproj may be different than your colleagues'. For example, some users may install ArcGIS Pro to their C: drive while others install to their D: drive.
To fix the broken ArcGIS Pro references in an add-in, use the Fix ArcGIS Pro Reference utility included in the proapp-sdk-utilities.vsix. The steps below explain how to use the tool.
- Install the ArcGIS Pro SDK Utilities vsix package (proapp-sdk-utilities.vsix).
- Open the add-in project that has broken references.
- Right-click the add-in project in the Visual Studio Solution Explorer and click Pro Fix References.
- Click Yes on the dialog box that asks you to proceed. Your broken references will now be fixed.
I changed the namespace in my ArcGIS Pro add-in project. Now ArcGIS Pro crashes when I attempt to load the add-in.
The Config.daml file also has references to the namespace used in the ArcGIS Pro add-in solution. It is not sufficient to only change the namespace in your class files. The Config.daml file namespace references also need to be changed, even though there will be no compilation errors if they are different.
When you create an add-in using ArcGIS Pro SDK for .NET, you will see a "The required attribute 'keytip' is missing." warning in Visual Studio. Keytips are a component of 508 compilance.
The templates cannot pick a unique keytip for you. If you want to provide a keytip select a letter combination that is unique for any given tab.
ArcGIS Pro 2.0 was a breaking change release.
ArcGIS Pro 2.0 was a breaking change release. To get your add-ins and configurations working again at 2.0 or later you must follow the steps outlined in the migration procedure in the ProConcepts 2.0 Migration Guide.
You can check if your add-in is out of date by going running Pro and checking the add-in manager. Incompatible add-ins that have not been migrated will be shown as disabled.
ArcGIS Pro 2.0 was a breaking change release. As it was a breaking change release, the major version number of Pro was changed from "1.x" to "2.x". Add-ins and configurations are only forwards compatible across minor versions, they are not forwards compatible across major versions. Consult ProConcepts Advanced Topics Add-in Versioning for a description of the add-in versioning scheme. To register your 1.x add-ins and configurations at 2.1 you must migrate them to 2.1 first. The migration steps are outlined in the migration procedure in the ProConcepts 2.0 Migration Guide.
Yes. The ArcGIS Pro 2.0 API changed or deleted types and members previously available at 1.x. Please consult the What's New for Developer's at 2.0 page, API Changes section, on the API Reference
Yes. Please consult the What's New for Developers' page, API Changes section.
No. ArcGIS Pro 2.0 was a breaking change release. You must migrate your 1.x add-ins and configurations to 2.0 or 2.1. They will not load in Pro 2.x. Please consult the ProConcepts 2.0 Migration Guide for more details.
A step by step procedure is provided in the ProConcepts 2.0 Migration Guide migration procedure. Further examples are provided in the ProSnippets Migrating to 2.0
ArcGIS Pro 2.0 was a breaking change release. Some of its types and members were changed and deprecated types and members were deleted. You will need to fix any compiler errors in your code. There are many resources available to you to help you migrate your 1.x add-ins and configurations. They can be accessed from the ProConcepts 2.0 Migration Guide.
Yes. Changing the Pro assemblies to strong named was a breaking change. You must recompile your 1.x add-ins and configurations. The complete migration procedure is documented here.
Pro strong named its assemblies to support those 3rd parties who needed to strong name their own 3rd party assemblies (that reference Pro APIs). For example, developers may need to deploy multiple versions of their own proprietary assemblies (that reference Pro APIs) with their add-ins.
Because Pro 2.0+ strong named its .NET assemblies do I need to strong name my add-in or configuration?
No. A weak-named assembly can reference other weak-named or strong named assemblies.
No but you must recompile. Recompilation will update the metadata of your add-in assembly to reflect the fact that it uses specific versions of the Pro assemblies (the version, in this case, being 2.1)
Please check that you changed the desktopVersion
attribute of the AddinInfo
xml element in your config.daml. The desktopVersion
must be changed to "2.0". Consult ProConcepts 2.0 Migration Guide for more details.
Will I need to recompile my add-ins and configurations when the version of the Pro assemblies change in the future?
Yes, it is possible. An assembly that references a particular version of an assembly must be recompiled to change its reference to a different version. However ArcGIS Pro will distribute an assembly redirection file (ArcGISPro.exe.config located in the bin folder) that will redirect .NET from the previous version of a given Pro assembly to the current version of a given Pro assembly. This is the same as we currently do for Arcmap and server add-ins at 10.x.
Generally, yes, as long as the different versions of the assemblies you reference can be resolved by the .NET (this assumes the referenced assemblies are strong named). Similar to 10.x add-ins, ArcGIS Pro can use an app configuration file to auto forward assembly references.
Yes. The previous Pro WPF styles, brushes, and colors are still present in the ArcGIS Pro resources but they are no longer supported and should be considered internal for use by ArcGIS Pro only. You must change your UI styling that uses the Pro 1.x WPF resources to now reference the new Pro WPF styles, brushes, and colors made available for SDK use at 2.0. Please refer to the ProGuide Style Guide for more information.
No. There will continue to be an ArcObjects SDK for customizing and extending ArcMap, ArcCatalog, and ArcScene. This new SDK is only for the new ArcGIS Pro application.
No. The ArcEngine SDK will continue to be provided as part of the desktop .NET SDK.
No. ArcObjects code must be rewritten to take advantage of the new classes and features in Pro.
No. This is not planned. You must use Python or ModelBuilder.
No. This is not planned.
No. It is planned for a future release.
No. This is not planned.
No. Another mechanism is being determined. However, you can use python to develop your custom functions and then using the existing out of the box python raster function to embed your custom function and use in ArcGIS Pro. Refer to Python Raster Function.
Home | API Reference | Requirements | Download | Samples
- Overview of the ArcGIS Pro SDK
- What's New for Developers at 3.4
- Installing ArcGIS Pro SDK for .NET
- Release notes
- Resources
- Pro SDK Videos
- ProSnippets
- ArcGIS Pro API
- ProGuide: ArcGIS Pro Extensions NuGet
Migration
- ProSnippets: Framework
- ProSnippets: DAML
- ProConcepts: Framework
- ProConcepts: Asynchronous Programming in ArcGIS Pro
- ProConcepts: Advanced topics
- ProGuide: Custom settings
- ProGuide: Command line switches for ArcGISPro.exe
- ProGuide: Reusing ArcGIS Pro Commands
- ProGuide: Licensing
- ProGuide: Digital signatures
- ProGuide: Command Search
- ProGuide: Keyboard shortcuts
Add-ins
- ProGuide: Installation and Upgrade
- ProGuide: Your first add-in
- ProGuide: ArcGIS AllSource Project Template
- ProConcepts: Localization
- ProGuide: Content and Image Resources
- ProGuide: Embedding Toolboxes
- ProGuide: Diagnosing ArcGIS Pro Add-ins
- ProGuide: Regression Testing
Configurations
Customization
- ProGuide: The Ribbon, Tabs and Groups
- ProGuide: Buttons
- ProGuide: Label Controls
- ProGuide: Checkboxes
- 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 Dialog Filters
- ProConcepts: Project Content and Items
- ProConcepts: Custom Items
- ProGuide: Custom Items
- ProGuide: Custom browse dialog filters
- ArcGIS Pro TypeID Reference
- ProSnippets: Editing
- ProConcepts: Editing
- ProConcepts: COGO
- ProConcepts: Annotation Editing
- ProConcepts: Dimension Editing
- ProGuide: Editing Tool
- ProGuide: Sketch Tool With Halo
- ProGuide: Construction Tools with Options
- ProGuide: Annotation Construction Tools
- ProGuide: Annotation Editing Tools
- ProGuide: Knowledge Graph Construction Tools
- ProGuide: Templates
3D Analyst Data
Plugin Datasources
Topology
Linear Referencing
Object Model Diagram
- ProSnippets: Geometry
- ProSnippets: Geometry Engine
- ProConcepts: Geometry
- ProConcepts: Multipatches
- ProGuide: Building Multipatches
Relational Operations
- ProSnippets: Knowledge Graph
- ProConcepts: Knowledge Graph
- ProGuide: Knowledge Graph Construction Tools
Reports
- ProSnippets: Map Authoring
- ProSnippets: Annotation
- ProSnippets: Charts
- ProSnippets: Labeling
- ProSnippets: Renderers
- ProSnippets: Symbology
- ProSnippets: Text Symbols
- ProConcepts: Map Authoring
- ProConcepts: Annotation
- ProConcepts: Dimensions
- ProGuide: Tray buttons
- ProGuide: Custom Dictionary Style
- ProGuide: Geocoding
3D Analyst
CIM
Graphics
Scene
Stream
Voxel
- ProSnippets: Map Exploration
- ProSnippets: Custom Pane with Contents
- ProConcepts: Map Exploration
- ProGuide: Map Pane Impersonation
- ProGuide: TableControl
Map Tools
- ProGuide: Feature Selection
- ProGuide: Identify
- ProGuide: MapView Interaction
- ProGuide: Embeddable Controls
- ProGuide: Custom Pop-ups
- ProGuide: Dynamic Pop-up Menu
Network Diagrams
- ArcGIS Pro API Reference Guide
- ArcGIS Pro SDK (pro.arcgis.com)
- arcgis-pro-sdk-community-samples
- ArcGISPro Registry Keys
- ArcGIS Pro DAML ID Reference
- ArcGIS Pro Icon Reference
- ArcGIS Pro TypeID Reference
- ProConcepts: Distributing Add-Ins Online
- ProConcepts: Migrating to ArcGIS Pro
- FAQ
- Archived ArcGIS Pro API Reference Guides
- Dev Summit Tech Sessions