.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 />
Ответ 2
Задайте конфигурацию для x86 вместо "Любой процессор". Для приоритизации исправления upvote на https://connect.microsoft.com/VisualStudio/feedback/details/1659249/visual-studio-2015-rtm-uwp-the-name-mapcontrol-does-not-exist-in-the-namespace-using-windows-ui-xaml-controls-maps
Ответ 3
Сделайте правильную ссылку на библиотечную карту
xmlns:Maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
Вместо
xmlns:Maps="using:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"