#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’, который соответствует указанным ограничениям привязки, вызвал исключение.’
После этого я перешел по ссылке ниже:
Как показано ниже, требования являются обязательными для развертывания зависящего от ArcGIS приложения:
-
Windows 10
-
Microsoft .NET Framework версии 4.6.1 или более поздней
-
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 версию, которая решила мою проблему. Надеюсь, это поможет.