Visual Studio 2012 http://blogs.ugidotnet.org/marcom/category/Visual Studio 2012.aspx Visual Studio 2012 it-IT Marco Minerva Subtext Version 2.6.0.0 Qualche parola sull'evento Natural User Interface con Kinect e .NET Gadgeteer http://blogs.ugidotnet.org/marcom/archive/2012/11/21/qualche-parola-sullevento-natural-user-interface-con-kinect-e-.net.aspx <p>Finalmente trovo il tempo di scrivere due righe sull'evento <a href="http://www.dotnettoscana.org/natural-user-interface-con-kinect-e-gadgeteer.aspx" target="_blank">Natural User Interface con Kinect e .NET Gadgeteer</a> che si è svolto lo scorso 10 Novembre a Pisa.</p> <p>Secondo me, l'evento è andato molto bene, l'interesse sull'argomento è stato alto, e vedere Kinect all'opera è davvero uno spettacolo :-) E' stata la prima volta che ho avuto la possibilità di lavorare con <a href="http://codetailor.blogspot.it/" target="_blank">Massimo Bonanni</a>, e devo dire che è stato un vero piacere: sfruttando Team Foundation Service, siamo riusciti ad unire due progetti assolutamente eterogenei, uno su Gadgeteer e uno con Kinect. Per coordinarci, abbiamo fatto solo un paio di call su Skype, di cui una a fine Giugno e l'altra due giorni prima dell'evento, e uno scambio di 4/5 mail in totale!</p> <p>Sul sito di <a href="http://www.dotnettoscana.org" target="_blank">DotNetToscana</a> potete trovare slide, codice sorgente, foto e video dell'evento. Qui sotto riporto solo la cosa più interessante, ovvero il video del sistema all'opera:</p> <div style="text-align: center; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:806b0e69-0ac5-4873-ba5c-eb63c99396eb" class="wlWriterEditableSmartContent"><div id="bda0145f-5988-4c1a-81cb-7e3e026f2c51" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=qwMHMD6_QDE&amp;feature=youtube_gdata_player" target="_new"><img src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/marcom/Windows-Live-Writer/Qualche-nota-sullevento-Na.NET-Gadgeteer_F573/video0fb1fa4113f6.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('bda0145f-5988-4c1a-81cb-7e3e026f2c51'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;object width=\&quot;448\&quot; height=\&quot;252\&quot;&gt;&lt;param name=\&quot;movie\&quot; value=\&quot;http://www.youtube.com/v/qwMHMD6_QDE?hl=en&amp;hd=1\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/qwMHMD6_QDE?hl=en&amp;hd=1\&quot; type=\&quot;application/x-shockwave-flash\&quot; width=\&quot;448\&quot; height=\&quot;252\&quot;&gt;&lt;\/embed&gt;&lt;\/object&gt;&lt;\/div&gt;&quot;;" alt="" /></a></div></div></div> <p> </p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0533d20b-0556-48e5-91d9-4f196fa54638" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/Community" rel="tag">Community</a>,<a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/.NET+Gadgeteer" rel="tag">.NET Gadgeteer</a>,<a href="http://technorati.com/tags/.NET+Micro+Framework" rel="tag">.NET Micro Framework</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/Kinect" rel="tag">Kinect</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/101337.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/11/21/qualche-parola-sullevento-natural-user-interface-con-kinect-e-.net.aspx Wed, 21 Nov 2012 18:42:31 GMT http://blogs.ugidotnet.org/marcom/archive/2012/11/21/qualche-parola-sullevento-natural-user-interface-con-kinect-e-.net.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/101337.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/101337.aspx Utilizzare SQLite in un'applicazione Windows Store http://blogs.ugidotnet.org/marcom/archive/2012/10/09/utilizzare-sqlite-in-unrsquoapplicazione-windows-store.aspx <p>WinRT non comprende il namespace <strong>System.Data</strong>: non offre supporto per la connessione diretta a database, e quindi neanche Entity Framework. D'altra parte, neppure <a target="_blank" href="http://www.microsoft.com/en-us/download/details.aspx?id=17876">SQL Compact</a> può essere utilizzato con le Windows Store apps. La conseguenza è che, per accedere ad un database, dobbiamo passare attraverso servizi WCF, Azure, ecc.</p> <p>Se la nostra applicazione ha bisogno di un database locale, su file, possiamo però utilizzare <a target="_blank" href="http://www.sqlite.org/index.html">SQLite</a>, di cui è stata rilasciata da qualche tempo la versione ufficiale per WinRT, con supporto alle architetture x86, x64 e ARM. Tale release è pienamente compatibile con le Windows Store apps, quindi passa la certificazione (a differenza di quanto avveniva con le versioni iniziali).</p> <p>Leggi <a target="_blank" href="http://www.dotnettoscana.org/utilizzare-sqlite-in-unapplicazione-windows-store.aspx">l’articolo completo su DotNetToscana</a>.</p> <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f8861472-9308-44c8-a0b7-003df8b8ffcd" style="margin: 0px; padding: 0px; float: none; display: inline;">Tag di Technorati: <a rel="tag" href="http://technorati.com/tags/.NET">.NET</a>,<a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>,<a rel="tag" href="http://technorati.com/tags/Windows+8">Windows 8</a>,<a rel="tag" href="http://technorati.com/tags/WinRT">WinRT</a>,<a rel="tag" href="http://technorati.com/tags/SQLite">SQLite</a>,<a rel="tag" href="http://technorati.com/tags/C%23">C#</a>,<a rel="tag" href="http://technorati.com/tags/LINQ">LINQ</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/101261.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/10/09/utilizzare-sqlite-in-unrsquoapplicazione-windows-store.aspx Tue, 09 Oct 2012 00:25:20 GMT http://blogs.ugidotnet.org/marcom/archive/2012/10/09/utilizzare-sqlite-in-unrsquoapplicazione-windows-store.aspx#feedback http://blogs.ugidotnet.org/marcom/comments/commentRss/101261.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/101261.aspx Un po' di chiarezza sull'in-place upgrade a .NET 4.5 http://blogs.ugidotnet.org/marcom/archive/2012/09/13/un-po-di-chiarezza-sullin-place-upgrade-a-.net-4.5.aspx <p>Il .NET Framework 4.5 è rilasciato come un in-place upgrade della versione 4.0. Questo significa che .NET 4.5 sostituisce completamente la release precedente sul PC, senza modificarne il numero di versione. Come si può leggere nel post <a href="http://www.west-wind.com/weblog/posts/2012/Mar/13/NET-45-is-an-inplace-replacement-for-NET-40">.NET 4.5 is an in-place replacement for .NET 4.0</a> di Rick Strahl:</p> <blockquote> <p>When you install .NET 4.5 your .NET 4.0 assemblies in the \Windows\.NET Framework\V4.0.30319 are overwritten with a new set of assemblies. You end up with overwritten assemblies as well as a bunch of new ones (like the new System.Net.Http assemblies for example). […] The 4.5 update completely replaces the .NET 4.0 runtime and leaves the actual version number set at v4.0.30319. </p> </blockquote> <p>Un punto che può creare confusione riguarda la possibilità di creare applicazioni per .NET 4.0 dopo che è stato effettuato l'upgrade alla versione 4.5. Rick ci dice che:</p> <blockquote> <p>When you build a new project with Visual Studio 2011, you can still target .NET 4.0 or you can target .NET 4.5. But you are in effect referencing the same set of assemblies for both regardless which version you use. </p> </blockquote> <p>Scott Hanselman, invece, nel suo post <a href="http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx">.NET Versioning and Multi-Targeting - .NET 4.5 is an in-place upgrade to .NET 4.0</a>, fa notare una cosa diversa:</p> <blockquote> <p>It's been implied on blogs that if you install .NET 4.5 on your machine that you can't safely develop for .NET 4. In Rick's post, he compares two DLLs on a .NET 4 machine and again after the .NET 4.5 in place upgrade. How can you target safely against .NET 4 if you've installed .NET 4.5? You don't have those .NET 4 DLLs anymore, right?</p> <p>Actually you do. They are in C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework.</p> <p>[…] So while .NET 4 and .NET 4.5 don't live side by side on your system at runtime, Visual Studio knows about all the different versions of .NET and the compiler will reference different versions when you build.</p> </blockquote> <p>Chi ha ragione? La cosa necessità di ulteriori approfondimenti.</p> <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:26fd742b-3b13-4f9d-b57a-a8daa40a5049" style="margin: 0px; padding: 0px; float: none; display: inline;">Tag di Technorati: <a rel="tag" href="http://technorati.com/tags/.NET">.NET</a>,<a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>,<a rel="tag" href="http://technorati.com/tags/Visual+Studio">Visual Studio</a>,<a rel="tag" href="http://technorati.com/tags/C%23">C#</a>,<a rel="tag" href="http://technorati.com/tags/VB.NET">VB.NET</a>,<a rel="tag" href="http://technorati.com/tags/ASP.NET">ASP.NET</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/101212.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/09/13/un-po-di-chiarezza-sullin-place-upgrade-a-.net-4.5.aspx Thu, 13 Sep 2012 11:08:50 GMT http://blogs.ugidotnet.org/marcom/archive/2012/09/13/un-po-di-chiarezza-sullin-place-upgrade-a-.net-4.5.aspx#feedback 5 http://blogs.ugidotnet.org/marcom/comments/commentRss/101212.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/101212.aspx Da Apress sconto del 40% per gli utenti di DotNetToscana http://blogs.ugidotnet.org/marcom/archive/2012/08/17/da-apress-sconto-del-40-per-gli-utenti-di-dotnettoscana.aspx <p>In questa calda estate, mentre molti hanno appena scaricato o stanno scaricando le RTM di Windows 8 e Visual Studio 2012, <a target="_blank" href="http://www.dotnettoscana.org">DotNetToscana</a>, grazie alla sponsorizzazione di Apress, offre uno sconto del <span style="font-weight: bold;">40%</span> sull'acquisto dell'e-book <a target="_blank" href="http://www.apress.com/microsoft/net-framework/9781430242338" style="font-weight: bold;">Pro C# and the .NET 4.5 Framework</a>.</p> <p>L'offerta è valida fino al 15 Settembre. Per approfittarne, è sufficiente <span style="font-weight: bold;">registrarsi </span>sul sito <a target="_blank" href="http://www.dotnettoscana.org">DotNetToscana</a> e scaricare il coupon disponibile nella sezione <a target="_blank" href="http://www.dotnettoscana.org/benefit.aspx">Benefit</a>.</p> <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:642f6526-56af-43fc-ba22-351bf0a4fcb4" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">Tag di Technorati: <a rel="tag" href="http://technorati.com/tags/Community">Community</a>,<a rel="tag" href="http://technorati.com/tags/.NET">.NET</a>,<a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>,<a rel="tag" href="http://technorati.com/tags/Visual+Studio">Visual Studio</a>,<a rel="tag" href="http://technorati.com/tags/C%23">C#</a>,<a rel="tag" href="http://technorati.com/tags/Windows+8">Windows 8</a>,<a rel="tag" href="http://technorati.com/tags/WinRT">WinRT</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/101159.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/08/17/da-apress-sconto-del-40-per-gli-utenti-di-dotnettoscana.aspx Fri, 17 Aug 2012 14:09:51 GMT http://blogs.ugidotnet.org/marcom/archive/2012/08/17/da-apress-sconto-del-40-per-gli-utenti-di-dotnettoscana.aspx#feedback 3 http://blogs.ugidotnet.org/marcom/comments/commentRss/101159.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/101159.aspx Porting a Windows 8 Release Preview http://blogs.ugidotnet.org/marcom/archive/2012/06/06/porting-a-windows-8-release-preview.aspx <p>Questa sera ho terminato il porting della mia App alla Release Preview di Windows 8. In realtà, l’operazione in sé è stata abbastanza veloce, ma ne ho approfittato per fare un po’ di refactoring sul codice, che non guasta mai.</p> <p>Ho dapprima dato un’occhiata ai nuovi template prodotti da Visual Studio 2012 RC ed ho notato che alcune cose erano molto diverse rispetto alla versione precedente (in particolare, la pagina base <strong>LayoutAwarePage</strong>). Quindi, invece di aprire direttamente il progetto, ho creato una nuova Metro Style App ed ho inserito al suo interno i file della mia applicazione.</p> <p>Un’altra differenza importante è rappresentata dalla presenza del <strong>SuspensionManager</strong>, una classe helper per gestire il salvataggio e il ripristino dello stato dell’applicazione. In precedenza, questo file era disponibile all’interno dei samples per la Consumer Preview disponibili su <a target="_blank" href="http://code.msdn.microsoft.com/">MSDN Code Gallery</a>. Si trattava, però, di un’implementazione minimale, che in pratica offriva solo i metodi per leggere e scrivere un dizionario in un file XML.</p> <p>Al contrario, la versione fornita con Visual Studio 2012 RC è in grado di gestire automaticamente il ciclo di vita dell’applicazione. Per fare questo, la classe <em>LayoutAwarePage</em> implementa i metodi <a target="_blank" href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.ui.xaml.controls.page.onnavigatedto.aspx">OnNavigatedTo</a> e <a target="_blank" href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.ui.xaml.controls.page.onnavigatedfrom.aspx">OnNavigatedFrom</a>, che rispettivamente recuperano e salvano lo stato utilizzando il <strong>SuspensionManager</strong>. Questi metodi, a loro volta, chiamano i metodi <strong>LoadState</strong> e <strong>SaveState</strong>, con cui possiamo recuperare l’oggetto passato alla pagina, oltre a leggerne e salvarne lo stato in caso di sospensione. Nella mia applicazione ho quindi spostato in <em>LoadState</em> il codice che era presente nel metodo <a target="_blank" href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.ui.xaml.controls.page.onnavigatedto.aspx">OnNavigatedTo</a>, e in <em>SaveState</em> quello che si trovava in <a target="_blank" href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.ui.xaml.controls.page.onnavigatedfrom.aspx">OnNavigatedFrom</a>, così da sfruttare l’infrastruttura di salvataggio e ripristino offerta dalla classe base.</p> <p>Con questo pattern, infatti, quando l’applicazione viene sospesa, la classe <em>LayoutAwarePage</em> richiama il metodo <em>SaveState</em>, in cui si può salvare lo stato della pagina. Nel momento in cui torna in esecuzione, viene automaticamente invocato il relativo metodo <em>LoadState</em>, a cui è passato lo stato salvato in precedenza: in tal modo, è molto semplice ripristinare la situazione esistente al momento della sospensione.</p> <p>E’ da notare che questo sistema si occupa anche di ripristinare l’history di navigazione tra le pagine, quindi, riprendendo un’applicazione sospesa, sarà in automatico mostrata l’ultima pagina visualizzata, e il tasto Back riporterà alle pagine visitate prima di essa, secondo l’ordine originale. Di conseguenza, non è più necessario salvare in maniera esplicita la storia di navigazione e ripristinarla all’avvio, se l’app era stata sospesa.</p> <p>Oltre a queste modifiche “strutturali”, ho dovuto rinominare le risorse XAML, così come ci aveva già segnalato <a target="_blank" href="http://blogs.ugidotnet.org/Nick60/archive/2012/06/03/win8-rp-cambio-di-nomi-delle-risorse-xaml-predefinite.aspx">Niccolò</a>. Per fortuna, non avevo modificato il file <strong>StandardStyles.xaml</strong> originale, ma avevo creato un file con i miei stili personalizzati, per cui mi è bastato modificare solo quest’ultimo. Questa parte, comunque, è stata la più noiosa.</p> <p>Ci sono poi state una serie di modifiche minori, ma tutte di poco conto.</p> <p>In conclusione, non ho incontrato nessun problema particolare nel porting della mia App alla Release Preview di Windows 8. Molto dipende, però, dalle funzionalità della propria applicazione. Per ogni evenienza, è bene avere una copia del documento <a target="_blank" href="http://go.microsoft.com/fwlink/?LinkId=251943">Migrating from Windows 8 Consumer Preview to Release Preview</a>, da consultare in caso di problemi.</p> <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fadd50d7-bc54-49d1-bea1-bc28cfc2ae6f" style="margin: 0px; padding: 0px; float: none; display: inline;">Tag di Technorati: <a rel="tag" href="http://technorati.com/tags/.NET">.NET</a>,<a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>,<a rel="tag" href="http://technorati.com/tags/WinRT">WinRT</a>,<a rel="tag" href="http://technorati.com/tags/Updates">Updates</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/101041.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/06/06/porting-a-windows-8-release-preview.aspx Wed, 06 Jun 2012 02:36:27 GMT http://blogs.ugidotnet.org/marcom/archive/2012/06/06/porting-a-windows-8-release-preview.aspx#feedback 2 http://blogs.ugidotnet.org/marcom/comments/commentRss/101041.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/101041.aspx E' tornato il colore! http://blogs.ugidotnet.org/marcom/archive/2012/05/08/e-tornato-il-colore.aspx <p>Una delle maggiori critiche rivolte alle beta di Visual Studio 11 riguarda l'interfaccia piatta e grigia. Accogliendo i numerosi feedback a riguardo, nella versione RC, prevista per l'inizio di Giugno, vedremo finalmente tornare un po' di colore.</p> <p>La "base" sarà sempre griglia, ma questa volta avremo un colore più chiaro:</p> <p><a target="_blank" href="http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-92/7367.Visual-Studio-11-RC-Full.png"><img width="624" alt="" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-92-metablogapi/3757.image_5F00_thumb_5F00_2E96E121.png" /></a></p> <p>Complessivamente, questo restyling mi piace… A parte i menu tutti in maiuscolo, che secondo me sono davvero brutti… Ma c'è ancora tempo, quindi spero che vengano sistemati.</p> <p>Per maggiori informazioni sulle novità, consiglio di dare un'occhiata al <a href="http://blogs.msdn.com/b/visualstudio/archive/2012/05/08/visual-studio-11-user-interface-updates-coming-in-rc.aspx">blog di Visual Studio</a>.</p> <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:826393ab-f350-407a-9e1c-155aab40b357" style="margin: 0px; padding: 0px; float: none; display: inline;">Tag di Technorati: <a rel="tag" href="http://technorati.com/tags/.NET">.NET</a>,<a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>,<a rel="tag" href="http://technorati.com/tags/Visual+Studio">Visual Studio</a>,<a rel="tag" href="http://technorati.com/tags/Updates">Updates</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100994.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/05/08/e-tornato-il-colore.aspx Tue, 08 May 2012 23:25:11 GMT http://blogs.ugidotnet.org/marcom/archive/2012/05/08/e-tornato-il-colore.aspx#feedback 9 http://blogs.ugidotnet.org/marcom/comments/commentRss/100994.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100994.aspx