This document is archived and information here might be outdated.  Recommended version.


Choosing an ArcGIS Desktop project template (ArcObjects .NET 10.6 SDK)
ArcObjects Help for .NET developers > Visual Studio integration > ArcGIS Visual Studio IDE Integration Framework for extending ArcObjects > Choosing an ArcGIS Desktop project template (ArcObjects .NET 10.6 SDK)

Choosing an ArcGIS Desktop project template


Summary
There are several ArcGIS Desktop project templates you can use to start your development efforts. This topic describes the various templates to help you decide which template best fits your project.

In this topic


About ArcGIS Desktop project templates

You can build simple stand-alone applications using ArcObjects components available in ArcGIS Desktop, or you can implement custom components in a class library to customize or extend an ArcGIS Desktop application. There are project templates suitable for both of these scenarios using Visual Studio.
The following screen shot shows the Visual Studio New Project dialog box with the various project templates:

Building stand-alone applications

For stand-alone applications, you can use the following templates:
  • Windows Application—Use the Windows Application template in the New Project dialog box to create stand-alone Windows form applications with embedded geographic information system (GIS) functionality. The output assembly is an executable file (.exe). For visual mapping functionality, the ArcReaderControl and ArcReaderGlobeControl are available with the Publisher extension. These controls can be dragged and dropped on a Windows form designer.

    Examples of ArcGIS Desktop Windows application projects include simple mapping applications, adding GIS functionality to an existing application, and processing GIS datasets.
To build ArcGIS applications using Windows forms that include additional ArcGIS controls (such as the TOCControl, ToolbarControl, SceneControl, GlobeControl, LicenseControl, and SymbologyControl), an ArcGIS Engine Developer license is needed.
  • Console Application—Use the Console Application template to create nongraphical user interface (nonGUI) applications that have GIS functionality. Interaction with this type of application is through the command prompt or the console window. The output assembly is a .exe file. An example of an ArcGIS Desktop console application project is batch processing GIS datasets.

Implementing custom components

For custom components, you can use the following template:
  • Class Library (General)—You can create a class library to embed GIS functionality into other applications. Use the Class Library (General) project template to write a generic class library with custom components to work in any of the ArcGIS Desktop applications (ArcCatalog, ArcMap, ArcScene, or ArcGlobe) or in your custom ArcGIS Desktop application. The output assembly is a dynamic link library file (.dll). Examples of an ArcGIS Desktop class library (general) project include commands, tools, custom layers, and custom geoprocessing tools.
Many of these customizations can be accomplished with an ArcGIS item template. For more information, see Using item templates to extend ArcObjects.
For information about creating a custom command to extend ArcGIS Desktop, see Create a command by inheriting from BaseCommand.

Targeting a specific ArcGIS Desktop application

Four class library project templates are available to use with the ArcGIS Desktop applications (ArcCatalog, ArcMap, ArcScene, and ArcGlobe); one template for each application. When you select one of these templates, the ArcGIS Project wizard shows assemblies that are commonly used in the target application only. The debug application of the project is set to the selected ArcGIS Desktop application (not available in Visual Studio Express editions). The following are the available class library project templates:
  • Class Library (ArcCatalog)—Examples of a Class Library (ArcCatalog) project include a command button that opens a specialized data management dialog box and a custom view to interact with the data in the catalog tree.
  • Class Library (ArcMap)—Examples of a Class Library (ArcMap) project include a command button that zooms to specific predefined bookmarks on the map, a tool to place graphic elements on the map with mouse clicks, and a feature editing tool.
  • Class Library (ArcScene)—Examples of a Class Library (ArcScene) project include a command button that zooms to generate a scene for a specific animation track and a custom mouse interaction procedure for interacting with a track and tool.
  • Class Library (ArcGlobe)—Examples of a Class Library (ArcGlobe) project include a command button that rotates and zooms to specific predefined bookmarks on a globe and a custom tool that creates simple flight paths between two clicked locations on the globe.


See Also:

Using project templates to extend ArcObjects




Additional Requirements
  • ArcGIS Visual Studio IDE Integration Framework, Visual Basic Express, or Visual C# Express edition.

Development licensing Deployment licensing
ArcGIS Desktop Basic ArcGIS Desktop Basic
ArcGIS Desktop Standard ArcGIS Desktop Standard
ArcGIS Desktop Advanced ArcGIS Desktop Advanced