July 2010 - Posts
Oggi giornata di upgrade dei vari progetti e demo creati con la versione di Aprile degli strumenti di sviluppo.
Il primo progetto, già pubblicato nella sezione media di ThinkMobile.it e oggetto di alcuni articoli usciti sul sito ThinkMobile.it, IoProgrammo e Html.it, presenta queste problematiche.
Aprendo il progetto che utilizzava il controllo WebBrowser il designer non si apre e alcune delle reference risultano “rotte”.
Proviamo a risolvere i problemi: nella versione Beta hanno modificato molti assembly e namespace spostando, come spesso accade, le classi durante il refactoring.
Reference
Il progetto April CTP si presentava così:
Per prima cosa i seguenti assembly sono stati unificati in un’unica dll denominata Microsoft.Phone:
Microsoft.Phone.Controls
Microsoft.Phone.Controls.Navigation
Microsoft.Phone.Controls.WebBrowser
Microsoft.Phone.Controls.WebBrowserInterop
Microsoft.Phone.Shell
Microsoft.Phone.Notification
Microsoft.Phone.Execution
Microsoft.Phone.Info
Microsoft.Phone.Tasks
Microsoft.Devices
Occorre quindi eliminare tutte le reference verso i vecchi assembly e aggiungere la reference verso i nuovi.
Sono stati notevolmente semplificate anche le dll sia come numero che come namespace. Questo l’elenco delle nuove librerie (da notare in versione 7.0.0.0):
Visto che l’applicazione presentava una semplice finestra con il controllo web browser abbiamo pochi errori nella parte XAML:
Il primo problema deriva ancora dai assembly referenziati nel file MainPage.xaml. Per risolvere a tappeto il problema consiglio di cercare le seguenti definizioni nei vari file xaml e rimpiazzarle con quanto segue:
Cercare:
clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Navigation
Rimpiazzare con:
clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone
Cercare:
clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.WebBrowser
Rimpiazzare con:
clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone
Cercare:
clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone.Shell
Rimpiazzare con:
clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone
Cercare:
clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls
Rimpiazzare con:
clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone
Il terzo problema riguarda il file app.xaml in quanto le risorse nella versione di aprile erano state inserite direttamente nel file. In questa versione sono inserite come risorse nelle librerie. Per prima cosa occorre rimuovere la sezione <App.Resources> e poi occorre sostituire nei vari xaml delle pagine alcuni nomi di risorse.
Anche in questo caso, Jamie Rodriguez del team di sviluppo, come segnalato da Mighell nel suo post, conviene fare un find/replace:
PhoneTextPageTitle1Style -> PhoneTextNormalStyle
PhoneTextPageTitle2Style –> PhoneTextTitle1Style
PhoneTextApplicationNameStyle –> PhoneTextNormalStyle
PhoneTextTitleNameStyle –> PhoneTextTitle1Style
Ci sono altre incompatiilità a cui dedicheremo un post non appena faremo l’upgrade reale.
Nel nostro primo progetto è sufficiente fare Reload Designer per ottenere il nuovo designer con il “vecchio” form:
F5 e via:
Ultimo punto che conviene fixare è il file di definizione del deploy WMAppManifest.xml. Visto che ci sono varie modifiche da fare il consiglio è ricreare il progetto con lo stesso nome in una directory temporanea e copiare il contenuto di questo file direttamente sul progetto reale.
I primi due strumenti che saltano all’occhio dopo l’installazione dei nuovi strumenti di sviluppo sono sicuramente Developer Phone Registration e XAP Deployment. In entrambi i casi, alcune preview erano disponibili come prodotti separati su CodePlex o su altri siti (ci siamo capiti :-)).
Il primo strumento consente di sbloccare un telefono reale per lo sviluppo e necessità del nostro account Windows Live e della connessione fisica via Zune al device. Ricordo che è possibile sbloccare 3 telefoni per lo sviluppo per ogni Windows Live ID.
Lo strumento si presenta così
A meno che non mi sia perso qualcosa i servizi Zune non sono ancora disponibili per l’Italia (al termine del wizard via web infatti ci viene negato l’accesso), ma il software può essere ugualmente scaricato e istallato.
Il secondo strumento è molto comodo per installare una applicazione sul device o sull’emulatore partendo da un file .xap senza ricorrere a Visual Studio: nella nostra azienda (ThinkAhead, azienda del gruppo DevLeap) ad esempio le due persone che lavorano nel marketing non hanno installato Visual Studio (o comunque, giustamente non lo sanno usare), ma possono testare e verificare l’applicazione sull’emulatore installando semplicemente installando lo XAP che arriva dal reparto sviluppo.
Ad esempio prendendo l’interfaccia di esempio dell’accelerometro la cui libreria è stata postata anche su http://thinkmobile.it/media/p/6977.aspx e premendo il tasto deploy lasciando nella combo l’emulatore come target si effettua il deploy:
Una volta completato il deploy, il nuovo emulatore si presenta con l’applicazione installata:

Sono stati appena rilasciati i nuovi strumenti di sviluppo per Windows Phone 7.
Il download è pubblico a partire da questo link: http://www.microsoft.com/express/Downloads/#2010-Visual-Phone.
Per adesso e probabilmente per il resto del periodo beta sono disponibili sono in lingua inglese.
Occorre disinstallare la beta precedente.
Come per la beta precedente, anche questa versione è compatiile con Visual Studio 2010 RTM: è possibile continuare ad usare la versione installata per sviluppare per il telefono sfruttando, ad esempio, il meccanismo di controllo sorgenti aziendale.
Questa versione è compatibile con Expression Blend 4, nel senso che è possibile isntallare la Beta di Expression Blend 4 side by side con Expression Blend 4.
Come giustamente accade in qualunque strumento in Beta, molte sono le modifiche ai namespace, alle classi e alle risorse rispetto alla April CTP.
L’elenco completo, su cui farò un post più preciso appena migrerò una nostra applicazione su N-layer è disponibile nelle release notes: http://download.microsoft.com/download/4/E/A/4EA52332-C6B1-476E-9938-C4F805146AF5/Release%20Notes%20-%20WPDT%20Beta.htm
Girando fra i forum di Windows Phone 7, oggi ho trovato questa notizia e, non so per quale motivo mi è apparsa direttamente tradotta in italiano.
Lascio il testo tradotto, tanto è decisamente chiaro, e, come sempre, divertente:
Microsoft ha ufficialmente inaugurato WinCE7 che ampiamente si crede per essere il nucleo del telefono di Windows 7. Non solo quello, ma hanno fatto un CTP download disponibili. A afferrilo andare a https://connect.microsoft.com/directory/non-feedback, trovare il prodotto "Windows Embedded Compact" e fare clic su Applica (esso verrà automaticamente accettare si). Questo è solo una CTP e RTM quarto trimestre di quest'anno si prevede che il prodotto.
Speriamo che questo aiuterà il processo di porting di hacking WP7.
Ovviamente il “telefono di Windows 7” non è il dispositivo con cui Windows telefona, ma è proptio “Windows Phone 7” :-).
A breve uscira la prima beta di SQL CE 4 come database in-process (come i precedenti) che non ha bisogno di un engine nativo per poter girare. In pratica basta portare dietro gli assembly .NET per far funzionare il tutto.
Altra novità riguarda il supporto per ASP.NET. In pratica diventa un database gratuito e in-process semplice da portare insieme alla applicazione su un hoster.
Info ufficiali: http://weblogs.asp.net/scottgu/archive/2010/06/30/new-embedded-database-support-with-asp-net.aspx
Nelle FAQ si mormora di una versione per Windows Phone 7