15

Edit: das beschriebene Problem tritt auch in einer Win 10 UWP-Anwendung (VS2015, Win10) bei der Verwendung von MapControl..net WP8.1/Win10 UWP: Namespace für MapControl nicht in Visual Studio Designer gefunden

Ich habe ein seltsames Problem mit dem MapControl in einer Windows Phone 8.1 (Universal App) -Anwendung. Nach dem Hinzufügen des Steuerelements zu einer Seite, Visual Studio sagt The name "MapControl" does not exist in the namespace "using:Windows.UI.Xaml.Controls.Maps". Aufbau der App funktioniert, kann ich es auf dem Telefon bereitstellen und die Karte angezeigt wird und alles in Ordnung ist - aber ich kann den Designer für diese Seite nicht mehr verwenden, da es diesen Fehler behauptet .

Das Problem trat in einem größeren Projekt auf, das ursprünglich in VS2013 (Update 4) unter Windows 8.1 gestartet wurde. Mein erster Gedanke war, dass meine VS-Installation irgendwie kaputt war. Aber auch nach einer sauberen Neuinstallation von Windows 10 (10240) und VS2015 RTM trat das Problem auf. Meine Schritte zu reproduzieren sind ganz einfach:

  • Erstellen Sie ein neues Projekt aus Vorlage "Blank App (Universal Windows-8.1)"
  • öffnen MainPage.xaml des WindowsPhone Teilprojekt
  • Doppelklicken Sie auf die MapControl in der Toolbox
  • Beachten Sie, dass die MapControl zu Grid in XAML hinzugefügt wird und es in Side-by-Side Entwurfsansicht angezeigt wird. Alles scheint in Ordnung zu sein.
  • Ich kann jetzt mehr Steuerelemente auf der Seite hinzufügen, indem Sie einfach auf die Toolbox klicken. Ich kann die Steuerelemente auf der Seite mit der Maus im Designer ändern (z. B. sie neu anordnen) und ich kann ihre Eigenschaften im Eigenschaftenbereich ändern. Alles ist noch in Ordnung.
  • Aber wenn ich diese Seite (oder das gesamte Projekt) im Designer schließe und wieder öffne oder wenn ich beginne, den XAML direkt mit der Tastatur zu bearbeiten, schlägt der Designer fehl und behauptet den oben beschriebenen Fehler.

Was ist das Problem hier? Wie kann ich Visual Studio Designer wieder mit Seiten mit MapControl s arbeiten lassen? Zuerst dachte ich an einen Fehler in VS2013 - aber das einfach zu reproduzieren, nicht in VS2015 und keine Informationen darüber im Internet behoben? Was habe ich falsch gemacht?

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

+2

Ich habe einen gleichen Fehler auch UWP Projekt unter Windows mit 10, VS2015 RC. –

+0

Derselbe Fehler, sieht aber so aus, als hätte er keinen Einfluss auf die Bereitstellung der App im Store. – gavi

+1

Nein, es wirkt sich nicht auf die Bereitstellung aus. Aber wenn die Karte ein zentrales Element in Ihrer App ist, müssen Sie die gesamte App ohne den visuellen Designer entwickeln, was die Entwicklung erheblich erschwert. –

Antwort

1

Es ist ein Fehler auf Visual Studio-Tools für Universal Windows-Apps 1.0 verursacht dieses Problem für die Priorisierung mit der Karte, die Installation dieses Update sollte das Problem beheben Update

Verfahren korrekt die Karte sdk

verwenden

Windows-8,1

  1. Zum tools-> Erweiterung und Aktualisierung -> installieren Bing Map SDK.
  2. Rechtsklick auf das Ausbau-> In referenz> Windows-> Erweiterungen-> Bing Maps
  3. Set Konfiguration x86 (Konfigurationseigenschaften -> Konfiguration)
  4. die Karte Bezug auf Ihre Seite hinzufügen xmlns:maps="using:Bing.Maps"
  5. mit
  6. Hinzufügen dieser Zeile in xAML <maps:Map />

und jetzt Sie gut sind

Windows Phone gehen und Windows 10 UAP

Fügen Sie diese Referenz in Ihrem XAML

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

und fügen Sie dann die folgende Zeile in XAML

<maps:MapControl /> 
+0

Ihr Verfahren ist nur ein Workaround für x86 Windows 8.1 und scheint nicht auf wp8.1 oder zu funktionieren WP10 Universal Windows-Plattform, wie ich in der Frage gefragt. Die Bing Maps SDK-Erweiterung ist nur für Windows 8.1 Store-Apps verfügbar. Und es scheint eine andere API zu sein. Ich möchte wissen, wie diese API funktioniert: https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.ui.xaml.controls.maps.mapcontrol.aspx oder https: //github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MapControl –

+0

In einer universellen App für Windows 8.1 haben Sie ein Projekt für WP8.1 und eines für Windows 8.1, das Verfahren, das ich geschrieben habe erklärt, wie es geht Verwenden Sie Karten in 2 verschiedenen Projekten, da das SDK anders ist, benötigen Sie 2 verschiedene Ansichten für die Karte, eine für jedes Projekt. Wenn dein Projekt Win10 UAP als Ziel hat, brauchst du nur den Windows-Phone-Teil meiner Antwort, du brauchst kein SDK, weil das SDK bereits enthalten ist. – frenk91

+0

Schau dir den Screenshot an, den ich zur Verfügung gestellt habe. Die zwei Zeilen, die Sie für Win10 vorgeschlagen haben, sind genau das, was ich geschrieben habe. Das Problem ist nicht, dass das MapControl überhaupt nicht gefunden wird. Es wird gefunden, es kann über die Toolbox hinzugefügt werden, es ist im Designer sichtbar und es funktioniert zur Laufzeit. ABER: Es funktioniert nur bis zur ersten manuellen Bearbeitung der XAML-Datei. Danach scheint der Designer kaputt zu sein und behauptet, dass der Namespace nicht gefunden wurde. Zur Laufzeit funktioniert es noch, aber nicht mehr im Designer. Und es scheint, ich bin nicht der einzige mit diesem Problem, also möchte ich wissen, ob es eine Workaround/Lösung dafür gibt. –

-1
+0

Leider löst das hier mein Problem nicht. Das gleiche Problem tritt jetzt in einem win 10 UWP-Projekt auf, wenn MapControl verwendet wird. Der von Ihnen angegebene Link verweist auf einen Fehler, der als "dupliziert" gekennzeichnet ist, aber keine Informationen enthält, wo das duplizierte Ticket gefunden werden kann. Keine Information wenn es repariert wird. Sehr frustrierend ... –

-1

die korrekte Referenzkarte Bibliothek Machen

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

Statt

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

Ich spreche über die .net Universal-Apps entweder für Wp8.1/Win8.1 oder für Win 10. Ich fragte nach dem Namespace Windows.UI.Xaml.Controls.Maps und nicht Microsoft.Phone.Maps .Steuerelemente. Bitte lies meine Frage sorgfältig durch. Wenn ich wp8.1 ansprechen würde, würde die using-Syntax nicht funktionieren, aber das würde zu einer anderen Ausnahme führen. Mehr dazu finden Sie hier: http://stackoverflow.com/questions/16406038/xaml-clr-namespace-using-incompatibility –

Verwandte Themen