febbraio 2012 Blog Posts
Qualche giorno fa ho parlato di un possibile problema che si può avere usando una libreria per il “Full” Profile in un progetto che invece si appoggia al profilo Client. Come detto, il Client Profile è la scelta consigliata quando sviluppiamo applicazioni client. Tuttavia, anche in questo caso spesso si ha necessità di usare classi che fanno parte del Full Profile. Ad esempio, se dobbiamo effettuare l’encode/decode di stringhe HTML e Url, è naturale pensare ai metodi della classe HttpServerUtility, che però è contenuta nell’assembly System.Web.dll, che non fa parte del Client Profile. D’altra parte, può sembrare esagerato...
Qualche settimana fa ho parlato della mia libreria per il Text-To-Speech con il .NET Framework. Nel frattempo, il servizio Microsoft Translator, su cui la libreria si appoggia, è stato spostato su Azure ed è stato arricchito di nuove funzionalità. Ora è possibile ottenere il parlato in formato WAV oppure MP3 e specificarne la qualità. Uno dei maggiori cambiamenti è che il meccanismo di accesso basato sul Bing Application ID, usato nella versione precedente, non è più supportato. Il nuovo servizio utilizza un sistema basato su token, compatibile con lo standard OAuth. Di conseguenza, per usare il servizio...
Le applicazioni per Windows create con Visual Studio 2010, siano esse WPF, Windows Forms o Console, utilizzano di default il .NET 4 Client Profile, ovvero un sottoinsieme del .NET Framework ottimizzato proprio per le applicazioni client. Al contrario, le Class Library sono configurate per usare il “Full Profile”, ovvero l’intera Base Class Library di .NET. Questo può portare ad un problema nel momento in cui utilizziamo un assembly che non fa parte del Client Profile. Infatti, se proviamo ad utilizzare tale libreria in un’applicazione Client Profile, otterremo un errore, perché stiamo tentando di accedere ad oggetti che sfruttano una...
Sabato 17 Marzo, a Pisa, si svolgerà il WP7 3D Lab, un laboratorio organizzato da DotNetToscana dedicato allo sviluppo di videogiochi 3D per Windows Phone. Nel corso della giornata, verranno mostrate alcune caratteristiche del Microsoft XNA Framework rivolte alla grafica 3D, tra le quali: Strumenti di alto livello per eseguire operazioni sul device grafico Facilities di natura algebrico-aritmetica per la definizione degli algoritmi Tutti gli argomenti trattati saranno finalizzati alla realizzazione di un videogame 3D, che ci permetterà di introdurre alcuni dei concetti che sono...
Ho appena pubblicato su DotNetToscana un articolo in cui presento la mia nuova libreria, Jump List Helpers, che permette di aggiungere una Jump List alle proprie applicazioni Windows Forms e, cosa più interessante, fornisce un sistema per ricevere notifiche quando si seleziona un comando.
Per capire quest’ultima affermazione, è necessaria una precisazione: le voci mostrate in una Jump List possono solo avviare programmi, URL o file: non è possibile inviare comandi direttamente all'applicazione a cui la Jump List appartiene. La mia libreria supera questa limitazione: sfrutta le funzionalità del Windows API Code Pack e definisce una serie di metodi che facilitano...
Girovagando su Internet, ho trovato un articolo che illustra in maniera molto semplice l'utilizzo della classe Task. Gli esempi forniti permettono di comprendere immediatamente la potenza di questo oggetto. Esso fa parte di una serie di 20 post, Parallelism in .NET, dedicati alla Task Parallel Library e a PLINQ. Caldamente consigliato a chi vuote approfondire l’argomento (quindi spero la maggior parte dei programmatori .NET…). Tag di Technorati: .NET,Programming,C#,VB .NET,Silverlight,WPF,ASP .NET
Una cosa forse non molto conosciuta è che WPF supporta il controllo ortografico durante la digitazione per i controlli TextBox e RichTextBox. Per abilitarlo, è sufficiente impostare la relativa attached property SpellCheck.IsEnabled su true. Inoltre, tramite la proprietà Language, è impossibile impostare la lingua del correttore: <TextBox SpellCheck.IsEnabled="True" Language="en-US" Height="25" Width="200" />
Purtroppo, il controllo ortografico supporta solo 4 lingue: inglese, francese, tedesco e spagnolo. In pratica, esso funziona solo se la lingua del nostro sistema è una di queste.
L’oggetto SpellCheck espone anche un’altra proprietà interessante, CustomDictionaries, con cui possiamo aggiungere dizionari personalizzati al correttore...
E’ stata da poco rilasciata la versione 4.3 di Entity Framework, già disponibile anche su NuGet. Sul blog del team di ADO .NET è possibile leggere l’annuncio ufficiale. Tag di Technorati: .NET,Programming,Entity Framework,Updates
Ho pubblicato su MSDN Code Gallery una libreria, chiama Light Script Engine, che permette di compilare dinamicamente porzioni di codice C#. Può essere utilizzata, ad esempio, per aggiungere un motore di scripting alle proprie applicazioni. Il sistema, inoltre, fornisce automaticamente un meccanismo con cui passare argomenti al codice dinamico e ricevere valori di ritorno.
Il file ZIP disponibile contiene, oltre alla libreria vera e propria, anche un’applicazione WPF con alcuni pezzi di codice già impostati, grazie ai quali è possibile verificare immediatamente il funzionamento dell’engine:
Su DotNetToscana è disponibile un articolo che illustra più nel dettaglio le sue caratteristiche e fornisce alcuni esempi delle sue...
Utilizzando i metodi per la copia e lo spostamento dei file messi a disposizione dalla classe System.IO.File, se si lavora con percorsi troppo lunghi, si ottiene una PathTooLongException, secondo cui i path devono essere minori di 248 caratteri e i nomi dei file non possono avere più di 260 caratteri. Per aggirare il problema, si possono utilizzare le funzioni delle API di Windows, avendo l'accortezza di specificare il prefisso \\?\ davanti al nome del file. Nel post Getting around PathTooLongException on file move with Windows Native API di Gal Ratner è descritta una semplice classe che mostra l'utilizzo di...
L’applicazione per .NET Gadgeteer che ho realizzato insieme a Micheal Dodaro, .NET Gadgeteer Servo Camera & Windows Phone Client, è stata inserita nel sito ufficiale di .NET Gadgeteer. In questo momento compare direttamente nella Home Page come Featured Project. Anche queste sono soddisfazioni, e un chiaro stimolo a continuare sulla strada che ho intrapreso. Tag di Technorati: .NET,Programming,.NET Micro Framework