15

Edit: il problema descritto di seguito si verifica anche in Win 10 applicazione UWP (VS2015, Win10) quando si utilizza il MapControl..net WP8.1/Win10 UWP: Namespace per MapControl non trovato in Visual Studio Designer

Ho un problema strano utilizzando MapControl in un'applicazione Windows Phone 8.1 (applicazione universale). Dopo aver aggiunto il controllo a una pagina, Visual Studio dice The name "MapControl" does not exist in the namespace "using:Windows.UI.Xaml.Controls.Maps". Costruire l'app funziona, posso distribuirlo sul telefono e la mappa viene mostrata e tutto è a posto - ma non posso più usare il Designer per questa pagina dal momento che afferma che l'errore .

Il problema si è verificato in un progetto più ampio avviato negli VS2013 (aggiornamento 4) su Windows 8.1. Il mio primo pensiero fu che la mia installazione VS era un po 'rotta. Ma anche dopo una nuova installazione pulita di Windows 10 (10240) e VS2015 RTM si è verificato il problema. I miei passi per riprodurre sono abbastanza semplici:

  • Creare un nuovo progetto dal modello "vuoto App (Universal di Windows 8.1)"
  • Aprire il MainPage.xaml del WindowsPhone sottoprogetto
  • doppio clic sul MapControl nella casella degli strumenti
  • Si noti che lo MapControl viene aggiunto allo Grid in xaml ed è mostrato nella vista di progettazione affiancata. Tutto sembra essere ok.
  • Ora posso aggiungere più controlli alla pagina semplicemente facendo clic sulla casella degli strumenti. Posso modificare i controlli sulla pagina con il mouse nella finestra di progettazione (ad esempio riorganizzarli) e posso modificare le loro proprietà tramite il riquadro delle proprietà. Tutto è ancora ok
  • Ma quando chiudo o riapre quella pagina (o l'intero progetto) nella finestra di progettazione o quando inizio a modificare l'xaml direttamente con la tastiera, il progettista non riesce e afferma l'errore sopra descritto.

Qual è il problema? Come posso fare in modo che il designer di Visual Studio lavori di nuovo con le pagine con MapControl s? Per prima cosa ho pensato a un bug in VS2013 - ma così semplice da riprodurre, non risolto in VS2015 e nessuna informazione su Internet? Cosa ho sbagliato?

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

+2

Sto avendo uno stesso errore anche utilizzando progetto UWP su Windows 10, VS2015 RC. –

+0

Stesso errore, ma sembra che non influenzi l'implementazione dell'app nello store. – gavi

+1

No, non ha alcun impatto sulla distribuzione. Ma quando la mappa è un elemento ui centrale nella tua app, devi sviluppare l'intera app senza il visual designer che rende molto più difficile lo sviluppo. –

risposta

1

C'è un bug su Visual Studio Tools per universali programmi Windows 1.0 che causa la questione con il mappa, l'installazione di questo aggiornamento dovrebbe risolvere il problema Update

procedura per utilizzare correttamente la mappa sdk

di Windows 8,1

  1. andare in Strumenti-> estensione e aggiornamento -> installare Bing Map SDK.
  2. Fare clic destro sul Progetto-> Aggiungi Reference> Windows-> Estensioni-> Bing Maps configurazione
  3. Imposta per x86 (Proprietà di configurazione -> Configurazione)
  4. aggiungere il riferimento mappa per la vostra pagina utilizzando xmlns:maps="using:Bing.Maps"
  5. l'aggiunta di questa riga al vostro XAML <maps:Map />

e ora si è pronti per partire

Windows Phone e Windows 10 UAP

aggiungere questo riferimento nel tuo XAML

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

e quindi aggiungere questa linea al vostro XAML

<maps:MapControl /> 
+0

La procedura è solo una soluzione alternativa per x86 windows 8.1 e sembra non funzionare su wp8.1 o wp10 piattaforma Windows universale come ho chiesto nella domanda. L'estensione dell'SDK di Bing Maps è disponibile solo per le App Store di Windows 8.1. E sembra essere un'API diversa. Voglio sapere come far funzionare questa API: https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.ui.xaml.controls.maps.mapcontrol.aspx o https: //github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MapControl –

+0

In un'applicazione universale per Windows 8.1 si ha un progetto per WP8.1 e uno per Windows 8.1, la procedura che ho scritto spiega come usa le mappe in 2 diversi progetti, perché l'SDK è diverso hai bisogno di 2 diverse viste per mostrare la mappa, una per ogni progetto. Se il tuo progetto ha come target Win10 UAP hai bisogno solo della parte Windows Phone della mia risposta, non hai bisogno di un sdk, perché il sdk è già incluso. – frenk91

+0

Guarda lo screenshot che ho fornito. Le due linee che hai suggerito per Win10 sono esattamente ciò che ho scritto. Il problema non è che MapControl non viene trovato affatto. È stato trovato, può essere aggiunto tramite la toolbox, è visibile nel designer e funziona in fase di runtime. MA: Funziona solo fino alla prima modifica manuale del file XAML. Dopodiché, la finestra di progettazione sembra essere interrotta e afferma che lo spazio dei nomi non viene trovato. Funziona ancora in fase di esecuzione a questo punto, ma non più nel Designer. E sembra che non sia l'unico con quel problema quindi voglio sapere, se c'è una soluzione alternativa/correzione per questo. –

-1
+0

Purtroppo questo non risolve il mio problema qui. Lo stesso problema si verifica ora in un progetto UWP win 10 quando si utilizza MapControl. Il link fornito indica un bug contrassegnato come "duplicato" ma senza informazioni su dove trovare il ticket duplicato. Nessuna informazione quando verrà riparata. Molto frustrante ... –

-1

Fai la corretta mappa di riferimento biblioteca

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

Invece di

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

Sto parlando delle app .net universali sia per wp8.1/win8.1 che per win 10. Ho chiesto il namespace Windows.UI.Xaml.Controls.Maps e non Microsoft.Phone.Maps .Controls. Per favore, leggi attentamente la mia domanda. Se dovessi rivolgere a wp8.1, la sintassi di utilizzo non funzionerebbe, ma ciò porterebbe a un'eccezione diversa. Ulteriori informazioni al riguardo sono disponibili qui: http://stackoverflow.com/questions/16406038/xaml-clr-namespace-using-incompatibility –