ArcGIS Runtime SDK for .NET

Release notes for 100.3.0

Version 100.3.0 of ArcGIS Runtime (also known as Update 3) is a significant update, with a focus on performance improvements, greater parity with the full ArcGIS platform, and support for 3D Web GIS. This page provides details about these improvements and describes additional enhancements. It also lists deprecations, resolved issues, and known issues.

For release notes for the previous release, see Related topics near the bottom of this page.

Enhancements

This section describes new features and improvements.

Support for .NET Standard

This release adds support for building components that reference ArcGIS Runtime functionality and target .NET Standard 2.0 for use with your UWP, WPF, Xamarin.Android, Xamarin.iOS, and Xamarin.Forms (Android, iOS, and/or UWP) applications. To build and use a component that targets .NET Standard 2.0:

  • Add a reference to the Esri.ArcGISRuntime NuGet package to your component project.
  • From your application project(s), add a reference to the Esri.ArcGISRuntime NuGet package. This will ensure the required ArcGIS Runtime components are deployed for your applications.

The introduction of support for .NET Standard 2.0 in Esri.ArcGISRuntime required updates to the minimum requirements:

  • UWP:
    • Microsoft.NETCore.UniversalWindowsPlatform 6.0.4 or later
    • Windows 10 Version 1709 (OS Build 16299) (Fall Creators Update) or later
    • Visual Studio 2017 15.4 or later
  • WPF: Microsoft .NET 4.6.1 or later
  • Xamarin.Android: 8.0 or later (latest Stable channel recommended)
  • Xamarin.iOS: 10.14 or later (latest Stable channel recommended)
  • Xamarin.Forms: 3.0 or later and Microsoft .NET Framework 4.7.1 or later (latest recommended)

Preparing to update:

  • We recommend upgrading your projects from project.json to PackageReference.
  • WPF: Ensure your project targets Microsoft .NET Framework 4.6.1 or later.
  • Xamarin Forms: Update your project to reference Xamarin.Forms 3.0 or later. Note: Xamarin.Forms version 3.0 requires Visual Studio 2017 15.4 minimum.
  • UWP:
    • Set your project Target version and Min version to 16299 or later.
    • Update your project reference for Microsoft.NETCore.UniversalWindowsPlatform is 6.0.1 or later.

Web scenes

As part of the improved support for 3D Web GIS capabilities of the ArcGIS Platform, you can now display web scenes from ArcGIS Online or ArcGIS Enterprise in your ArcGIS Runtime based apps. Web scenes can be quickly authored by apps such as ArcGIS Pro and Scene Viewer and then easily consumed by your apps, respecting the content, symbology, pop-ups and other settings that the author configured in the web scene. For more information about Runtime support for web scenes, see Runtime support for web scenes.

In addition, 3D content originating from scene layers can now be identified and selected, and their display can be customized through renderers in the web scene. And feature layers can be displayed with 3D symbols originating from web styles in ArcGIS Online or ArcGIS Enterprise.

Scene analysis

  • Interactive distance measuring is now supported in 3D. You can measure horizontal, vertical, and direct distances between two locations in a scene view.
  • Viewshed analysis has been enhanced to support full 360 degrees horizontal field of view. Previously, only a maximum of 120 degrees was supported.
Note:

In previous versions, offsets for scene analysis, such as viewshed and line of sight, were incorrectly applied from the center of the model symbol. Rather, the scene analysis offsets should have been applied from the geometry location. This has now been resolved and there may be some cases where offsets used by your analysis may need to be changed or removed.

Scene view memory management

Scene view has been enhanced to keep memory utilization under a threshold when working with large amounts of 3D content on Android devices to prevent the application from running out of memory. The default limit is calculated on the basis of total system memory available and is shared by all scene views in the application. You can choose to override the limit through the MemoryLimit setting on the scene view. Refer to the API reference for more details.

Arcade

Arcade expressions are now supported:

  • In pop-ups for layer types (for example, feature layers) that support pop-ups. They're defined using the expression property on a pop-up definition.
  • In label definitions for feature layers and graphic overlays. They're defined in JSON using the expression property on the labelExpressionInfo object.
  • In visual variables within renderers defined for feature layers in web maps and mobile map packages. Feature layers must be rendered in static mode to honor visual variables in renderers.

See this SDK's API reference for details on using Arcade. For general information on Arcade and Arcade's function reference, see the ArcGIS Arcade guide.

WMS

WMS support has been enhanced:

  • WMS layers are now time aware and support filtering their contents based on a time range or time instant.
  • You can discover available styles in the service and set the style of a layer to customize its display.
  • You can now specify custom parameters to be sent to the service. This is useful, for instance, if the service requires custom authorization parameters in the HTTP requests.
  • WMS layers now automatically display attribution information of the service in a map view or scene view .

Labeling

Improvements have been made to provide finer control over label placement. These refinements allow for a more consistent display of labels when using mobile map packages (.mmpk files) generated from ArcGIS Pro. You can now do the following:

  • Allow overlap of a label with other features or labels based on weights to assign relative importance and define priorities when there is a conflict
  • Specify an offset distance of a label from the symbol based on screen units.
  • Stack multiple lines of text with custom line separators and choose whether line break should occur before or after the separator, whether the separator should be visible, etc. Previously, only whitespace characters were considered for inserting line breaks.

Query support for map image layer

You can now query sublayers and tables from a map image layer in the same way you query feature layers. The query can be based on attributes and/or spatial relationships and can also be used to return summary statistics or related features. Also, a new method has been added to conveniently load all the sublayers and tables contained in the layer so that their data can be accessed.

Military symbology

Support for App-6(B) and App-6(D) military symbology specifications has been added. You can use the corresponding style files to display symbols based on these standards in your ArcGIS Runtime apps.

Guide documentation

  • Expanded and reorganized layers topics. A new table summarizes supported layers and their capabilities.
  • Expanded and reorganized map and scene documentation.

Breaking changes

.NET Standard defines System.Drawing.Color as the primary color API. ArcGIS Runtime SDK for .NET now follows this pattern and uses System.Drawing.Color in place of Windows.UI.Colors on UWP and System.Windows.Media on WPF.

Deprecations

Support for development of UWP apps for the ARM32 architecture is deprecated.

Support within Visual Studio 2015 for project templates (WPF, Xamarin.Android, and Xamarin.iOS) and local NuGet repository is deprecated. NuGet packages can be referenced within Visual Studio 2015 from NuGet.org or downloaded to the existing Esri local NuGet repository ( %localappdata%\Esri\NuGet). A minimum of Visual Studio 2017 will be required by the ArcGIS Runtime SDK for .NET Visual Studio extension (.vsix) at a future release.

Support for iOS 10 is deprecated. A minimum of iOS 11 will be required at a future release.

Issues resolved

  • BUG-000112740 The first feature added to an empty shapefile does not display until a second feature is drawn.
  • BUG-000114262 An error may occur in EncExchangeSet::getPaths resulting in inability to load EncLayer
  • BUG-000110150 Application with a universal transverse Mercator (UTM) spatial reference may crash when the MapView is centered on a location outside the full extent of all layers
  • BUG-000109558 Opening a mobile map package fails with the error, "Internal Error" when the map in the mobile map package contains German umlauts in the map name.
  • BUG-000114330 When WMTS services have a reverse order for tile matrices, the layer requests incorrect tiles from the service resulting in 404-Not Found error and layer not added to map.
  • ENH-000107768 Request to add Runtime API to load a Web Scene PortalItem to Scene
  • BUG-000111237 Application may crash when zooming into a viewpoint with very small geometry.
  • BUG-000109728 OfflineMapSyncTask doesn't update the feature service in the webmap if the spatial reference of the feature service isn't Web Mercator.
  • BUG-000111867 CompositeSymbol doesn't display properly when it is applied to a Graphic with a Geometry of Envelope
  • BUG-000112435 Vector tiled layer constructed from a vector tile package (.vtpk) containing very large sprites crashes the Runtime application on the machine with a high screen display resolution
  • BUG-000112114 "Out of Range" error is received while calculating a route when multi-part polylines are present in the source feature classes of the network dataset
  • ENH-000108221 Request to add MapServer/DynamicLayer support for FeatureLayer or ServiceFeatureTable
  • BUG-000106101 Vector tiles may fail to display some Chinese characters.
  • BUG-000109215 Symbology layer effects in Mobile Map Package are not rendered correctly.
  • BUG-000114411 Elevation exaggeration of Surface does not give expected results when the image service has a negative elevation
  • BUG-000112713 Faulty display of military symbols in 3D
  • BUG-000111565 Lines created on the GraphicsOverlay with "Dynamic" Rendering mode on 3D doesn't render completely when zooming in
  • BUG-000113632 Feature collection points continue to draw although they do not satisfy the definition expression.

  • BUG-000111110 Disconnecting a Windows 10 laptop from an external monitor set as the primary display while a Runtime app is running causing the app to crash or freeze.
  • BUG-000113591 GraphicCollection.Add causes a tabbed-control Runtime .NET app to crash upon clicking the tab
  • BUG-000111214 Application crashes on startup and after changing the screen resolution of the monitor's display.
  • BUG-000113103 The heading direction does not update correctly when device orientation is changed in CompassNavigation mode for the LocationDisplay in Xamain Forms application.
  • BUG-000112443 Unhandled exception when NavigationCacheMode is Enabled
  • BUG-000109636 Application with multiple MapViews crashes at launch intermittently
  • BUG-000114015 WPF application crashes when them is changed to a High Contrast theme
  • BUG-000106702 Point screenPoint returns (0,0) (on physical devices only) when using the IdentifyGraphicsOverlaysAsync() method
  • ENH-000109715 Add Legend UI to the ArcGIS Runtime SDK Toolkit
  • BUG-000110752 Unable to download .geodatabases from some FeatureServices when using the OfflineMap workflow.
  • BUG-000112461 Labels are missing if features co-exist when viewing an offline geodatabase in ArcGIS Runtime application.
  • Unhandled exception Microsoft C++ exception: Esri_runtimecore::Runtimecore_net::Dx_exception occurred. See GeoNet discussion
  • KERNELBASE.dll exception occasionally thrown since upgrading to v100 from v10. See GeoNet discussion
  • FeatureCollectionTable throws OBAC exception when geometry is updated. See StackExchange discussion
  • Runtime crashes with JNI exception on Android devices. SeeGeoNet discussion
  • Change MapView Parent Quickly Cause Map Blank. See GeoNet discussion

Known issues

  • BUG-000099242 Japanese labels in a mobile map package are not displayed
  • BUG-000113630 Application may crash when loading VectorTileLayers that require large amount of memory
  • BUG-000101144 Rotating a vector tile map causes the screen to flash.
  • BUG-000110656 Gradient fill symbols are displayed as black BUG-000113946 Performance issue of MapView.IdentifyLayerAsync method
  • BUG-000109949 Locator Task from a Mobile Map Package may return suggestions even for invalid addresses.
  • BUG-000109987 Labels generated by python in a map package (.mpk) may not display correctly
  • BUG-000109554 Aplication may encounter an error when trying to display a tile package (.tpk) containing only one Level of Detail.
  • BUG-000108845 Mosaic Dataset doesn't display NoData pixels properly
  • BUG-000111375 Locator created from ArcMap 10.5 does not provide 'Match_addr' or 'Label' even if the score is 100.
  • BUG-000107292 Setting the opacity of a FeatureLayer displayed in a SceneView causes the layer to turn white and opaque.
  • BUG-000104032 Collada models are not rendered correctly with ModelMarkerSymbol.
  • BUG-000107500 Layer in a Mobile map package based on a unique value renderer may not render correctly
  • BUG-000103301 Some military line symbols do not display in the correct location
  • BUG-000111519 Without elevation source the SceneView::screenToLocation function provides invalid "z" values
  • BUG-000113128 UniqueValueRenderer fails to draw features when using values of type unsigned int
  • BUG-000114143 Military symbols fail to display correctly when resizing the symbols in a unique value renderer
  • BUG-000114174 Some mil2525c symbols fail to render properly

  • BUG-000109943 When creating the points, if the coordinate value is lower than decimal point third place,the raster is added to the map with unexpected rendering result.
  • BUG-000109847 RouteTask.SolveRoute fails with ArcGISRuntimeException "Invalid directions language" with certain language string set as RouteParameters.DirestioncsLanguage
  • BUG-000109177 Xamarin.iOS Storyboard Error: "Custom Components are not being rendered because problems were detected"
  • BUG-000110854 Xamarin.iOS and Xamarin.Forms.iOS application crashes when cancelling OAuth login.
  • BUG-000106812 Editing vertices is successful even when wrap-around is disabled
  • BUG-000112142 Application crashes after repeatedly changing the value for the display setting in Windows 10: Scale and Layout

Related topics