In this topic
About ArcObjects namespace reference
Some ArcObjects namespaces that are available to ArcObjects developers are shared with ArcGIS Desktop, ArcGIS Engine for Windows, and ArcGIS for Server. Other libraries, composed mostly of user interface (UI) components, are only available in ArcGIS Desktop. Remember the following:
- Each ArcObjects library is provided as a .NET assembly. As such, this topic refers to them as assemblies to match .NET conventions.
- Knowing the dependencies of each assembly on other assemblies is important, since it affects the way developers interact with the assemblies as they develop software. Understanding the dependencies also helps when deploying your developments.
Shared assemblies
The shared assemblies are available to ArcGIS Desktop, ArcGIS Engine, and ArcGIS for Server developers. They are listed in the following table in dependency order. Click the links to navigate to a more detailed overview of each assembly:
Shared assemblies |
Deployment notes |
The Version assembly contains functionality used to bind stand-alone applications to a particular ArcGIS product. |
|
The System assembly is the lowest-level library in the ArcGIS architecture and contains components that expose services used by the other libraries comprising ArcGIS. | |
The SystemUI assembly mainly defines types used by UI components in the ArcGIS system. Interfaces, such as ICommand and ITool, are defined in this assembly. Implementation of these types is normally done in one or more libraries higher in the architecture. | |
The Application Developer Framework (ADF) assemblies (including ADF, ADF.Local, ADF.Core, ADF.Connection, ADF.Connection.Local, and ADF.Connection.Core) provide the .NET base classes, component category unique IDs (CATIDs), and utility classes previously delivered in the Utility assembly that was deprecated for the ArcGIS 9.2 release. |
These assemblies replaced the Utility assembly from 9.2. At ArcGIS 10, the ADF.Local assembly replaced the ADF assembly for .NET Desktop and Engine development. |
The Geometry assembly contains the core geometry objects, such as Point, Polygon, and Polyline, along with Geometry types and definitions. The Geometry assembly also defines and implements the spatial reference objects for both projected and geographic coordinate systems. | |
The Display assembly contains the components that support drawing symbology to an output device. Screen displays, symbols, colors, and feedback objects, along with their supporting objects, are defined in the assembly. | |
The Server assembly contains the objects used to obtain a connection to ArcGIS for Server. The connection is managed via the objects in this library, but objects from other libraries can be created by using functions on the server object. | |
The Output assembly contains the objects required to generate output - most commonly from Maps or PageLayouts - to both printers and plotters or exporting to files. | |
The Geodatabase assembly contains types for all the definitions relating to data access. Features, tables, networks, and triangulated irregular networks (TINs) are all defined in the Geodatabase assembly. The implementation of many of the types is contained in the respective DataSource assembly. | |
The GISClient assembly contains objects for working with remote geographic information system (GIS) services. These services can be provided by ArcIMS or ArcGIS for Server. | |
The DataSourcesFile assembly contains the workspace factories and workspaces for vector data formats supported by the geodatabase application programming interface (API). | |
The DataSourcesGDB assembly contains the workspace factories and workspaces for vector and raster data formats supported by the geodatabases stored in a relational database management system (RDBMS). | |
The DataSourcesOleDB assembly provides workspaces to work with Object Linking and Embedding database (OLE DB) data sources. | |
The DataSourcesRaster assembly contains the workspace factories and workspaces for file-based raster data formats. | |
The DataSourcesNetCDF assembly contains objects used for accessing network Common Data Form (netCDF) files and for creating rasters, features, or tables from netCDF variables in ArcGIS. | |
The GeoDatabaseDistributed assembly contains the objects required to perform checkout/check-in to support distributed geodatabases. | |
The GeoDatabaseExtensions assembly contains objects to aid in the creation, management, and use of terrain datasets and cadastral fabrics. | |
The Carto assembly contains objects for displaying data. PageLayout and Map objects are in this library along with map layers and renderers for all the supported data types. This assembly also contains the MxdServer and MapServer objects used by servers to display map data in a client/server environment. | |
The DefenseSolutions assembly contains objects for building defense applications that provide military symbology, coordinate conversion, creation of geodetically correct geometries, and other defense analysis tools. |
Requires the Military Analyst or Military Overlay Editor extension. |
The NetworkAnalysis assembly supports the creation and analysis of utility networks. | |
The Location assembly contains objects related to working with location data. This can be route events or geocoding locations. | |
The GeoAnalyst assembly contains core spatial analysis operations used by the ArcGIS Spatial Analyst and 3D Analyst extensions. | Requires the ArcGIS 3D Analyst or ArcGIS Spatial Analyst extension. |
The Animation assembly contains objects to work with animations in Map, Scene, and Globe. | In ArcGIS Desktop, the animation functionality is available in the ArcMap, ArcScene, and ArcGlobe applications. However, when working with ArcGIS Engine, animation functionality is not available for the MapControl. It is only available for the SceneControl and GlobeControl supported with the ArcGIS 3D Analyst extension. |
The Geoprocessing assembly implements the geoprocessing framework in addition to the base set of geoprocessing tools. The available tools depend on the licenses available to you. See the individual tools for specific license information. |
Some geoprocessing tools and functionality require an extension license. See the documentation for each tool for specifics. |
The Geoprocessor managed assembly provides .NET wrappers for some of the capabilities available through the Geoprocessing assembly. |
|
The DataInterop assembly implements the non-user interface functionality of the ArcGIS Data Interoperability extension. The Data Interoperability extension enables ArcGIS users to directly read and import more than 75 spatial data formats and export more than 50. |
Requires the Data Interoperability extension. |
The NetworkAnalyst assembly provides objects for working with network datasets. These objects allow you to perform network analysis in your applications. | Requires the ArcGIS Network Analyst extension. |
The Schematic assembly implements the non-user interface functionality of the ArcGIS Schematics extension. It handles the core objects of the ArcGIS Schematics extension used to manage schematic data and processes. The Schematics extension supports the analysis, display, and manipulation of schematic data in ArcGIS. | Requires the ArcGIS Schematics extension. |
The SchematicControls assembly provides a set of commands that work with the ArcGIS Engine controls to enable building Schematic applications. |
Requires the ArcGIS Schematics extension. |
The SpatialAnalyst assembly contains objects for performing spatial analysis on raster and vector data. | Requires the ArcGIS Spatial Analyst extension. |
The 3DAnalyst assembly contains objects for performing 3D analysis of data along with support for displaying 3D data. | Requires the ArcGIS 3D Analyst extension. |
The GlobeCore assembly contains objects for performing analysis of globe data along with support for displaying globe data. A control is available in this assembly for developers to use. | Requires the ArcGIS 3D Analyst extension. |
The EngineCore assembly contains objects that allow developers to build and manage collections of graphics in a map or globe. |
|
The Controls assembly contains controls for application development including commands and tools for use with the controls. |
Applications that utilize the GlobeControl or SceneControl require the ArcGIS 3D Analyst extension.
An ArcGIS Engine Developer Kit license is required to develop with the controls. |
The TrackingAnalyst assembly implements the non-user interface functionality of the ArcGIS Tracking Analyst extension to ArcMap. The Tracking Analyst extension supports the display, analysis, and manipulation of temporal data within ArcGIS. | Requires the ArcGIS Tracking Analyst extension. |
Assemblies exclusive to ArcGIS Desktop
The assemblies below are only available to the ArcGIS Desktop developer. They are listed in the following table in dependency order. Click the links to navigate to a more detailed overview of each assembly:
Exclusive assemblies |
Deployment notes |
The Framework assembly provides core components to support UI components and applications. | |
The Desktop.Addins assembly provides the foundation for the add-in customization model - the recommended way to create .NET customizations for ArcGIS applications. |
|
The GeoDatabaseUI assembly provides user interfaces, including property pages, to support objects contained in the Geodatabase assembly. | |
The DisplayUI assembly provides user interfaces, including property pages, to support objects contained in the Display assembly. | |
The OutputUI assembly provides user interfaces, including property pages, to support objects contained in the Output assembly. | |
The Catalog assembly contains objects and defines interfaces to support data catalogs. | |
The CatalogUI assembly provides user interfaces, including property pages, to support objects contained in the Catalog assembly. | |
The CartoUI assembly provides user interfaces, including property pages, to support objects contained in the Carto assembly. | |
The DataSourcesRasterUI assembly provides user interfaces, including property pages, to support objects contained in the DataSourcesRaster assembly. | |
The ArcCatalog assembly contains the ArcCatalog application including the GxApplication object. | |
The ArcCatalogUI assembly provides user interface components specific to the ArcCatalog application. | |
The ArcMap assembly contains the ArcMap application including the Application object. | |
The ArcMapUI assembly provides user interface components specific to the ArcMap application. | |
The AnimationUI assembly implements user interface functionality that supports animations in ArcMap, ArcGlobe, and ArcScene. | |
The Editor assembly implements the ArcMap object editor including topological display and editing as well as editing feature geometry and attributes. The assembly supports both a user interface and a programming API that allow developers to extend the core functionality of the editor with their own editing commands and tasks. | |
The GeoReferenceUI assembly provides objects to rectify spatial data into a known coordinate system. | |
The EditorExt assembly contains an extension to the ArcMap Editor and components dependent on the Editor. | |
The LocationUI assembly provides user interfaces, including property pages, to support objects contained in the Location assembly. | |
The GeoDatabaseDistributedUI assembly provides user interfaces, including property pages, to support objects contained in the GeodatabaseDistributed assembly. | |
The GeoprocessingUI assembly provides user interfaces to support objects contained in the Geoprocessing library. | |
The OutputExtensions assembly extends the core output functionality with more advanced output capabilities. Depending on the components used from the assembly, an extension license may be required (see the individual objects for more information). | |
The OutputExtensionsUI assembly provides user interfaces, including property pages, to support objects contained in the OutputExtensions assembly. | |
The ArcScan assembly supports the ArcScan raster-to-vector conversion extension to ArcMap. | ArcScan for ArcGIS is included with ArcGIS Desktop Standard and Advanced. |
The NetworkAnalystUI assembly provides objects for working with the Network Analyst extension in ArcMap. The assembly supports a number of objects that a developer can use; NetworkAnalystExtension, NAWindow, and a few geoprocessing objects are defined in the assembly. | Requires the ArcGIS Network Analyst extension. |
The SpatialAnalystUI assembly provides user interfaces, including property pages, to support objects contained in the SpatialAnalyst assembly. | Requires the ArcGIS Spatial Analyst extension. |
The SchematicUI assembly provides user interfaces to support objects contained in the Schematic assembly. The ArcMap and ArcCatalog Schematics extension object is implemented by this assembly. | Requires the ArcGIS Schematics extension. |
The 3DAnalystUI assembly provides user interfaces, including property pages, to support objects contained in the 3DAnalyst assembly. These user interface components normally run in ArcMap and ArcScene. | Requires the ArcGIS 3D Analyst extension. |
The ArcScene assembly contains the ArcScene application including the SxApplication and SxDocument objects. | Requires the ArcGIS 3D Analyst extension. |
The GlobeCoreUI assembly provides user interface components specific to the ArcGlobe application; in addition, this assembly provides user interface support for objects contained in the GlobeCore assembly. | Requires the ArcGIS 3D Analyst extension. |
The ArcGlobe assembly contains the ArcGlobe application including the GMxApplication and GMxDocument objects. | Requires the ArcGIS 3D Analyst extension. |
The DataInteropUI assembly implements the user interface functionality of the ArcGIS Data Interoperability extension. The Data Interoperability extension enables ArcGIS users to directly read and import more than 75 spatial data formats and export more than 50. |
|
The GeoStatisticalAnalyst assembly implements the non-user interface functionality of the Geostatistical Analyst extension. The Geostatistical Analyst extension enables ArcGIS users to apply many different interpolation techniques (both deterministic and geostastical) to their data. |
Requires the ArcGIS Geostatistical Analyst extension. |
The GeoStatisticalAnalystUI assembly implements the user interface functionality of the ArcGIS Geostatistical Analyst extension. The Geostatistical Analyst extension enables ArcGIS users to apply many different interpolation techniques (both deterministic and geostatistical) to their data. |
Requires the ArcGIS Geostatistical Analyst extension. |
The Publisher assembly implements the non-user interface (UI) functionality of the ArcGIS Publisher extension. It can be used for the creation and packaging of Published Map Files (PMFs) and the creation of customized ArcReader applications. |
|
The PublisherControls assembly contains two ActiveX controls (ArcReaderControl and ArcReaderGlobeControl) that aid in the creation of customized ArcReader applications. | Requires the ArcGIS Publisher extension. |
The PublisherUI assembly provides user interfaces, including property pages and extensions to the ArcMap and ArcCatalog applications, to support objects contained in the Publisher assembly. | Requires the ArcGIS Publisher extension. |
The TrackingAnalystUI assembly provides user interfaces, including property pages along with commands and tools, to support objects contained in the TrackingAnalyst library. | Requires an ArcGIS Tracking Analyst extension license. |
The GeoSurvey assembly contains the GeoSurvey Engine, a library of classes that builds and manages a structure created from the cadastral fabric. The GeoSurvey Engine also includes classes that process data within the structure, updating the positions of the coordinates it holds. |
|
The Cadastral assembly provides objects for importing control point and land parcel data into the Cadastral Fabric. The assembly also includes types for managing the feature classes that are associated with the cadastral fabric and that are part of the Feature Adjustment structure. |
|
The CadastralUI assembly provides user interfaces for the Cadastral Editor environment, including Job Book, Job Manager, Control points, Parcel Explorer, and Map layers. This assembly is also used to exchange data between the UI in ArcMap and the GeoSurvey Engine, and to get the database locks needed before edits can be made within the Job Management model of the cadastral fabric. |