FAQ - kataya/arcgis-pro-sdk GitHub Wiki
No development license is required for the Pro SDK itself, although a licensed installation of ArcGIS Pro is required for development and use of add-ins. The SDK can be used with any ArcGIS Desktop license level (Basic, Standard and Advanced) which Pro will use. Developers are able to create add-ins with functionality for a Desktop license level, and users of the add-in will need to have the appropriate level of license.
Please post to the ArcGIS Pro SDK Group on GeoNet.
Please refer to ProConcepts Migrating to ArcGIS Pro for links to resources on learning the Pro SDK.
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.
It is found at https://pro.arcgis.com/en/pro-app/latest/sdk/api-reference/.
Please consult the What's New for Developers page, API Changes section for the current release.
Consult https://pro.arcgis.com/en/pro-app/latest/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 and Configurations developed with the ArcGIS Pro SDK for .NET
- Python scripting
- ArcGIS Pro Tasks
An add-in 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 page 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\<UserName>\Documents\ArcGIS\AddIns\ArcGISPro\Configurations folder.
Consult ProConcepts Configurations for more information.
Yes, but only one configuration can be loaded during startup. Consult ProConcepts Configurations for more information.
Prior to 2.2, the default location for Configurations was C:\Users\Public\Documents\ArcGIS\ArcGISPro\Configurations folder
which has since been changed to C:\Users\<UserName>\Documents\ArcGIS\AddIns\ArcGISPro\Configurations
. To configure Pro to use the legacy default location for Configurations, add the admin key HKLM\Software\ESRI\ArcGISPro\Settings\UsePublicConfigurationFolders
to your registry.
Consult ArcGIS Pro Registry Keys: UsePublicConfigurationFolders for more information.
No. Only one configuration can be loaded per session. Consult ProConcepts Configurations 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.
Yes. Consult ProGuide Content and Image Resources. Refer to Document content.
Yes. Consult ProGuide Content and Image Resources. Refer to Embedding Toolboxes.
No, the Pro icons will not be released.
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 plan to use one of the Pro icons in your add-in, it should be used for a similar purpose as 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 found in the https://github.com/esri/arcgis-pro-sdk-community-samples repo.
The samples per release can be accessed here: https://github.com/Esri/arcgis-pro-sdk-community-samples/releases
Older versions of the ArcGIS Pro SDK documentation is available from version 1.4 onward. When you clone the https://github.com/Esri/arcgis-pro-sdk/wiki repo, the master
branch contains the documentation for the latest ArcGIS Pro SDK. In addition to the master branch, the older versions of the documentation can be obtained by switching to the v1.4.0.xxxx, v2.0.0.xxxx, v2.1.0.xxxx, etc branches.
The Pro SDK 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 the SDK. Refer to the ProGuide Installation and Upgrade for detailed instructions.
Please consult the ProGuide Installation and Upgrade document's upgrade section.
Previous releases of ArcGIS Pro SDK for .NET are archived here: https://github.com/Esri/arcgis-pro-sdk/releases
Why do I get a message "This extension is already installed to all applicable products" when I double-click the proapp-sdk-templates.vsix?
It is likely that you have already installed ArcGIS Pro x.x 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 Manage Extensions from the Extensions menu in Visual Studio to check if ArcGIS Pro x.x SDK is already installed.
As of ArcGIS Pro 2.5, ArcGIS Pro SDK requires .NET Framework 4.8 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.8 or higher.
Refer to the the topic ArcGIS Pro SDK Templates not found in Visual Studio for more information.
The workflow to create new projects in Visual Studio 2019 has changed.
-
Access the Create New Project option from the Visual Studio start window.
-
Filter all the available Project templates by using custom ArcGIS Pro SDK Project Type Filter. You should see ArcGIS Pro SDK templates.
Refer to this topic in the wiki: Distribute ArcGIS Pro SDK for .NET using a private gallery
The ArcGIS Pro SDK for .NET is certified on Visual Studio 2017 and Visual Studio 2019. Please refer to the Requirements section for details.
.NET version 4.8
This depends more on what version of Visual Studio you are using and its update level. As of the time of this writing (December 2019), the latest version of C# using the .NET Framework, 4.8, available with Visual Studio 2019, is version 7.3. Note: C# 7.3 requires update 7 with Visual Studio 2017.
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.
"<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.
No. There will continue to be an ArcObjects SDK for customizing and extending ArcMap, ArcCatalog, and ArcScene. The Pro SDK is only for the the ArcGIS Pro application.
Please refer to the ProConcepts Migrating to ArcGIS Pro document for information on migrating customizations from ArcMap, as well as other resources. Also, information on overall migration to Pro can be found on the Migrating to ArcGIS Pro page.
No. The ArcGIS Engine Developer Kit is available as part of the Desktop .NET SDK through the 10.8.x releases (it is not available at 10.9)
No. ArcObjects code must be rewritten using the Pro SDK to take advantage of the new classes and features in Pro.
No. You must use Python or ModelBuilder.
No.
Yes. They are available since version 2.3. ProConcepts Plugin Datasources
No.
No. The pattern in Pro is to use python to develop your custom functions. Refer to Python Raster Function.