ArcGIS Runtime SDK for .NET

Create a Local Server deployment

Local services allow you to deploy services that run locally with your app to provide functionality like geoprocessing, routing, and so on. In ArcGIS Runtime SDK for .NET, local services are only available for Windows Presentation Framework (WPF) apps. An app built for another ArcGIS Runtime for .NET platform can use such functionality from an online service, but not locally.

Deploying Local Server

The first time you build a project that uses Local Server, a deployment manifest file will be created in your project directory (ArcGISLocalServer_100.3.AGSDeployment).

Note:

The Local Server deployment file is created in your project directory, but is not added to your Visual Studio project. To see it listed in the Solution Explorer window, you will need to choose to Show All Files.

This is an XML-formatted text file that defines the components (listed as Package elements) of Local Server to deploy for your app. The two top-level Package elements in the file provide the ability to read map and geoprocessing packages produced from ArcGIS Pro or ArcMap respectively. Under each of those parent elements are child Package elements that provide specific functionality for that data format, such as geoprocessing or Python scripting support. By default, only the ArcMap Local Server component is included. To include additional capabilities (either within the ArcMap Local Server or to add ArcGIS Pro support), you need to edit this file manually. Only those Local Server packages with an enabled value of true are included in the deployment. The following configuration setting adds support for ArcGIS Pro map and geoprocessing packages (only available for 64-bit deployments).
<!--This local server has support for ArcGIS Pro mpkx and gpkx packages. It is 64 bit only-->
<Package id="Pro" name="ArcGIS Pro Compatible Server" enabled="true">
Note:

If you choose to include the ArcGIS Pro compatible Local Server with your deployment, but are not building for 64-bit, you will receive a build error. To include ArcGIS Pro support, your project must be set to build for x64 or Any CPU with the prefer 32-bit option unchecked.

When you build your project, the components you have enabled in the deployment file will be included in the output for the platform(s) you're building. If building for 64-bit, for example, the requested Local Server components will be copied to your project's output folder under LocalServer100.x\64\.. If building for Any CPU (and Prefer 32-bit is unchecked in your project build properties), you will have a 32 and a 64 folder under the LocalServer100.x parent folder.

Local Server deployment folders

Apart from installing the Local Server SDK and ensuring you have edited the .AGSDeployment file to include the components you need, there are no additional steps for deploying Local Server capabilities for your ArcGIS Runtime SDK for .NET app.

Caution:

If you run local services based on map documents, and those map documents use third-party fonts, then you must make sure that those third-party fonts are installed on each client machine where those services will run. Otherwise, the corresponding local service may fail to start or may fail to render symbols that use those fonts.

ArcGIS Runtime components

The ArcGIS Runtime components available to include in your Local Server deployment are described in the following table. In the ArcGISLocalServer_100.x.AGSDeployment file, these appear as Package elements and are available for both ArcGIS Pro and ArcMap Local Servers.

Option (ArcGIS Pro Package ID, ArcMap Package ID)Description

Local Server (Pro, ArcMap)

Required if your application uses any local services. This is enabled by default when you initially add the Local Server package to your project.

Microsoft C and C++ Runtime Libraries (ProCRuntime, ArcMapCRuntime)

Including Microsoft C and C++ libraries in the runtime deployment allows for XCopy style deployments. Only include these if your setup is not installing the Microsoft redistribution package.

Geoprocessing (ProGeoprocessing, ArcMapGeoprocessing)

Available child packages

  • 3D Analyst extension (Pro3DAnalyst, ArcMap3DAnalyst): Required for any geoprocessing packages that make use of 3D Analyst tools.
  • Geocoding (ProGeocoding, ArcMapGeocoding): Provides the ability to use ArcGIS Locators.
  • Map packaging (ProMapPackaging, ArcMapMapPackaging): Adds data consolidation, map packaging and create runtime content tools.
  • Map Server Results (ProMapServerResults, ArcMapMapServerResults): Required to add geoprocessing results as map services.
  • Network Analyst extension (ProNetworkAnalyst, ArcMapNetworkAnalyst): Required for any geoprocessing packages that make use of Network Analyst tools.
  • Spatial Analyst extension (ProSpatialAnalyst, ArcMapSpatialAnalyst): Required for any geoprocessing packages that make use of Spatial Analyst tools.

Provides the ability to perform geoprocessing tasks via geoprocessing packages. For a list of supported tools, see Supported geoprocessing tools.

You may need to also enable some of the available child packages to provide support for additional geoprocessing functionality, such as Network or 3D analysis.

Python Scripting (ProPythonScripting, ArcMapPythonScripting)

Provides the ability to use Python scripts.

Additional data formats (ProAdditionalDataFormats, ArcMapAdditionalDataFormats)

Available child packages

  • Raster (ProRaster, ArcMapRaster): Provides additional raster file data format support. For a list of supported rasters, see Supported raster dataset file formats.
    • ECW Rasters (ProECWRasters, ArcMapECWRasters)
    • Mosaic Rasters (ProMosaicRasters, ArcMapMosaicRasters)
  • Vector (ProVector, ArcMapVector): Provides additional vector file data format support such as the ability to use shapefiles.
  • SDE (ProSDE, ArcMapSDE): Adds support to allow you to connect directly to enterprise geodatabases. This option must be selected in conjunction with at least one of the following DBMSs: Alitbase, Dameng, DB2, Informix, Netezza, Oracle, PostgreSQL, SAP HANA, SQL Server, SQLite, or Teradata. The drivers for the specified database must be present on the target machine.

Provides additional vector file data format and raster file data format support. Enable the appropriate child packages for the formats your app needs to support.

Additional projection engine transformations (ProAdditionalProjectionEngineTransformations, ArcMapAdditionalProjectionEngineTransformations)

Adds additional projections and geotransformations. For more information on coordinate systems, see Spatial references.

Debug (ProDebug, ArcMapDebug)

Available child packages

  • Logging (ProLogging, ArcMapLogging): Supports writing log messages from your running app.

Supports debugging of your deployed app. Should be used for testing only, and not included in your final app deployment.