.net WP8.1/Win10 UWP: пространство имен для MapControl не найдено в Visual Studio Designer

Изменить: описанная проблема ниже также встречается в приложении Win 10 UWP (VS2015, Win10) при использовании MapControl.

У меня есть странная проблема с использованием MapControl в приложении Windows Phone 8.1 (универсальное приложение). После добавления элемента управления на страницу Visual Studio говорит, что The name "MapControl" does not exist in the namespace "using:Windows.UI.Xaml.Controls.Maps". Построение приложения работает, я могу развернуть его на телефоне и показать карту, и все в порядке, но я больше не могу использовать конструктор для этой страницы, поскольку он утверждает эта ошибка.

Проблема возникла в более крупном проекте, первоначально запущенном в VS2013 (обновление 4) в Windows 8.1. Моя первая мысль заключалась в том, что моя VS-установка была сломанной. Но также после чистой новой установки Windows 10 (10240) и VS2015 RTM возникла проблема. Мои действия по воспроизведению довольно просты:

  • Создайте новый проект из шаблона "Пустое приложение (Universal Windows 8.1)"
  • Откройте MainPage.xaml подпроекта WindowsPhone
  • Дважды щелкните значок MapControl в панели инструментов
  • Обратите внимание, что MapControl добавляется к Grid в xaml, и он показан в виде бок о бок. Кажется, все в порядке.
  • Теперь я могу добавить дополнительные элементы управления на страницу, просто щелкнув панель инструментов. Я могу изменить элементы управления на странице с помощью мыши в дизайнере (например, переставить их), и я могу изменить их свойства на панели свойств. Все в порядке.
  • Но когда я либо закрываю и снова открываю эту страницу (или весь проект) в дизайнере, либо когда я начинаю редактировать xaml непосредственно с клавиатуры, дизайнер терпит неудачу и утверждает ошибку, описанную выше.

В чем проблема? Как я могу заставить конструктора Visual Studio работать со страницами с MapControl снова? Сначала я подумал о ошибке в VS2013 - но это просто воспроизвести, не зафиксировано в VS2015 и нет информации об этом в Интернете? Что я не так понял?

Design view and xaml is broken after editing (but compilation and deploying works)

Ответы

Ответ 1

В Visual Studio Tools для Universal Windows Apps 1.0 есть ошибка, вызывающая эту проблему с картой, установка этого обновления должна устранить проблему Update

Порядок правильного использования карты sdk

Windows 8.1

  • Перейдите в Инструменты- > расширение и обновление → установите Bing Map SDK.
  • Щелкните правой кнопкой мыши по проекту- > Добавить ссылку- > Windows- > Расширения- > Карты Bing
  • Задайте конфигурацию для x86 (Свойства конфигурации → Конфигурация)
  • Добавьте ссылку на карту на свою страницу, используя xmlns:maps="using:Bing.Maps"
  • Добавление этой строки в ваш xaml <maps:Map />

и теперь вам хорошо идти

Windows Phone и Windows 10 UAP

Добавьте эту ссылку в свой xaml

xmlns:maps="using:Windows.UI.Xaml.Controls.Maps"

а затем добавьте эту строку в свой xaml

<maps:MapControl />

Ответ 3

Сделайте правильную ссылку на библиотечную карту

xmlns:Maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"

Вместо

xmlns:Maps="using:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"