Вызов библиотеки управления окнами с помощью MapPoint из WPF-приложения MVVMLight на компьютере x64

MapPoint можно использовать в приложении WPF, если объект AxMapPoint включен в библиотеку элементов управления Windows.

Создание простого тестового приложения со следующим телом в MainWindows.xaml

<Grid x:Name="LayoutRoot">     
    <Grid Name="mapControl" Loaded="MapPointControl_Loaded"/>
</Grid>

работает при создании проекта WPF. Вызов функции CodeBehind выглядит следующим образом.

private void MapPointControl_Loaded(object sender, RoutedEventArgs e)
    {
        try
        {
                // Create the interop host control.
                System.Windows.Forms.Integration.WindowsFormsHost host =
                    new System.Windows.Forms.Integration.WindowsFormsHost();


                //  mpControl = new 
                MapPointControl userControl = new MapPointControl();
                host.Child = userControl;

                // Add the interop host control to the Grid
                // control's collection of child controls.
                this.mapControl.Children.Add(host);

        } catch { }

Это работает для проекта WPF,

Однако создание проекта MVVM не работает.

На этой линии происходит сбой

                MapPointControl userControl = new MapPointControl();

Появится следующее диалоговое окно

FileNotFoundException был пойман

Не удалось загрузить файл или сборку "Interop.MapPoint, версия =1.0.0.0, культура = нейтральная, PublicKeyToken=null" или одна из ее зависимостей. Система не может найти указанный файл.

(Interop.MapPoint.dll существует в папке bin/Debug)

в Visual Studio.

1 ответ

Включите программу просмотра журнала Fusion и поделитесь результатом. Он должен сказать вам, что зависимость отсутствует.

  1. Нажмите Пуск-> Введите "fusion" и щелкните правой кнопкой мыши на Fusion Log Viewer, чтобы запустить от имени администратора.

  2. Нажмите Настройки-> Журнал привязки ошибок к диску.

  3. Запустите исключение, затем нажмите "Обновить" в программе просмотра журнала.

  4. Нажмите "Просмотр журнала" в записи, которая появляется в Fusion. Поделись результатами.

Другие вопросы по тегам