ArcGIS Pro 1.1 SDK for .NET (Visual Studio 2015 Update)
We are pleased to announce an update to our existing ArcGIS Pro SDK for .NET 1.1 to add support for the Visual Studio 2015 IDE. Visual Studio 2015 Professional, Enterprise, and Community Editions are now supported. This is in addition to Visual Studio 2013 which has been supported (and continues to be supported) since our initial 1.1 release.
Developers using the Visual Studio 2015 IDE can now download the 1.1 SDK from within Visual Studio via the Visual Studio Extensions and Updates feature. Visual Studio 2015 support will be available for download on the MyEsri.com website with the ArcGIS Pro 1.2 release. You can find out more information on the ArcGIS Pro SDK for .NET at https://github.com/Esri/arcgis-pro-sdk
Requirements
The requirements for the machine on which you develop your ArcGIS Pro add-ins are listed here.
ArcGIS Pro
- ArcGIS Pro 1.1
Supported platforms
- Windows 8.1 Basic, Professional, and Enterprise (64 bit [EM64T])
- Windows 8 Basic, Professional, and Enterprise (64 bit [EM64T])
- Windows 7 SP1 Ultimate, Enterprise, Professional, and Home Premium (64 bit [EM64T])
Supported .NET framework
- 4.5.2
- 4.5.1
- 4.5
Supported IDEs
- Visual Studio 2015 (Professional, Enterprise, and Community Editions)
- Visual Studio 2013 (Professional, Premium, Ultimate, and Community Editions)
Download
ArcGIS Pro SDK for .NET can be downloaded and installed using either one of the following options:
- Download and install from within Visual Studio
- Download from MyEsri.com (Visual Studio 2013 only)
Read the Installing ArcGIS Pro SDK for .NET section for more information.
Release notes
These release notes describe details of the ArcGIS Pro 1.1 SDK for .NET release. Here you will find information about functionality available in the release and known issues and limitations.
What's new
Support for Visual Studio 2015 is now available for download from within Visual Studio.
Known issues
The following are known issues or limitations with the ArcGIS Pro 1.1 SDK for .NET release.
1. API Reference guide TOC display issues on some desktops
- When you browse to the API Reference guide on some desktop machines, the TOC appears as in the following screen shot:
- The TOC layout has adapted to a touch device. In that mode, the TOC, search, index, etc., are available from the icons on the toolbar at the top of the page. This occurs mainly in the Chrome browser, which sometimes identifies a device as touch capable if you have a touchscreen laptop or are running on a virtual machine.
Workaround
Use this URL to view the API Reference guide when you notice this issue.
2. Add-in is not loaded by Pro when you build it in Visual Studio
- You've deleted the add-in file (*.esriAddinX file) from the
C:\Users\<UserName>\Documents\ArcGIS\AddIns\ArcGISPro
folder. - Without making any code changes, you build the add-in project in Visual Studio and start ArcGIS Pro or click the Start button in Visual Studio to start the debugger.
- Your add-in does not load in ArcGIS Pro.
Workaround
- From the Visual Studio Build menu, click the Rebuild Solution menu item. This will create the add-in file (*.esriAddinX file) under the
C:\Users\<UserName>\Documents\ArcGIS\AddIns\ArcGISPro
folder. When you start ArcGIS Pro, your add-in will now load.
3. Controls do not work in ArcGIS Pro after the add-in project's namespace and/or assembly is changed
- You changed one or more of the following:
- The Assembly name and/or default namespace in your project application properties in Visual Studio
- The namespace in your add-in module and/or add-in class files
When ArcGIS Pro loads your add-in, one or more of the controls defined in your add-in do not work. For example, a new button in your add-in is unresponsive when you click it and becomes permanently disabled.
Fix
One or more of the following conditions may need to be fixed:
- The defaultAssembly and defaultNamespace attributes on the root
ArcGIS
daml element within your Config.daml must be changed to match any changes you made to the corresponding Visual Studio project application properties.
<?xml version="1.0" encoding="utf-8"?>
<ArcGIS defaultAssembly="MyRenamedAssembly.dll" defaultNamespace="MyRenamedAssembly" xmlns="..." xmlns:xsi="..." xsi:schemaLocation="...">
<AddInInfo id="...
....
- If the namespace of an add-in class (in the code file) does not match the
defaultNamespace
attribute of the<ArcGIS>
element in the Config.daml, you must fully qualify theclassName
attribute of its daml element (with "namespace.classname") in Config.daml.
For example: Assume this is the class file of a button. Note the namespace
.
namespace MyRenamedAssembly.Addins {
class Button1 : Button
{
protected override void OnClick() {
Assume this is the Config.daml. Note the <ArcGIS defaultNamespace
.
<!-- the defaultNamespace is MyRenamedAssembly -->
<ArcGIS defaultAssembly="MyRenamedAssembly.dll" defaultNamespace="MyRenamedAssembly" xmlns="...
<!-- the button className attribute is fully qualified -->
<button .... className="MyRenamedAssembly.Addins.Button1" ... />
- Rebuild the add-in project
4. In a Visual Basic add-in, adding two items with the same name (for example, button.vb) in two different project folders causes a conflict in namespace compile error.
Visual Basic does not automatically create the .vb file prepopulated with the namespace. To fix it, open the button.vb in the folder, and enclose the Button class with the namespace. See the following example:
Namespace ProAppModule9.Test
Friend Class Button
Inherits Button
Protected Overrides Sub OnClick()
End Sub
End Class
End Namespace
5. Custom Project Settings - ProjectService::SaveProjectAsync Failed
If the ArcGIS.Desktop.Framework.Contracts.Module overrides for reading and writing custom Add-in project settings are used in an Add-in, the project file can no longer be saved. A message box will be displayed with the error message: ProjectService::SaveProjectAsync Failed.
This will be fixed in 1.1.1
The overrides in question on the Module class are:
protected override Task OnReadSettingsAsync(ModuleSettingsReader settings) {
}
protected override Task OnWriteSettingsAsync(ModuleSettingsWriter settings) {
}