Hi,
I'm converting tools from 2.8 and 3.1 to 3.2. The ones I have done from 3.1 to 3.2 have all worked fine. They were all originally at 2.8 and moved to 3.1, so I am fairly familiar with the migrate process.
I am now converting the rest of our tools from 2.8 to 3.2 and this first one is giving me issues. I run all the usual migrate processes: update the references and the migrate the code. I check everything and then run the tool in debug mode. I get no errors, but in ArcPro I cannot see the tool....it's like it's not registered with the software. It is sitting in my "Add-Ins" folder. Here is my config.daml. Can anyone see any issues or know of something else I need to be looking for??
<?xml version="1.0" encoding="utf-8"?>
<ArcGIS defaultAssembly="ToFromTool_ArcPro.dll" defaultNamespace="ToFromTool_ArcPro" xmlns="http://schemas.esri.com/DADF/Registry" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.esri.com/DADF/Registry file:///C:/Program%20Files/ArcGIS/Pro/bin/ArcGIS.Desktop.Framework.xsd">
<AddInInfo id="{6b41516a-b426-4b2c-9881-fa4148328d3a}" version="3.2" desktopVersion="3.2.0.49743">
<Name>To-From Tool</Name>
<Description>Sets the To and From attribute for selected features.</Description>
<Image>Images\ToFrom.png</Image>
<Author>Brian Bulla</Author>
<Company>Region of Durham</Company>
<Date>May 13, 2024</Date>
<Subject>Framework</Subject>
<!-- Note subject can be one or more of these topics:
Content, Framework, Editing, Geodatabase, Geometry, Geoprocessing, Layouts, Map Authoring, Map Exploration -->
</AddInInfo>
<dependencies>
<dependency name="{9466cc69-3fce-4774-8134-d94377460abd}" />
<!-- id of "DSM_Toolbar_ArcPro" -->
</dependencies>
<modules>
<insertModule id="ToFromTool_ArcPro_Module" className="Module1" autoLoad="false" caption="Module1">
<!-- uncomment to have the control hosted on a separate tab-->
<tabs>
<!--<tab id="ToFromTool_ArcPro_Tab1" caption="New Tab">
<group refID="ToFromTool_ArcPro_Group1"/>
</tab>-->
</tabs>
<groups>
<!-- comment this out if you have no controls on the Addin tab to avoid
an empty group-->
<!--
<group id="ToFromTool_ArcPro_Group1" caption="Group 1" appearsOnAddInTab="true">
-->
<!-- host controls within groups -->
<!--
<button refID="ToFromTool_ArcPro_btnToFromTool" size="large" />-->
<!--</group>-->
</groups>
<controls>
<!-- add your controls here -->
<button id="ToFromTool_ArcPro_btnToFromTool" caption="To-From Tool" className="btnToFromTool" loadOnClick="true" smallImage="Images\ToFrom.png" largeImage="Images\ToFrom.png">
<tooltip heading="To-From Tool">Populates the UPSTREAM and DOWNSTREAM attributes for Water, Sanitary and Storm.<disabledText /></tooltip>
</button>
</controls>
</insertModule>
<updateModule refID="DSM_Toolbar_ArcPro_Module">
<groups>
<updateGroup refID="Editing_Tools_group">
<insertButton refID="ToFromTool_ArcPro_btnToFromTool"></insertButton>
</updateGroup>
</groups>
</updateModule>
</modules>
</ArcGIS>
In regards to the AddInfo line:
<AddInInfo id="{6b41516a-b426-4b2c-9881-fa4148328d3a}" version="3.2" desktopVersion="3.2.0.49743">
The version sets the lowest level that the add-in will run in. In your case ArcGIS Pro 3.2 or higher will be required before the Add-In can load/run. The desktopVersion should represent the version that you did your Visual Studio build against.
I see you are using the <dependency> tag, did you change any GUIDs?
<dependencies> <dependency name="{9466cc69-3fce-4774-8134-d94377460abd}" /> <!-- id of "DSM_Toolbar_ArcPro" --> </dependencies>
Hi,
No, the GUID was not changed, and as for the version I have also tried it with just "3.2"....that has worked with all my other successful tools I migrated to 3.1 and then just updated the version to "3.2".
This is the first 2.8 tool I've actually migrated to 3.2 (ie. not 3.1 and then 3.2). Is there maybe a glich with the conversion tools to 3.2??
Recall there were several breaking changes between 2.8 and 3.1 versions of ArcGIS Pro. I would start by looking at your.Net dependencies in Visual Studio since Pro 3 requires .Net Desktop Runtime 6.0.9 or higher while 2.8 ran under .Net 4.8.
When you say, in my Add-Ins folder, are you sure this folder is set in the registry at HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGISPro\Settings\Add-in Folders with a subkey with the path to the add-in?
After a successful build I copy the Add-In to a well known location to Test. The folder name of the add-in use the GUID, and inthe folder is your .\images subfolder, myaddin.esriAddinX, myaddin.deps.json, myaddin.dll, myaddin.xml, etc.
Hi,
Yes, the AddIn is in the folder...see the image below, along with all the other ones I have converted. It's just not showing up in ArcPro (all the other ones are showing up).
In my Registry, things are looking a bit different than in your screenshot, but if the other AddIns are getting added, I'm not totally sure that this is really the issue. I think in ours you are using a custom location, where in mine I am just using the default location....I think that is why I do not see anything here.
As for the Target Framework, everything looks good there. The Migration Tool upgraded it to .NET 6.0, so all looks to be good there.
I have more tools to migrate, so I will try another one and see if I have this same issue.
The desktopVersion attribute in the AddInInfo tag in your config.daml determines whether an add-in is included by the current version of ArcGIS Pro. In essence 'desktopVersion' has to be less than the current version of ArcGIS Pro. However, the version in desktopVersion doesn't include the patch version number i.e. ArcGIS Pro version 3.2.1 will work with desktopVersion 3.2
<AddInInfo id="{e1515785-a28f-44f5-9c13-9f6eaab0434f}" version="1.0" desktopVersion="3.2.49743">
I would suggest changing the desktop version number. Make sure that the esriaddinx file in your Add-in folder is replaced after you rebuilt your add-in.
Hi @Wolf . Yes, I have tried that but to no avail. Whether I use just "3.2" or use the number that gets set by default during the migration process ("3.2.0.49743"), it doesn't seem to get detected by ArcGIS Pro.
Is there anything else I should be looking for?