.net WP8.1/Win10 UWP:在 Visual Studio Designer 中找不到 MapControl 的命名空间
.net WP8.1/Win10 UWP: Namespace for MapControl not found in Visual Studio Designer
编辑:在使用 MapControl 时,Win 10 UWP 应用程序(VS2015、Win10)中也会出现下面描述的问题。
我在 Windows Phone 8.1(通用应用程序)应用程序中使用 MapControl 时遇到一个奇怪的问题。将控件添加到页面后,Visual Studio 说 The name "MapControl" does not exist in the namespace "using:Windows.UI.Xaml.Controls.Maps".
构建应用程序有效,我可以将其部署到 phone 并显示地图,一切正常 - 但我无法使用此页面的设计器不再存在,因为它声称该错误。
问题发生在一个更大的项目中,该项目最初是在 Windows 8.1 上的 VS2013(更新 4)中启动的。我的第一个想法是我的 VS 安装有点坏了。但是在全新安装 Windows 10 (10240) 和 VS2015 RTM 之后,问题也出现了。我的复现步骤很简单:
- 从模板创建一个新项目"Blank App (Universal Windows 8.1)"
- 打开
WindowsPhone
子项目的MainPage.xaml
- 双击工具箱中的
MapControl
- 请注意,
MapControl
已添加到 xaml 中的 Grid
,并在并排设计视图中显示。一切似乎都还好。
- 我现在只需单击工具箱即可向页面添加更多控件。我可以在设计器中用鼠标修改页面上的控件(例如重新排列它们),我可以通过属性窗格更改它们的属性。一切都还好。
- 但是当我在设计器中关闭并重新打开该页面(或整个项目)时,或者当我开始直接使用键盘编辑 xaml 时,设计器失败并声称出现上述错误。
这里有什么问题?我怎样才能让 Visual Studio 设计器再次使用带有 MapControl
的页面?首先,我想到了 VS2013 中的一个错误 - 但它很容易重现,没有在 VS2015 中修复并且在互联网上没有关于它的信息?我做错了什么?
将配置设置为 x86 而不是 "Any CPU"。在 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
优先修复投票
制作正确的地图库参考
xmlns:Maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
而不是
xmlns:Maps="using:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
Visual Studio Tools for Universal Windows Apps 1.0 存在错误导致地图出现此问题,安装此更新应该可以解决问题 Update
Procedure to correctly use the map sdk
Windows 8.1
- 转到工具 -> 扩展和更新 -> 安装 Bing Map SDK。
- 右击项目->添加引用->Windows->扩展->Bing地图
- 将配置设置为 x86(配置属性 -> 配置)
- 使用
xmlns:maps="using:Bing.Maps"
将地图引用添加到您的页面
- 将此行添加到您的 xaml
<maps:Map />
现在你可以开始了
Windows Phone and Windows 10 UAP
在您的 xaml
中添加此参考
xmlns:maps="using:Windows.UI.Xaml.Controls.Maps"
然后将此行添加到您的 xaml
<maps:MapControl />
编辑:在使用 MapControl 时,Win 10 UWP 应用程序(VS2015、Win10)中也会出现下面描述的问题。
我在 Windows Phone 8.1(通用应用程序)应用程序中使用 MapControl 时遇到一个奇怪的问题。将控件添加到页面后,Visual Studio 说 The name "MapControl" does not exist in the namespace "using:Windows.UI.Xaml.Controls.Maps".
构建应用程序有效,我可以将其部署到 phone 并显示地图,一切正常 - 但我无法使用此页面的设计器不再存在,因为它声称该错误。
问题发生在一个更大的项目中,该项目最初是在 Windows 8.1 上的 VS2013(更新 4)中启动的。我的第一个想法是我的 VS 安装有点坏了。但是在全新安装 Windows 10 (10240) 和 VS2015 RTM 之后,问题也出现了。我的复现步骤很简单:
- 从模板创建一个新项目"Blank App (Universal Windows 8.1)"
- 打开
WindowsPhone
子项目的MainPage.xaml
- 双击工具箱中的
MapControl
- 请注意,
MapControl
已添加到 xaml 中的Grid
,并在并排设计视图中显示。一切似乎都还好。 - 我现在只需单击工具箱即可向页面添加更多控件。我可以在设计器中用鼠标修改页面上的控件(例如重新排列它们),我可以通过属性窗格更改它们的属性。一切都还好。
- 但是当我在设计器中关闭并重新打开该页面(或整个项目)时,或者当我开始直接使用键盘编辑 xaml 时,设计器失败并声称出现上述错误。
这里有什么问题?我怎样才能让 Visual Studio 设计器再次使用带有 MapControl
的页面?首先,我想到了 VS2013 中的一个错误 - 但它很容易重现,没有在 VS2015 中修复并且在互联网上没有关于它的信息?我做错了什么?
将配置设置为 x86 而不是 "Any CPU"。在 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
优先修复投票制作正确的地图库参考
xmlns:Maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
而不是
xmlns:Maps="using:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
Visual Studio Tools for Universal Windows Apps 1.0 存在错误导致地图出现此问题,安装此更新应该可以解决问题 Update
Procedure to correctly use the map sdk
Windows 8.1
- 转到工具 -> 扩展和更新 -> 安装 Bing Map SDK。
- 右击项目->添加引用->Windows->扩展->Bing地图
- 将配置设置为 x86(配置属性 -> 配置)
- 使用
xmlns:maps="using:Bing.Maps"
将地图引用添加到您的页面
- 将此行添加到您的 xaml
<maps:Map />
现在你可以开始了
Windows Phone and Windows 10 UAP
在您的 xaml
中添加此参考xmlns:maps="using:Windows.UI.Xaml.Controls.Maps"
然后将此行添加到您的 xaml
<maps:MapControl />