What's new for developers at 10.1?


Summary
This topic provides an overview of the new features and enhancements at ArcGIS 10.1 for developers working with the .NET application programming interface (API) for ArcObjects.


Naming conventions

New naming conventions for ArcGIS products are in place at ArcGIS 10.1. See the following tables for an overview:
End user products and applications
Prior to 10.1
10.1
ArcGIS Desktop
ArcGIS for Desktop
ArcInfo
ArcGIS for Desktop Advanced
ArcEditor
ArcGIS for Desktop Standard
ArcView
ArcGIS for Desktop Basic
ArcGIS Mobile
ArcGIS for Windows Mobile
ArcGIS Mobile for Tablet PCs
ArcGIS for Windows Tablet
ArcGIS for Windows Phone
No change
ArcGIS for Android
No change
ArcGIS for iOS
No change
ArcGIS Mapping for SharePoint
ArcGIS for SharePoint
ArcGIS Server
ArcGIS for Server
ArcGIS Server Advanced Enterprise
ArcGIS for Server Advanced
ArcGIS Server Standard Enterprise
ArcGIS for Server Standard
ArcGIS for Basic Enterprise
ArcGIS for Server Basic
 
ArcGIS Server Advanced Workgroup
ArcGIS for Server Advanced Workgroup
ArcGIS Server Standard Workgroup
ArcGIS for Server Standard Workgroup
ArcGIS Server Basic Workgroup
ArcGIS for Server Basic Workgroup
ArcGIS Explorer
No change
ArcGIS Explorer Online
No change
ArcGIS Explorer Desktop
No change
ArcReader
No change
ArcGIS Viewer for Flex
No change
ArcGIS Viewer for Silverlight
No change
Developer technology
Prior to 10.1
10.1
ArcGIS API for JavaScript
No change
ArcGIS API for Flex
No change
ArcGIS API for Silverlight
No change
ArcGIS API for iOS
ArcGIS Runtime SDK for iOS
ArcGIS API for Android
ArcGIS Runtime SDK for Android
ArcGIS Mobile SDK
ArcGIS Runtime SDK for Windows Mobile
ArcGIS API for Windows Phone
ArcGIS Runtime SDK for Windows Phone
New product
ArcGIS Runtime SDK for Qt
New product
ArcGIS Runtime SDK for WPF
New product
ArcGIS Runtime SDK for Java
New product
ArcGIS Runtime
ArcGIS Engine
No change
ArcGIS Engine Developer Kit
No change
ArcGIS Engine Runtime for Linux
ArcGIS Engine for Linux
ArcGIS Engine Runtime for Windows
ArcGIS Engine for Windows
ArcObjects SDK for the Microsoft .NET Framework
No change
ArcObjects SDK for Java Linux
No change
ArcObjects SDK for Java Windows
No change
ArcObjects SDK for C++ Linux
No change
ArcObjects SDK for C++ Windows
No change
Esri File Geodatabase API
No change

Enumeration changes

To reflect the product and license name changes at 10.1, changes have been made to the esriLicenseProductcode, esriProductCode, and esriLicenseExtensionCode enumerations. The changes have been made to the enumeration description, which will require developers to make changes to their code when recompiling for 10.1. The value of the enumeration remains the same, so this change does not affect previously compiled applications. It is recommended, however, that all solutions be recompiled and fully tested with each release.

License level

The following changes have been made to the esriLicenseProductCode enumeration:
Prior to 10.1
10.1
esriLicenseProductCodeArcView
esriLicenseProductCodeBasic
esriLicenseProductCodeArcEditor
esriLicenseProductCodeStandard
esriLicenseProductCodeArcInfo
esriLicenseProductCodeAdvanced

Product code

The following changes have been made to the esriProductCode enumeration:
Prior to 10.1
10.1
esriProductCodeViewer
esriProductCodeBasic
esriProductCodeEditor
esriProductCodeStandard
esriProductCodeProfessional
esriProductCodeAdvanced

Extension

The following changes have been made to the esriLicenseExtensionCode enumeration:
Prior to 10.1
10.1
esriLicenseExtensionCodeFoundation
esriLicenseExtensionCodeProductionMapping
esriProductCodeFoundation
esriProductCodeProductionMapping
esriLicenseExtensionCodeJTX
esriLicenseExtensionCodeWorkflowManager
esriProductCodeJTX
esriProductCodeWorkflowManager

Architectural modifications

ArcGIS for Server is now a 64-bit application. To support this change, the ArcObjects Primary Interop Assemblies (PIAs), which targeted x86 at version 10, have reverted to their previous MSIL state. Desktop and Engine developers building standalone applications should always set their platform target to x86.

Supported platforms

The following subsections highlight development and deployment platform support changes for ArcGIS 10.1. For complete information on supported platforms, along with hardware and software requirements, see System Requirements.

Visual Studio

At ArcGIS 10.1, .NET development using any edition of Visual Studio 2010 including Express is supported. However, development using other versions of Visual Studio is not supported.

.NET Framework

.NET 3.5 SP1 is a minimum requirement for any .NET development with ArcGIS 10.1. In fact, it is a prerequisite for installing ArcGIS for Desktop or ArcGIS Engine for Windows. 
Additionally, you can use and develop against the .NET 4.0 Framework. If doing so, you need to install the 4.0 Framework in addition to 3.5 SP1, since 4.0 does not include 3.5. For more information on working with .NET 4.0, see .NET 4.0 support for ArcGIS 10.1 Desktop and Engine developers

Primary Interop Assemblies

At 10, the PIAs were changed to specifically target the x86 platform. At 10.1, ArcGIS for Server is a native 64-bit application, while ArcGIS for Desktop and ArcGIS Engine remain 32-bit (x86). As a result, the PIAs have reverted to their previous MSIL state. This allows the same assemblies to be used in both the 32-bit environment of ArcGIS for Desktop and ArcGIS Engine, as well as the 64-bit environment of ArcGIS for Server.

New features

Silent renewal and upgrade switches

Silent renewal and upgrade are now available from the command line for administrators who want to issue those transactions silently.

Add-ins

Add-ins were introduced at 10 as a simple and light-weight method for adding custom functionality to ArcGIS Desktop. For more information, see Building add-ins for ArcGIS Desktop. At 10.1, you can now author add-ins using Python, while .NET and Java continue to be supported languages for authoring add-ins.

Python

Many enhancements have been made to the Python experience for Python developers at 10.1 including an ArcGIS Network Analyst extension module and the ability to use Python to author add-ins for ArcGIS for Desktop. All documentation for working with Python is delivered in the ArcGIS Help.

Server object extensions

A streamlined deployment model is available for server object extensions (SOEs) that leverages the add-in model that was introduced at 10.

Samples  

The following discusses new samples.

Catalog

A number of new samples related to working with Catalog or the Catalog Window are available and include the following:
  • Generate a report (Map and add-in)
  • Browse for Python files
  • Custom GxObject
  • Custom Root Object (Style Gallery)
  • Extent view
  • Text View tab

Geoprocessing

A new Executing tools sample uses the Geoprocessor object to perform a number of geoprocessing operations.

Enhancements and changes to existing libraries

3DAnalyst and 3DAnalystUI

ArcCatalogUI

  • Removed broken and no longer used command—ArcCatalog's old Identify command (ArcCatalogUI\GxTools\IdentifyResultsCommand).

ArcMap and ArcMapUI

  • A number of new types, including IReportDataSource, IReportTemplate, IReportEngine, and Report were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Cadastral and CadastralUI

  • CadastralDataTools, CadastralUnitConversion, ICadastralUnitConversion, and ICadastralUnitTools moved to GeoDatabaseExtensions.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Carto and CartoUI

  • esriTimeRelation moved from Carto to System.
  • IDataFrameShapeDialog moved from CartoUI to CatalogUI.
  • MapDocument and LayerFile classes in Carto have been updated to support new capabilities of WebMaps.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Catalog and CatalogUI

  • GxISCDef, GxISCDefFactory, and IGxISCDef were removed from Catalog.
  • IDataFrameShapeDialog moved from CartoUI to CatalogUI.
  • AGSServerGeneralPage and GxISCDefContextMenu were removed from CatalogUI.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

DataSourceFile and DataSourcesGDB

  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

DataSourcesRaster

  • LASDB.dll moved from DataSourcesRaster to GeoDatabaseExtensions and was renamed 3DToRasterFunctions.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

DefenseSolutions

This assembly is deprecated at 10.1 and will be removed at a later release. Please do not begin any new projects using types in this assembly.

Display and DisplayUI

  • BasicRasterPicture and IRasterPicture moved from Output to Display.
  • RepresentationMarkerSelector and RepresentationRuleSelector moved from Editor to DisplayUI.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Editor and EditorExt

  • RepresentationMarkerSelector and RepresentationRuleSelector moved from Editor to DisplayUI.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

EngineCore and Framework

  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Geodatabase, GeodatabaseDistributedUI, and GeodatabaseUI

  • IFeatureClassStorage2 and the new get_RasterStorage function were added to Geodatabase. In the same way that ArcObjects programmers need to know which ArcSDE DBMS storage type is used to store the geometry of a feature class, they also need to know which ArcSDE DBMS storage type has been used to store the raster data of an ArcGIS geodatabase raster object (raster catalog, raster dataset, or mosaic dataset).
  • A number of other new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

GeoDatabaseExtensions

  • CadastralDataTools, CadastralUnitConversion, ICadastralUnitConversion, and ICadastralUnitTools moved from Cadastral to GeoDatabaseExtensions.
  • LASDB.dll moved from DataSourcesRaster to GeoDatabaseExtensions and was renamed 3DToRasterFunctions.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Geometry, Geoprocessing, GeoprocessingUI, GeoSurvey, and GlobeCore

  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

GISClient

  • At 10.1, you can no longer use ArcObjects remotely (via DCOM); this way of interacting with ArcGIS for Server is no longer supported. If you are using GISServerConnection in the Server library or AGSServerConnection in the GISClient library in your code, these need to be removed if you are working with ArcGIS 10.1 for Server.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

MaplexUI

The MaplexUI assembly has been removed at 10.1 and is no longer available for use.

NetworkAnalyst

The NAServer class has the following changes:
  • New TimeOfDay and TimeOfDayUsage properties add the ability to solve analysis using historical and real-time traffic.
  • NAServer now works with msd-based map services.
  • ArcGIS 10.1 for Server no longer supports access via DCOM connections. NAServer can no longer be used for such connections.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Output and OutputUI

  • BasicRasterPicture and IRasterPicture moved from Output to Display.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Schematic and SpatialAnalyst

  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Server

  • At 10.1, you can no longer use ArcObjects remotely (via DCOM); this way of interacting with ArcGIS for Server is no longer supported. If you are using GISServerConnection in the Server library or AGSServerConnection in the GISClient library in your code, these need to be removed if you are working with ArcGIS 10.1 for Server.
  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

System and SystemUI

  • AfLockMgr, AppLockMgr, IAfLockMgr, and IAppLockMgr have been removed from System.
  • esriTimeRelation moved from Carto to System.
  • The AoAuthorizeLicense class has been added to System to enable members of the Esri Partner Network with OEM sales authorizations to authorize their third party applications.
  • IArcGISSingleSignon2 was added to SystemUI. This exposes the GetBingToken method.
  • A number of other new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

TrackingAnalyst

  • A number of new types were added. See the Type Changes between ArcGIS 10 and ArcGIS 10.1 topic for the complete list.

Deprecations and removals

DefenseSolutions

This assembly is deprecated at 10.1 and will be removed at a later release. Please do not begin any new projects using types in this assembly.  

MaplexUI

The MaplexUI assembly has been removed at 10.1 and is no longer available for use.

Remote use of ArcObjects (via DCOM)

At 10.1, you can no longer use ArcObjects remotely (via DCOM); this way of interacting with ArcGIS for Server is no longer supported. If you are using GISServerConnection in the Server library or AGSServerConnection in the GISClient library in your code, these need to be removed if you are working with ArcGIS 10.1 for Server.