Select to view content in your preferred language

Using Add-in created in SDK3.5 in Arcpro 3.1

147
3
Monday
AliAlkhazraji
New Contributor

Hi all,

I originally created an ArcGIS Pro Add-in using the ArcGIS Pro SDK for .NET version 3.5, targeting ArcGIS Pro 3.5 and .NET 8. The project builds and runs fine in that environment.

However, I now need to rebuild or use the same add-in on a machine running ArcGIS Pro 3.3 (or 3.1) — and I'm running into version compatibility issues.

🔧 What I’ve done:

  • Moved the source code to a new machine with ArcGIS Pro 3.1 installed.

  • Reinstalled the SDK 3.1 .vsix files to avoid template mismatch.

  • Updated the Visual Studio environment and ensured .NET 6 is still targeted.

  • Ensured reference paths point to C:\Program Files\ArcGIS\Pro\bin for 3.1.

:exclamation_mark: Problems:

  • Some referenced assemblies from SDK 3.5 (e.g., ArcGIS.Desktop.KnowledgeGraph, ArcGIS.Desktop.DataGrid.Contrib.Wpf) seem to not exist or are incompatible with SDK 3.1.

  • I'm unsure if code written for SDK 3.5 will always work with 3.1 or 3.3, or if there are API-breaking changes.


:question_mark: My Questions:

  1. What’s the best practice for backporting an ArcGIS Pro add-in from SDK 3.5 to SDK 3.3 or 3.1?

  2. Are there known compatibility issues or API differences that would require code changes?

  3. Is there a reliable way to target multiple SDK versions in the same project?

  4. Are there tools or documentation that list what’s new or removed per SDK version?

Any tips, guidance, or references would be much appreciated!

Thanks in advance!

– Ali

Tags (1)
0 Kudos
3 Replies
Wolf
by Esri Regular Contributor
Esri Regular Contributor

Your approach to move your source code to a previous release version of ArcGIS Pro is correct:

  • You have to move the source code to a development machine with ArcGIS Pro 3.1 installed.

  • You also have to install the matching ArcGIS Pro SDK (3.1 in your case) Visual Studio extensions.

  • You open your Add-in solution in Visual Studio and change the project's 'Target Framework' back to .NET 6.0, clean the project, and then rebuild the project.

  • Use the ArcGIS Pro SDK's 'Pro Fix References' tool (right click on the solution or project file) if the reference path to ArcGIS Pro assemblies changed.

  • It is possible that you get errors when you rebuild the add-in.  Errors can be caused by functionality added by .NET 8.0 (in my test i noticed that the '[]' collection expression is not valid in .NET 6.0) and errors can be caused by functionality added by an ArcGIS Pro release.  In my test (i downgraded from 3.5 to 3.2) and i didn't get any errors by non-existing functions or assemblies of ArcGIS Pro 3.2.  But you can get errors (like your "KnowledgeGraph" depended assembly that were caused by additions to future ArcGIS Pro releases.
  • Once your Add-in builds under the older ArcGIS Pro release you have to update the desktopVersion attribute in the config.daml file to reflect the minimum required version you want your add-in to work with.   See here:  ProConcepts Advanced Topics · Esri/arcgis-pro-sdk Wiki
    "Add-ins and configurations are forwards compatible across all minor versions of ArcGIS Pro. Add-ins and configurations are not forward compatible across major versions (eg 2.x, 3.x, etc). Add-ins and configurations are not backwards compatible across any versions of ArcGIS Pro."

  • Regarding the changes in each release can find the 'What's new' for all editions here:
    Home · Esri/arcgis-pro-sdk Wiki

 

 

AliAlkhazraji
New Contributor

Thank you so much, part of the add-in working now...the one depends on the toolbox, but other part didn't work yet.

0 Kudos
Wolf
by Esri Regular Contributor
Esri Regular Contributor

What is the 'other part' of your add-in doing ?

 

0 Kudos