AntonioPelleriti.it [aka z9]

I code, therefore I am

NAVIGATION - SEARCH

Articolo IoProgrammo: Roslyn, il nuovo compilatore di Microsoft

Su IoProgrammo numero 197 (Maggio /Giugno 2015), trovate un mio articolo dedicato alle novità del nuovo compilatore di Microsoft, denominato Roslyn, utilizzato da Visual Studio 2015, che è open source ed è integrabile nelle vostre applicazioni.

Titolo di copertina:

  • Roslyn: Microsoft abbraccia l'Open Source
    Scopri cosa cambia con il nuovo compilatore di Visual Studio 2015

 

 

 



Storia delle versioni di .NET, C# e Visual Studio.

Microsoft ha parlato per la prima volta della nuova piattaforma .NET, originariamente conosciuta come NGWS (Next Generation Web Services) alla conferenza PDC dell'11 luglio 2000. rilasciando una agli sviluppatori una Tech Preview.

La prima Beta 1 di .NET 1.0, vede invece la luce l'1 novembre 2000, seguita da una Beta 2 il 20/06/2001. 

Nella seguente tabelle sono riassunte le successive release della piattaforma .NET, delle specifiche di C# e dell'IDE Visual Studio.

Anno  .NET Framework C# Visual Studio
2002 1.0 1.0 Visual Studio .NET 2002
2003 1.1 1.2 Visual Studio .NET 2003
2005 2.0 2.0 Visual Studio 2005
2006 3.0 2.0
2007 3.5 3.0 Visual Studio 2008
2010 4.0 4.0 Visual Studio 2010
2012 4.5 5.0 Visual Studio 2012
2013 4.5.1 5.0 Visual Studio 2013

Storia delle versioni di .NET, C# e Visual Studio.

.NET Framework Versions, C# Releases, Visual Studio Editions history

 

Build 2013, preview di Windows 8.1, Visual Studio 2013 e .NET Framework 4.5.1

Durante la prima giornata della conferenza Build 2013, grandi novità annunciate per noi sviluppatori .NET!

Oltre alla preannunciata preview di Windows 8.1 (http://windows.microsoft.com/it-it/windows-8/preview) è disponibile per il download anche la nuova versione 2013 Preview di Visual Studio, per iniziare da subito a provare le novità del nuovo sistema operativo.

http://www.microsoft.com/visualstudio/eng#2013-preview

Anche in versione express fra l'altro!

 

Per quanto riguarda invece il .NET Framework annunciata la versione 4.5.1 preview, le cui novità sono riassunte al link

http://blogs.msdn.com/b/dotnet/archive/2013/06/26/announcing-the-net-framework-4-5-1-preview.aspx

di cui, dal punto di vista della produttività dello sviluppatore, possiamo riassumere il contenuto con:

  • X64 edit and continue
  • Async-aware debugging
  • Managed return value inspection
  • ADO.NET idle connection resiliency
  • Improvements in Windows Store app development

Mi piace sottolineare le novità introdotte per lo sviluppo di interfacce grafiche XAML, con un sacco di miglioramenti che ci faranno risparmiare un sacco di tempo, per esempio che ne pensate di poter utilizzare l'intellisense nelle risorse (tipo {StaticResource ...}) o di poter andare alla definizione di un elemento XAML con un F12 (il classico Go to Definition). Qui un bel riassunto direttamente dalla conferenza http://www.irisclasson.com/2013/06/26/build-2013-what-is-new-in-xaml-highlights/

 

VisualStateManager non funzionante in Blend o Visual Studio?

Qualche giorno fa mentre terminavo i dettagli di una Windows Store App, mi sono trovato a dover lavorare con le snapped view di una particolare pagina.

In genere Blend e Visual Studio offrono un eccellente supporto, mediante la tab Device, e possibile definire le diverse viste di una pagina per ogni orientamento e layout:

 

 

E' possibile quindi specificare il layout per ogni versione della pagina (Fullscreen, Snapped, ecc.) utilizzando il designer.

Il corrispondente codice XAML di gestione degli stati è simile al seguente:

 

<VisualStateManager.VisualStateGroups>
          <VisualStateGroup x:Name="ApplicationViewStates">
             <VisualState x:Name="FullScreenLandscapeOrWide"/>
             <VisualState x:Name="FilledOrNarrow" />
             <VisualState x:Name="FullScreenPortrait" />
             <VisualState x:Name="FullScreenPortrait_Detail" />
             <VisualState x:Name="Snapped" />
             <VisualState x:Name="Snapped_Detail" />
          </VisualStateGroup>
</VisualStateManager.VisualStateGroups>

 

Tutto bellissimo, ma per una particolare pagina non riuscivo a selezionare alcun valore dall'elenco Visual States, mi dava solo l'opzione (Base).

Cercando un pò in giro, ho trovato qualche possibile problema, per esempio il codice XAML precedente, deve essere inserito all'interno dell'elemento principale che contiene il resto della pagina, per esempio all'interno della Grid. Verifico che sia così, e quindi passo a cercare altre problematiche.

La pagina deve poi derivare da LayoutAwarePAge, che contiene il codice necessario a gestire i cambiamenti di orientation e layout. Anche questo però era ok.

Allora provo a creare un nuovo progetto Grid Application da zero, per confrontare il codice autogenerato e per verificare che in generale il designer funzioni correttamente.

E qui trovo l'inghippo, mancave l'attributo x:Name nel tag VisualStateGroup, che deve essere impostato nel seguente modo.

<VisualStateGroup x:Name="ApplicationViewStates">