Как разрешить исключение во время выполнения при вызове конструктора типа ‘Esri.ArcGISRuntime.UI.Controls.Просмотр карты’

#c# #arcgis-runtime #visual-c -2017 #arcgis-runtime-net

#c# #arcgis-среда выполнения #visual-c -2017 #arcgis-runtime-net

Вопрос:

Я разрабатывал приложение Windows Forms для ГИС, используя ArcGISRuntime SDK (версия 100.4.0) в Visual Studio 2015. Когда я развертываю exe-файл приложения на компьютере развертывания (компьютер с Windows 10 без среды Visual Studio), приложение работало должным образом. После этого я перешел на Visual Studio 2017. Приложение работало должным образом на компьютере разработчика. Но, когда я развертываю exe-файл на компьютере развертывания (без установки VS2017), он выдает исключение ниже:

‘Вызов конструктора типа ‘Esri.ArcGISRuntime.UI.Controls.MapView’, который соответствует указанным ограничениям привязки, вызвал исключение.’

После этого я перешел по ссылке ниже:

https://developers.arcgis.com/net/latest/wpf/guide/system-requirements.htm#ESRI_SECTION1_F2655B7F48F7464DB86CC7756706296D

Как показано ниже, требования являются обязательными для развертывания зависящего от ArcGIS приложения:

  1. Windows 10

  2. Microsoft .NET Framework версии 4.6.1 или более поздней

  3. Microsoft Visual C , распространяемый для Visual Studio 2017

Моя машина развертывания удовлетворяет первым двум требованиям. Итак, я установил Microsoft Visual C , распространяемый для Visual Studio 2017 на моей машине развертывания. Но проблема все еще не решена.

Пожалуйста, помогите мне в решении этой проблемы.

Комментарии:

1. Пожалуйста, проверьте версию MS Visual C , распространяемую. В VS их несколько.

2. Также обратите внимание, что существует как 64, так и x86 версии redistrib. Если в настройках вашего проекта установлен флаг «Предпочитаю 32bit», ваше приложение будет работать как 32-разрядное, поэтому вам потребуется установленная 32-разрядная версия (безопаснее всего просто установить обе).

Ответ №1:

После некоторых исследований и разработок я обнаружил, что использую 32-разрядные библиотеки DLL ArcGISRuntime. Распространяемый пакет Visual C не установлен на моей машине развертывания. Итак, сначала я попытался установить 64-разрядную версию этого пакета, но это не сработало. Затем я устанавливаю 32 версию, которая решила мою проблему. Надеюсь, это поможет.