English

FAQ: What are some best practices for developing .NET add-ins for different versions of ArcMap?

Question

What are some best practices for developing .NET add-ins for different versions of ArcMap?

Answer

When developing add-ins, it is vital to ensure the add-in runs as expected in different versions of ArcMap. This article discusses some best practices to ensure add-ins work successfully in more than one version of ArcMap.

A. Compile the add-in in the oldest version of ArcMap that supports add-in installation
Since add-ins are designed to be forward compatible, compiling an add-in in ArcMap 10.1 allows the add-in to be used in ArcMap 10.2, 10.3, and 10.4, and so forth. The steps below help to ensure add-ins can be built successfully in newer versions of ArcMap.

  1. In the Config.esriaddinx file, update the line, as shown in the example below, by changing the version number to the current version of ArcMap used.
Code:
<Targets><Target name="Desktop" version="10.1" /></Targets>
  1. Select all Esri references in the Solution Explorer of Visual Studio, and right-click the selected references.
  2. Set the Specific Version property to 'False' for the references.
In some instances, add-ins built in older versions of ArcMap may not run in newer versions due to Type changes. For more information on Type changes, refer to ArcObjects Help for .NET: Type Changes between ArcGIS 10.1 and ArcGIS 10.2.
Warning:
Add-ins do not work in newer versions of ArcMap if there are major changes in the add-in project's dynamic link library (DLL) files. 

B. Test the add-in in separate testing environments to confirm that the add-in works in different versions of ArcMap
The add-in compiled in ArcMap 10.1 can be tested on separate machines installed with ArcMap 10.2, 10.3, or 10.4 to check whether the add-in works as expected. However, it is not possible to install separate versions of ArcMap products side-by-side. If testing cannot be done on separate machines, it is best to have virtual machine (VM) snapshots for each version test.

C. Commonly encountered .NET add-in issues

Related Information