VB .NET
Oggi ho finalmente trovato il tempo di aggiornare la mia libreria per la traduzione e il Text-To-Speech con il servizio Microsoft Translator. Questa release porta con sé un’importante novità: la versione per Windows Store adesso è un Windows Runtime Component, e quindi può essere utilizzata, oltre che da C#/VB .NET, anche con Javascript e C++. Come sempre, potete scaricarla da CodePlex oppure tramite NuGet (il nome del package è TranslatorService.Speech). Tag di Technorati: .NET,Programming,C#,VB.NET,Windows Phone,WinRT,CodePlex
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 .NET 4.5 is an in-place replacement for .NET 4.0 di Rick Strahl:
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...
Ieri sera ho iniziato a lavorare al porting su Windows Phone della mia libreria per il Text-To-Speech con Microsoft Translator. Ad un certo punto, il servizio ha iniziato a restituire il codice di errore 400 (Bad Request) ad ogni mia richiesta: l’unica cosa che riuscivo ad ottenere era la lista dei linguaggi supportati dal Text-To-Speech. Dopo aver fatto qualche ricerca, sono arrivato alla pagina Microsoft Translator sul Windows Azure Marketplace, in cui sono elencati i costi del servizio, in base al numero di caratteri inviati al mese. L’ultima opzione, fino a 2.000.000 di caratteri, è gratuita. Ho quindi effettuato...
Alzi la mano chi non ha mai inserito in Google un messaggio di errore di .NET, alla ricerca di una spiegazione del problema: così facendo, infatti, spesso possiamo trovare descrizioni dettagliate, con precise indicazioni su come risolvere l'inghippo. Tuttavia, se utilizziamo una versione localizzata del Framework .NET (oppure se installiamo un'applicazione in un PC con la versione localizzata del Framework), anche i messaggi di errore sono tradotti. Come ben sappiamo, invece, abbiamo maggiori possibilità di trovare informazioni se cerchiamo il messaggio in inglese. Ma c'è un problema: spesso le traduzioni dall'inglese lasciano molto a desiderare (per non dire di...
Lo scorso weekend ho pubblicato una nuova versione della mia libreria per il Text-To-Speech. Ora espone un nuovo metodo, Translate (e la corrispondente versione asincrona TranslateAsync), che permette di ottenere solo la traduzione del testo, senza richiedere lo stream del parlato.
Inoltre, ho aggiunto la proprietà AutomaticTranslation, che se impostata a false non richiede la traduzione del testo quando si recupera lo stream audio. In questo modo, è possibile velocizzare l’esecuzione quando abbiamo già il testo nella lingua corretta (e quindi non abbiamo bisogno di traduzioni).
Come sempre, la potete trovare su MSDN Code Gallery e su NuGet, con nome TranslatorService.Speech.
Tag di Technorati:...
Questa mattina, con grandissima sorpresa ed estremo piacere, ho scoperto che la mia libreria per il Text-To-Speech è oggetto di un post su Channel9. Sono molto felice che stia riscuotendo questo successo, quindi continuerò sicuramente a lavorarci sopra.
Insomma, sono soddisfazioni…
Tag di Technorati: .NET,Programming,C#,VB.NET
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...
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...
AutoMapper è una libreria indispensabile in tutti quei casi in cui è necessario mappare un oggetto su un altro. Esempio tipico è quando abbiamo un oggetto che rappresenta un’entità del database e lo vogliamo utilizzare per impostare le proprietà di un nostro oggetto di business. Questa attività, estremamente noiosa e ripetitiva, grazie ad AutoMapper si realizza con una semplice riga di codice.
AutoMapper è un progetto open source disponibile su GitHub. Può anche essere scaricato direttamente tramite NuGet. Su CodeProject, inoltre, si può trovare un articolo che mostra come muovere i primi passi con la libreria.
Tag di Technorati: .NET,Programming,C#,VB .NET,ASP .NET,Silverlight
Seguendo le numerose richieste ricevete via mail, ho aggiornato il mio esempio di Text-To-Speech tramite il servizio Microsoft Translator, Speech Synthesis with Microsoft Translator service, aggiungendo anche la versione Visual Basic della libreria. Come sempre, è possibile scaricarla dall'indirizzo http://code.msdn.microsoft.com/Speech-Synthesis-with-7658fa03. Tag di Technorati: .NET,Programming,VB .NET,MSDN
Quest'oggi avevo la necessità di convertire un orario in formato UTC, prelevato da un database, nell'orario locale. Il tipo DateTime mette a disposizione un metodo, ToLocalTime, che sembra perfetto per questo scopo. Tuttavia, il suo utilizzo "diretto" non porta il risultato sperato. Il motivo è semplice: se leggo un campo datetime da un database e lo salvo in una variabile DateTime, .NET suppone che tale orario sia espresso nel formato locale, quindi se su tale variabile invoco il metodo ToLocalTime, ottengo di nuovo l'orario originale. Per ottenere il risultato voluto, è necessario utilizzare un'istruzione come la seguente: ...
Questa me l’ero proprio persa... Un paio di mesi fa è stato rilasciato l’aggiornamento 4.0.2 del .NET Framework. Si tratta di un update per Visual Studio 2010 SP1 che aggiunge il supporto alle funzionalità AlwaysOn e LocalDB introdotte con SQL Server “Denali”. Esso, inoltre, comprende anche tutte le novità introdotte con la versione 4.0.1, rilasciata lo scorso aprile (StateMachine per Windows Workflow Foundation, comprendente l’aggiunta di un designer, supporto a SqlWorkflowInstanceStore per SQL Azure, Compensation Extension per WF4) .
Da notare che la nuova versione del Framework verrà aggiunta a quelle disponibili nella lista Target framework di Visual Studio. Sarà possibile...
Come ben sa chiunque abbia letto anche solo uno dei libri di certificazione Microsoft, i testi sono pieni di errori… Alcuni sono sviste, mentre altri sono molto gravi, come quello che ho appena riscontrato nel capitolo dedicato alla creazione di Custom Web Control. In esso, si parla dei metodi RenderBegin e RenderEndTag, per creare il codice HTML corrispondente rispettivamente al tag di apertura e a quello di chiusura del controllo. Nel libro si legge che: Note that the RenderEndTag is not required, because it is automatically called and will render an end tag based on...
Il Self-Paced Training Kit per l’esame 70-511, Windows Applications Development with Microsoft .NET Framework 4, dedica una lezione al Drag and Drop, sia nelle applicazioni Windows Forms, sia in WPF. In entrambi i casi, si prende come esempio il Drag and Drop tra due controlli TextBox: nessun problema per le Windows Forms, dove tutto funziona come previsto; qualche inghippo, invece, si ha con WPF… In pratica, tutto il codice illustrato non funziona, perché WPF gestisce automaticamente il drag and drop tra due caselle di testo! Così, ad esempio, se proviamo a richiamare il metodo DragDrop.DoDragDrop nell’evento TextBox.PreviewMouseLeftButtonDown, il testo contenuto...
Ultimamente, non ci siamo quasi più fatti sentire, quindi immagino che molti di voi abbiamo pensato che DotNetToscana fosse morta. E invece, come l’araba fenice, siamo tornati! Dopo una serie di incontri, virtuali e non, abbiamo pubblicato un nuovo sito web, molto più snello e veloce del precedente. Ma, soprattutto, abbiamo deciso di partire alla grande organizzando un Hands On Lab sullo sviluppo di videogiochi per Windows Phone 7 con XNA. L’evento si svolgerà il 14 Maggio a Pisa e avrà durata giornaliera. E’ già tutto pronto: sul nostro sito potete leggere di cosa si tratta e registrarvi immediatamente...
DotNetToscana non è mai decollata come avremmo voluto. Comunque noi non ci arrendiamo e ce la metteremo tutta per cambiare rotta ed imboccare quella giusta. Vogliamo approfittare di questa pausa estiva per riflettere sulle difficoltà ed i problemi che abbiamo incontrato più volte in questi anni e risolverli. Però per farlo al meglio abbiamo bisogno anche di sentire la vostra voce, per questo abbiamo creato un piccolo sondaggio grazie a cui potrte farci sapere le vostre opinioni, i vostri consigli e suggerimenti. L’obiettivo finale è quello di far “rinascere” DotNetToscana. Clicca qui per rispondere al sondaggio Technorati Tag:...
Chiunque programmi in ASP .NET conosce bene l’oggetto HttpContext, che consente di recuperare informazioni sul contesto HTTP della richiesta corrente; in particolare, la sua proprietà statica Current permette di ottenere, da qualunque punto del codice, il contesto corrente. Un suo tipico utilizzo consiste nell’inserire, all’interno della collezione Items, tutti gli oggetti che devono vivere per tutta la durata della richiesta HTTP. WCF non offre “direttamente” un oggetto di questo tipo. Esso, però, mette a disposizione la proprietà OperationContext.Current.Extensions, grazie a cui possiamo aggiungere vere e proprie “estensioni” da associare al contesto della richiesta. In questo modo, possiamo facilmente creare...
Perdonate la lunghezza del titolo, ma non sapevo come riassumere la situazione… In pratica, la situazione è questa: ho un metodo (chiamiamolo A) che restituisce una classe al cui interno è contenuta una proprietà di tipo List<T>; ho poi un altro metodo (B) che prende in ingresso un oggetto dello stesso tipo (per effettuare degli aggiornamenti, ma questa è un’altra storia). Il metodo A funziona senza problemi; al contrario, invocando il metodo B, ancor prima di entrare nel codice del servizio WCF, si ottiene una eccezione di tipo NullReferenceException. L’origine del problema è semplice: la proprietà di tipo List<T>...
Nella nuova sezione Recensioni di DotNetToscana è disponibile un articolo relativo a Crypto Obfuscator for .Net 2010, un programma per la protezione del codice sorgente .NET tramite “offuscamento”. Lo potete leggere sia in italiano sia in inglese. Technorati Tag: .NET,Programming,Visual Studio,Tools
Il .NET Framework fornisce un semplicissimo metodo per recuperare l’icona associata ad un file eseguibile, System.Drawing.Icon.ExtractAssociatedIcon. E’ possibile utilizzarlo, ad esempio, per impostare automaticamente l’icona della form principale della nostra applicazione sull’immagine specificata nelle proprietà del progetto: Me.Icon = Drawing.Icon.ExtractAssociatedIcon(Application.ExecutablePath)
Semplice e veloce :-)
Technorati Tag: .NET,Programming,Visual Studio,C#,VB .NET
Il titolo forse sembra un gioco di parole… In pratica, il problema è inserire una sezione di codice XML all’interno dei commenti di documentazione delle classi di .NET, che anch’essa è scritta in XML. In questo caso, il tag da utilizzare è <code lang="xml">
Tuttavia, se al suo interno si scrive direttamente il codice XML, una volta generata la documentazione, ad esempio con Sandcastle Help File Builder, il frammento di XML apparirà senza indentazione e “schiacciato” su una sola riga. Per mantenere la formattazione originale, è necessario racchiudere l’XML che si vuole mostrare in un tag di...
Sono finalmente aperte le iscrizioni al Community Tour di DotNetToscana. Chi si era precedentemente registrato, dovrebbe aver già ricevuto via mail il link alla nuova pagina di registrazione; chi non lo avesse ricevuto, oppure non si era ancora segnato all’evento, può farlo utilizzando l’apposito form disponibile su WWEvents. Technorati Tag: Community,Microsoft,.NET,Visual Studio
A causa di problema organizzativi, Microsoft, in accordo con DotNetToscana, ha deciso di rinviare la tappa del Community Tour prevista per il 9 Dicembre a Navacchio (PI). L'evento dovrebbe essere riproposto nei giorni 11 oppure 12 Gennaio, ma naturalmente comunicherò tempestivamente ogni aggiornamento. Mi dispiace molto per questo spostamento, sono sicuro che la prossima volta andrà tutto alla grande! Technorati Tag: .NET,Community,Microsoft
Il Krypton Toolkit è più che mai un progetto attivo: la nuova versione 4.1, rilasciata da poco, fornisce il supporto alle palette e agli stili del Ribbon di Office 2010. Il download è disponibile qui.
Technorati Tag: .NET,Programming,Tools,C#,VB .NET
La notizia è senz'altro interessante: Novell ha rilasciato un plug- in per Visual Studio con cui è possibile realizzare applicazioni per Linux lavorando però in ambiente Windows. Purtroppo, si tratta di un add-in a pagamento. Rimando alla fonte per maggiori dettagli. Technorati Tag: Visual Studio,.NET,Programming,Windows
Il 9 Dicembre si svolgerà la tappa toscana del Microsoft Community Tour 2009. Nel corso dell'evento parleremo di .NET RIA Services, Silverlight, Internet Explorer 8 e ASP .NET MVC. Potete trovare l'agenda completa sul nostro sito, nella sezione Eventi. La registrazione sarà disponibile a partire da Mercoledì 28 Ottobre. Vi aspetto numerosi Technorati Tag: .NET,Programming,C#,VB .NET,AJAX,Programs,Microsoft,Community,Silverlight,ASP .NET
La nostra Community cresce… Da pochi minuti il sito DotNetToscana si è arricchito di una nuova sezione, Tips & Tricks, in cui raccoglieremo trucchi e suggerimenti per risolvere i tipici problemi che si devono affrontare nel mondo della programmazione .NET. Technorati Tag: .NET,Programming,Visual Studio,C#,Visual Basic .NET,ASP .NET,LINQ,AJAX,Silverlight
La proprietà TreeView.Nodes.Count restituisce il numero di nodi di una TreeView, ma conta solo i "discendenti diretti". Per recuperare il numero totale di nodi, indipendentemente dalla loro profondità, è necessaria una funzione ricorsiva: Public Function GetTotalNodes(ByVal treeView As TreeView) As Integer
Return Me.GetTotalNodes(treeView.Nodes)
End Function
Private Function GetTotalNodes(ByVal nodes As TreeNodeCollection) As Integer
Dim rootNodes As Integer = nodes.Count
For Each node As TreeNode In nodes
rootNodes += Me.GetTotalNodes(node.Nodes)
Next
Return rootNodes
End Function
Technorati Tag: .NET,Programming,VB .NET
Windows Forms Aero è un progetto che ho pubblicato su CodePlex ormai più di 2 anni fa. Pochi giorni fa, grazie al contributo di Blake B. Pell, che si è recentemente aggiunto al team degli sviluppatori, è stata rilasciata la versione 1.4.1 della libreria, in cui si segnala la presenza di tre nuovi controlli: VerticalPanel HorizontalPanel LabelDivider Se vi capita di scaricare questa libreria, mi piacerebbe sapere cosa ne pensate. Technorati Tags: .NET, Programming, C#, VB .NET, Visual Studio
La versione 4.0 del .NET Framework includerà un nuovo tipo dato, chiamato Tuple, con cui sarà possibile definire una collezione di elementi, fortemente tipizzata. Su MSDN Magazine di Luglio 2009 è disponibile un articolo che ne illustra il funzionamento: 1: class Program {
2: static void Main(string[] args) {
3: Tuple<string, int> t = new Tuple<string, int>("Hello", 4);
...
Visual Basic 6 è duro a morire… In questi giorni ho dovuto esporre come oggetto COM una libreria che ho realizzato con .NET, perché deve essere richiamata, appunto, da una vecchia applicazione in Visual Basic. E, fatto questo, naturalmente, mi è toccato costruire un piccolo esempio in VB6 per mostrare il suo utilizzo. Per quanto VB sia stato il mio primo "vero" linguaggio di programmazione, erano circa 7 anni che non scrivevo codice in questo ambiente… Da una parte, il ritorno alle origini è stato interessante, dall'altra, mi è capitato diverse volte di fermarmi perché non ricordavo come si...
E' stata rilasciata ieri l'edizione di Giugno 2009 del WPF Toolkit, disponibile su CodePlex. Tra le novità, si segnalano in particolare i tanto richiesti Chart Controls, per inserire con facilità grafici e diagrammi nelle proprie applicazioni. Technorati Tag: .NET,Programming,Tools,C#,VB .NET
AnkhSvn è un Source Control Provider per Visual Studio 2005/2008/2010 per l'utilizzo di Subversion. L'ultima versione disponibile, la 2.1.6941, aggiunge il supporto a Subversion versione 1.6.x, permettendo quindi di avere un controllo del codice sorgente completamente integrato nell'ambiente di sviluppo (la release precedente di AnkhSvn, la 2.0, poteva essere utilizzata solo con Subversion 1.5.x). Technorati Tag: .NET,Programming,Tools
Da qualche tempo è disponibile su MSDN una sezione dedicata a Windows Azure e alla piattaforma per il Cloud Computing di Microsoft: un buon punto di raccolta di tutto il materiale ufficiale attualmente disponibile, per un sistema che mi ispira sempre di più ogni volta che ne sento parlare… Technorati Tag: .NET,Programming,Tools
Su MSDN Flash che ho appena ricevuto leggo di un progetto molto interessate, Windows API Code Pack for Microsoft .NET Framework: The Windows® API Code Pack for Microsoft® .NET Framework provides a source code library that can be used to access some new Windows 7 features (and some existing features of older versions of Windows operating system) from managed code. These Windows features are not available to developers today in the .NET Framework. La lista delle funzionalità supportate è molto interessante: Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails,...
Ultimamente sto utilizzando con una certa frequenza l'accoppiata Sandcastle e Sandcastle Help File Builder per creare la documentazione tecnica delle librerie che sviluppo. Ho così notato che gli stili predefiniti inclusi nella distribuzione di Sandcastle non risultano completi (ad esempio, non contengono tutte le trasformazioni per il tag <note>). Su CodePlex è però disponibile un progetto, Sandcastle Styles, che contiene una serie di fix per gli stili di Sandcastle. L'ultima versione è disponibile qui. Technorati Tags: .NET, Programming, Tools
Quando si sviluppano o si utilizzano servizi realizzati con Windows Communication Foundation, l'individuazione degli errori può essere problematica, poiché, spesso, se qualcosa non funziona si ottiene semplicemente una eccezione di tipo CommunicationObjectFaultedException, la cui descrizione contiene Il generico messaggio The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state. In situazioni di questo tipo, è molto utile attivare il tracing del servizio WCF, in modo da ottenere una registrazione completa di tutto quello che succede, con l'indicazione precisa dell'errore che si è verificato. Le impostazioni consigliate per abilitare...
Visual Studio fornisce un metodo molto semplice per "inferire" lo schema XSD di un file XML: basta aggiungere un Item al progetto e selezionare XML To Schema per avviare un'apposita procedura guidata. In alcuni casi, però, potrebbe essere necessario fare anche il viceversa, ovvero costruire automaticamente un file XML che rispetti i vincoli definiti nel relativo XSD: può essere utile, ad esempio, quando si vogliono creare file XML di prova, conformi ad un certo formato, per eseguire una serie di test. In questo caso non ci sono strumenti già "confezionati". Su MSDN, però, è presente un articolo molto interessante, Generating...
Cercando su MSDN, ho notato che le informazioni sulla documentazione XML (tag supportati, significato dei vari parametri, ecc.) sono sparse in varie pagine, ovvero manca un punto centrale che raccolga tutte le risorse. Come sempre, però, Google mi è venuto in aiuto, trovando il documento XML Documentation Comments Guide: si tratta di una guida disponibile in vari formati (tra cui un PDF di circa 70 pagine) che illustra tutti i tag supportati, con chiari esempi di utilizzo. Technorati Tag: .NET,Programming,C#,VB .NET
Da un paio di settimane è stata rilasciata la nuova versione di GhostDoc, un add-in per Visual Studio in grado di aiutare nella scrittura di commenti XML relativi a metodi, proprietà ed eventi delle nostre classi .NET. Personalmente lo ritengo un tool indispensabile se si utilizza Sandcastle per generare la documentazione delle proprie librerie. Le novità di questa versione comprendono il supporto ufficiale a VB .NET (prima era considerato solo "sperimentale") e la compatibilità con Visual Studio 2010 Beta 1. Technorati Tag: .NET,Programming,Visual Studio,Tools
Cercando qualche informazione in merito all'utilizzo dei certificati X509 in .NET, sono capitato in questo blog, che contiene una nutrita serie di articoli molto interessanti, relativi alle linee guida per lo scrittura di codice .NET riutilizzabile (ad esempio, non usare la notazione ungherese, utilizzare il camelCase per i nomi di variabili private e parametri, ecc.). Si tratta soprattutto di post che fanno riferimento al libro Framework Design Guidelines. Molto interessante. Technorati Tag: .NET,Programming,ASP .NET,C#,VB .NET
Windows User Experience Interaction Guidelines è la raccolta delle linee guida di Microsoft per lo sviluppo di applicazioni client conformi gli standard grafici di Windows. Recentemente, tale guida è stata aggiornata con le linee guida per Windows 7, quindi ad esempio contiene informazioni per la gestione di applicazioni "touch" e nuove regole per Windows Desktop Gadget. L'indirizzo da cui partire per la consultazione è questo, ma l'intera guida è anche disponibile in un corposo file PDF di 39 MB. Technorati Tag: Windows,Programming
MSDN Italia ci informa della disponibilità del Training Kit per la versione Beta 1 di Visual Studio 2010 e del Framework .NET 4.0, contenente materiale relativo a: C# 4.0 Visual Basic 10 F# Parallel Extensions Windows Communication Foundation Windows Workflow Windows Presentation Foundation ASP.NET 4 Entity Framework ADO.NET Data Services Managed Extensibility Framework ...
Se la cancellazione di file dal Solution Explorer di Visual Studio impiega diversi secondi, arrivando a bloccare l'intero ambiente di sviluppo, il problema è dovuto all'elevato numero di file presenti nel Cestino: basta svuotarlo per ottenere il comportamento normale (ovvero cancellazioni quasi istantanee). Technorati Tags: Visual Studio
Ho notato un comportamento strano con il controllo TreeView delle Windows Forms di .NET 3.5 SP1. Se, in fase di progettazione, imposto il carattere normale per i nodi, e a tempo di esecuzione aggiungo nuovi TreeNode con il font grassetto, le relative etichette appaiono "tagliate", come se il testo uscisse dal rettangolo che dovrebbe contenerlo. Ho provato a fare qualche ricerca su Internet, ma a quanto pare l'unico modo per risolvere il problema (tralasciando le tecniche di subclassing del controllo) consiste nell'impostare il carattere bold per tutto il TreeView, quindi ridefinire il font dei nodi che devono apparire con testo...
Questa mattina stavo cercando, in VB .NET, di convertire un tipo generico in un array di byte, cosa che in C# si fa semplicemente con la parola chiave as. Ho provato dapprima con DirectCast, quindi con CType, ma in entrambi i casi ottenevo un errore in compilazione. Alla fine ho scoperto che l'istruzione da utilizzare si chiama TryCast… Ci saranno sicuramente dei motivi validi per cui VB .NET ha tutti questi operatori diversi, fatto sta che la cosa mi ha fatto perdere del tempo… Technorati Tag: .NET,Programming,VB .NET,C#
Qualche giorno fa ho parlato del supporto agli add-in fornito da .NET 3.5. In tale occasione, avevo accennato ad un tool, chiamato Pipeline Builder, che permette di semplificare le definizione di questa architettura, poiché è in grado di creare automaticamente tutte le class library di supporto. Si tratta di un add-in per Visual Studio 2008. Dopo l'installazione, è necessario registrarlo nel sistema seguendo le istruzioni riportate in questa pagina. Uno degli aspetti più interessanti del Pipeline Builder è che esso permette di definire anche eventi sull'interfaccia dell'add-in, cosa che, come sa chi ha provato il namespace System.AddIn, non è supportata...
This maintenance release fixes various issues but mainly bugs in the new KryptonDateTimePicker and KryptonMonthCalender controls. Also includes an important fix with the KryptonTextBox that was displaying the password text when in disabled mode. Maggiori informazioni e il link per il download sul sito di Component Factory. Technorati Tag: .NET,Programming,C#,VB .NET,Tools,Updates
Recentemente ho iniziato un nuovo progetto il cui nucleo deve essere basato su un'architettura a plug-in. Non avendo vincoli di sorta, ho voluto provare ad utilizzare il namespace System.AddIn aggiunto nel .NET Framework 3.5. Devo ammettere che il primo impatto con queste classi è stato un po' "traumatico": basti pensare che, per realizzare un sistema di plug-in minimale, bisogna realizzare almeno 5 Class Library e salvare i file in ben precise cartelle, altrimenti si otterranno errori in fase di esecuzione. Cercando un po' su Internet, ho trovato un post che spiega passo-passo come costruire questo tipo di architettura. Lo...
DotNetRomaCesta è il neonato User Group di Roma dedicato al mondo .NET. Come si legge nella sua Home Page: Lo scopo di quest'associazione è quella di creare un punto di riferimento per la città di Roma e per tutti gli appassionati ed utilizzatori di questa tecnologia, un modo per confrontarsi e scambiarsi le proprie esperienze. L'User Group nato dalla passione di persone, ha il compito di fornire materiale formativo, quali articoli e trucchi nonché notizie e di promuovere una serie di attività culturali e formativi volte ad accrescere la conoscenza di questa materia. Gli eventi, che...
Su DotNetToscana sono disponibili le slide della mia sessione Windows 7 – Le novità per gli sviluppatori che ho tenuto nel corso dell'Installation Fest di Windows 7 di Mercoledì 25 Marzo. Technorati Tag: .NET,Programming,Community
So che sono un po' di parte, ma personalmente ritengo che l'Installation Fest di Mercoledì scorso sia andato molto bene. L'organizzazione è stata ineccepibile (quanto c'era da mangiare…), le persone si sono dimostrate interessate agli argomenti e la mia sessione sulle novità per sviluppatori è piaciuta, come testimoniato dalle domande che mi sono state fatte alla fine. Sono contento che sia andata così bene, e che l'evento sia stato anche l'occasione per incontrare nuove persone, fare due chiacchere mentre l'installazione di Windows 7 filava più o meno liscia… E lanciare il sasso per coinvolgere altra gente nella nostra avventura di...
E’ stata da poco rilasciata la versione 3.5 del Kryptoon Toolikit, una raccolta di controlli freeware per applicazioni Windows Forms prodotti da Component Factory. Il nuovo aggiornamento porta il numero totale di controlli a 41. Tra le aggiunte, si segnalano: KryptonDateTimePicker KryptonMonthCalendar DateTimePicker for KryptonRibbon MonthCalendar for KryptonContextMenu Per-KryptonPage ButtonSpecs Il pacchetto scaricabile dal sito del produttore comprende l’intera Krypton Suite, che inculde anche la versione trial di una nutrita serie di altri controlli. Technorati Tag: .NET,Programming,C#,VB .NET,Tools
In questigiorni sto lavorando con VB .NET, su un progetto che usa il Framework 2.0 come target, impostazione che non posso cambiare. Volendo usare gli extension methods, che trovo comodissimi, ho provato a tradurre il tip per il loro utilizzo con .NET 2.0, che avevo scritto nel mio blog e che era relativo a C#. Purtroppo, il procedimento non è stato indolore come pensavo, ma ha richiesto un piccolo hack, che ho trovato leggendo questo post. Technorati Tag: .NET,Programming,VB .NET
Quest’oggi, Alessandro Del Sole ha reso disponibile uno Screencast con argomento "Creare e distribuire applicazioni Web su Windows Azure". Personalmente, ma questa ovviamente è solo la mia opinione, la ritengo una piattaforma molto interessante. Da un po’ di tempo avevo intenzione di fare qualche esperimento con essa… Ora non ho più scuse… Technorati Tag: .NET,Programming,Windows
Nel blog I know the answer (it's 42) è possibile trovare una serie è possibile trovare una serie di articoli che spiegano vari aspetti del funzionamento del Garbage Collector di .NET. Al momento sono ben 9: When does the .NET Compact Framework Garbage Collector run Forcing a Garbage Collection is not a good idea Series on dynamic memory management Reference Counting Garbage Collection Copying Garbage Collection Optimizing reference counting garbage collection Handling...
Oggi, mentre stavo per creare una Custom Exception in .NET, mi sono ricordato una cosa che avevo studiato nell'esame di certificazione 70-536, ovvero che la classe System.ApplicationException non dovrebbe essere utilizzata. Ma perché? Qual è il motivo che ha spinto Microsoft stessa a sostenere questa cosa? La risposta si trova facilmente con una ricerca su Google: JEFFREY RICHTER: System.ApplicationException is a class that should not be part of the .NET Framework. The original idea was that classes derived from SystemException would indicate exceptions thrown from the CLR (or system) itself, whereas non-CLR exceptions would be derived...
Venerdì scorso, presso il Dipartimento di Informatica dell'Università di Pisa, si è svolto il primo Workshop dello User Group toscano su .NET, Microsoft. NET Framework tra presente e futuro. E' stata la prima esperienza, sia come organizzatore di eventi, sia come speaker. A distanza di un giorno e mezzo, volevo condividere con voi le mie prime impressioni sull'esperienza: L'organizzazione di un evento è veramente un'attività impegnativa: questo sarà forse perché è stato il nostro primo Workshop, e quindi ci tenevamo che fosse tutto perfetto; La "tensione per la prima" era evidente: la...
Spesso la programmazione è vista metaforicamente come una "sfida", con traguardi da raggiungere, ostacoli sul proprio cammino, aiuti, imprevisti, ecc… Microsoft e HTML.it hanno provato a rendere concreta questa sfida, proponendo un gioco in Silverlight in cui lo sviluppatore deve cercare di rispondere il più velocemente possibile ad una serie di domande, guadagnando così punti per entrare in classifica, allo scopo di ottenere uno sconto del 40% sull'acquisto di Visual Studio 2008 Professional + MSDN Premium. Technorati Tag: .NET,Programming,Visual Studio
Andrea Marzilli, redattore e amico di HTML.it, mi ha fatto un'intervista a proposito dello User Group DotNetToscana, di cui sono un fondatore: si parla della sua nascita, del suo spirito e dell'evento che si terrà a Pisa il 20 Febbraio prossimo. Technorati Tag: .NET
Su MSDN Flash del 28 Gennaio 2009, nella sezione Eventi Community e Partner, è presente anche il primo Workshop di DotNetToscana, Microsoft .NET Framework tra presente e futuro, che ricordo si svolgerà il 20 Febbraio presso il Dipartimento di Informatica dell'Università di Pisa. Potete trovare l'indirizzo e l'agenda dell'evento sul nostro sito. Chi viene? Technorati Tags: .NET, Programming, ASP .NET, LINQ, Silverlight
E' con sommo piacere (e una punta di soddisfazione) che annuncio pubblicamente il primo workshop organizzato dallo User Group .NET Toscana: Microsoft .NET Framework tra presente e futuro. L'evento si svolgerà il giorno 20 Febbraio, dalle 14.00 alle 19.00 presso il Dipartimento di Informatica dell'Univeristà di Pisa. La partecipazione è completamente gratuita. Gli argomenti di cui vorremmo parlare sono tanti, ma purtroppo dobbiamo fare una scelta: per tale motivo, attualmente è in corso un sondaggio con cui chiunque può esprimere le proprie preferenze. Technorati Tags: .NET
Fin dalle prime versioni, Windows ci ha abituato ad utilizzare il tasto TAB per spostare il focus da un controllo al successivo: questo è, ovviamente, il comportamento predefinito anche per le applicazioni Windows Forms realizzate con .NET. Il cambiamento del focus può essere però realizzato anche via codice, utilizzando il metodo SelectNextControl: esso sposta automaticamente il focus sul controllo successivo, secondo la numerazione stabilita dalla proprietà TabIndex. Ad esempio, per fare in modo che, alla pressione del tasto INVIO in un TextBox, il focus passi alla casella successiva, immaginando che la proprietà TabIndex sia impostata correttamente, si deve scrivere: ...
Per iniziare ad utilizzare la nuova piattaforma Azure sono sufficienti 6 semplici passaggi, come riportato in questo post: Install Vista SP1 or Windows 2008 RTM Install VS 2008, then upgrade it to SP1. (azure needs .net 3.5 sp1) Install Azure SDK Install VS Azure SDK Install SDS SDK (optional SQL Data Services required for some Azure SDK samples) Extract the samples.zip, and then run the rundevstore.cmd from a elevated cmd prompt. Semplice, no?...
Per i collezioni o gli appassionati, è possibile scaricare i poster con le combinazioni di tasti per Visual Studio 2008: Poster per C# Poster per Visual Basic Technorati Tag: .NET,Programming,C#,VB .NET
Come ho scritto nel forum di DotNetToscana, in questi giorni ho avuto modo di fare qualche prova con due tra i più diffusi word processor javascript per il web: FCKeditor e TinyMCE. In particolare, ho approfondito l'utilizzo di quest'ultimo, che mi sembra davvero ben fatto e facile da utilizzare. E' open-source, rilasciato con licenza LGPL e compatibile con la maggior parte dei browser attuali (Mozilla, Internet Explorer, Firefox, Opera, Safari e Google Chrome). Sul sito Internet del produttore è anche disponibile la versione preliminare di un controllo per facilitare l'integrazione dell'editor in applicazioni ASP .NET, ma si tratta comunque di...
Le stringhe in .NET sono oggetti immutabili, quindi se si devono concatenare insieme un numero elevato si stringhe, usare l'operatore + è inefficiente, perché ogni volta verrebbe creata in memoria una nuova stringa. Per ovviare al problema, si deve utilizzare l'oggetto StringBuilder che, come si legge su MSDN, rappresenta una sequenza mutabile di caratteri, quindi ad esso è possibile aggiungere, rimuovere, inserire o sostituire caratteri senza la necessità di istanziare un nuovo oggetto in memoria.
Questa è la favoletta che tutti noi conosciamo... Però quando oggi, facendo debug di codice scritto da altri, ho sostituito tutte le concatenazioni di stringhe con...
In questi giorni sto guardando iTextSharp, una libreria gratuita per realizzare file PDF dalle proprie applicazioni .NET, per desktop e Web che siano. E' uno strumento potente, ricco di funzionalità, ma non molto facile da usare. A questo indirizzo ho trovato un semplice tutorial introduttivo che spiega come muovere i primi passi con questa libreria. Non è molto lungo, ma presenta comunque una serie di concetti importanti, tutti corredati da esempi di codice.
Technorati Tag: .NET,Programming,C#,VB.NET,ASP .NET,Tools
Come molti di voi sanno, da qualche giorno è possibile scaricare dal sito Microsoft una macchina virtuale contenente la prima CTP di Visual Studio 2010 e del .NET Framework 4.0. In questo post, invece, è contenuta una breve panoramica delle principali novità che troveremo nella Base Class Library prossima ventura.
Technorati Tag: .NET,Programming,Visual Studio,Updates,C#,VB .NET. Updates
Notizia molto interessante: a partire da oggi è disponibile il codice sorgente di Windows Presentation Foundation per .NET 3.5 SP1. Questo rilascio va ad aggiungersi alla prima informata di codice resa accessibile circa un anno fa; in quell'occasione Microsoft rilasciò solo una parte del Framework .NET, lasciando però intendere che, nei mesi a venire, avrebbe progressivamente fornito anche gli altri tasselli. Sembra proprio che questa promessa sia stata rispettata. Technorati Tag: .NET,Programming,Visual Studio,C#,VB .NET
Nuovo rilascio per il Krypton Toolkit, che giunge a quota 3.0.6. Queste le novità: Major Bug Fixes Locking/Unlocking computer causes text to disappear. Text not drawing at all for some Visual Studio projects. ComboBox drop down not working on some computers. Cannot edit Image properties with KryptonContextMenu. Design time change of Ribbon.MinimizedMode...
Utilizzando LINQ possiamo creare facilmente comandi per interrogare basi di dati SQL direttamente da codice, con tutti i vantaggi derivanti dalla type-safety e dal controllo dei parametri a tempo compilazione. In alcuni casi, tuttavia, ad esempio quando si realizza un sito Internet e, in particolare, il suo motore di ricerca interno, può capitare di dover eseguire interrogazioni su un database utilizzando una serie più o meno lunga di parametri impostati dall'utente (ad esempio, ricerca di prodotti solo in una certa categoria, con vincoli sul prezzo e sulla disponibilità, ecc.). Questa funzionalità può essere realizzata creando manualmente la query SQL, ovvero...
Il buon Matteo mi ha preceduto di qualche clic... Il panorama delle Community regionali dedicata a .NET si è da poco allargato con la nascita dello User Group Toscano. Era da diverso tempo che questa idea ci rimbalzava per la testa, e finalmente ci siamo riusciti! Il gruppo si è riunito per la prima volta intorno alle metà di Settembre... Un'allegra combriccola di 8 persone accomunata dalla passione per .NET, dalla voglia di mettersi in gioco e dalla convinzione che le Community siano un luogo di incontro (reale o virtuale che sia) di grande importanza. Poi sono arrivati i...
Nella prossima versione di Visual Studio Team System (Rosario, appunto), la Developer Edition e la Database Edition saranno unite in una nuova, unica edizione che le comprenderà entrambe. Fonte: AssemblyInfo blog Technorati Tag: .NET,Visual Studio
Originally posted at dotnettoscana.org
This software development kit (SDK) provides programming reference and how-to topics for getting started with the Virtual Earth Web Services. Il download è disponibile qui. Technorati Tags: Live, Programming, Tools
Da oggi gli MVP e i possessori di un blog dedicato a .NET con almeno 500 iscritti possono richiedere gratuitamente una licenza di Krypton Suite, il pacchetto completo di Component Factory contenente il Krypton Toolkit (disponibile anche gratuitamente), Krypton Ribbon (per creare interfacce stile Office 2007), Krypton Navigator e Krypton Workspace. Maggiori informazioni sull'offerta sono disponibili in questa pagina. Technorati Tag: .NET,Tools
E' stata rilasciata la versione 3.0 del Krypton Toolkit: Toolkit Highlights NEW - KryptonNumericUpDown NEW - KryptonBreadCrumb FIXED - KryptonComboBox bugs Ribbon Highlights NEW - NumericUpDown group element Navigator Highlights NEW - Page Drag and Drop added FIXED - Memory leak Workspace Highlights NEW - Whole new component added!...
In questo post è presente un breve questionario sulla distribuzione delle applicazioni .NET, che ha la scopo di raccogliere informazioni per migliorare il deploy nelle prossime versioni del Framework. Technorati Tag: .NET
Da qualche giorno è disponibile sul sito Microsoft la CTP di settembre dell'Open XML Format SDK 2.0. Il pacchetto, che richiede il .NET Framework 3.5, può essere scaricato qui. Technorati Tags: .NET, Programming, Tools, Updates
E' stata rilasciata da qualche giorno la WCF Security Guide, una serie di linee guida di Microsoft per lo sviluppo di soluzioni basate su Windows Communication Foundation. Si tratta di un corposo PDF di ben 689 pagine disponibile per il download gratuito su CodePlex. Technorati Tag: .NET,Programming
Su MSDN Magazine di Giugno 2008 è stato pubblicato un interessante articolo su come il Garbage Collector di .NET gestisce i cosiddetti oggetti grandi, ovvero oggetti che occupano più di 85.000 byte di memoria. Technorati Tag: .NET,Programming
Dopo qualche tempo di "indecisione", Sandcastle è tornato su CodePlex... Come molti di voi avranno intuito, questo significa che il team di sviluppo ha deciso di rilasciare anche il codice sorgente. Technorati Tags: .NET, Programming, Tools
Lo segnalo per quanti ancora non lo sapessero ma anche come promemoria personale: da qualche tempo gli aggiornamento e i bug fix di Visual Studio sono reperibili su MSDN Code Gallery: facendo clic su questo link è possibile accedere alla lista completa. Technorati Tag: .NET,Visual Studio,Updates
Recentemente mi è stato chiesto quando conviene utilizzare uno StringBuilder piuttosto che concatenare le stringhe con il +. L'argomento è stato affrontato più volte, ma credo sia comunque utile riportare quando dice MSDN, in modo da chiarire la situazione:
String objects are immutable in that they cannot be changed once created. Methods that act on strings actually return new string objects. Therefore, for performance reasons, large amounts of concatenation or other involved string manipulation should be performed with the StringBuilder class.
Technorati Tags: .NET, Programming, C#, VB .NET, ASP .NET
PInvoke Interop Assistant è un tool per la generazione automatica di chiamate P/Invoke a partire da funzioni dell'API di Windows. Grazie ad esso, è possibile generare codice managed per C# e VB .NET. In origine presentato in un articolo di MSDN Magazine di Gennaio 2008, è stato recentemente pubblicato su CodePlex.
Fonte: CLR Team Blog
Technorati Tag: .NET,Programming,Tools,C#,VB .NET
A questo indirizzo sono disponibili i link a 5 webcast dedicati a chi desidera cominciare a sviluppare sulla piattaforma Windows Mobile. Technorati Tags: Windows Mobile, .NET, Programming
Per la compressione di file ZIP in .NET, ho sempre utilizzato la famosa libreria SharpZipLib. In questi giorni, però, sono venuto a conoscenza di DotNetZip, di cui è stata recentemente rilasciata la versione 1.5. Si tratta di un progetto open-source pubblicato su CodePlex e rilasciato con licenza Microsoft Public License.
Tra le funzionalità offerte, c'è anche la possibilità di creare archivi auto-estraenti e file ZIP che possono essere direttamente inviati all'oggetto Response.OutputStream, cosa che permette di generare dinamicamente archivi compressi scaricabili via Internet.
Technorati Tags: .NET, Programming, C#, ASP .NET, VB .NET
In attesa che venga definitivamente deciso quale collocazione attribuire a Sandcastle (ad essere sinceri, a me non sembra una decisione tanto difficile ), per adesso è possibile scaricare l'ultima versione da Microsoft Downloads. Technorati Tag: .NET,Visual Studio,Tools
Sui blog di MSDN è apparso un post per me molto interessante, in cui si discute del fatto che il codice non può commentarsi da sé, quindi è necessario scrivere commenti per spiegare quello che si sta sviluppando. Si tratta di un argomento che mi sta molto a cuore: personalmente, sono dell'opinione che sia meglio un commento in più di uno in meno... Anzi, forse io esagero e tendo a commentare più del dovuto, ma lo faccio nell'ottica di riprendere il codice dopo qualche tempo dalla sua scrittura: quello che all'inizio può apparire chiarissimo (nel momento in cui lo si...
The Expression Encoder 2 SDK includes documentation, samples, and code to help you work with the Expression Encoder object model and extend the functionality of Expression Encoder 2. L'SDK può essere utilizzato con Visual Studio 2008, Visual C# Express 2008 o Visual C++ Express 2008 . Il download è disponibile qui. Technorati Tag: .NET,Programming
Parallel Extensions to the .NET Framework is a managed programming model for data parallelism, task parallelism, and coordination on parallel hardware unified by a common work scheduler. Parallel Extensions makes it easier for developers to write programs that scale to take advantage of parallel hardware by providing improved performance as the numbers of cores and processors increase without having to deal with many of the complexities of today’s concurrent programming models. E' stata rilasciata una nuova CTP di questa libreria, scaricabile gratuitamente da qui. Ne approfitto per ricordare che già da un po' di tempo...
Dal sito di CodePlex è possibile scaricare la nuova versione di Sandcastle, la 2.4.10520. Si tratta della stessa build utilizzata per produrre la documentazione di Visual Studio 2008 SP1. Sono stati corretti numerosi bug, come riportato sul blog del team di sviluppo. Technorati Tag: .NET,Programming,Tools,Visual Studio,Updates
Nuovo aggiornamento per questo insieme di controlli per Windows Forms. L'update in questione corregge alcuni bug ed aggiunge nuove combinazioni di colori ispirate a Windows Vista e Windows Media Player, che si affiancano alle palette già presenti in stile Office 2007.
Per il download diretto, fate clic qui.
Technorati Tag: Updates,.NET,Programming,C#,VB .NET,Tools
Tranquilli, non ho assolutamente intenzione di scrivere un post in cui metto a confronto .NET e C++, dicendo quale è meglio e quale è peggio... Su questo argomento è già stato scritto di tutto . Vorrei invece fare una riflessione sulla diverse "filosofie di programmazione" che seguo quando lavoro in C++ rispetto a quando uso .NET. Come i miei 25 lettori sanno bene, nell'ultimo anno ho accumulato una certa esperienza con .NET, accompagnata dal conseguimento di diverse certificazioni. Anche i lavori che ho fatto finora hanno sempre riguardato questa piattaforma. Ultimamente, però, nella mia nuova società sto affrontando un...
Mi sembra che fosse stato già segnalato tempo fa sul muro, ma nell'incertezza lo riporto nuovamente, anche come appunto personale: all'indirizzo http://www.codeplex.com/Argotic è disponibile un framework molto ben fatto e in continuo sviluppo per la gestione di feed in formato RSS, Atom, OPML, APML, BlogML, RSD... e chi più ne ha più ne metta . La versione compilata della libreria è disponibile sia nella versione per .NET 2.0 sia per .NET 3.5.
Technorati Tag: .NET,Programming,C#,VB .NET,ADO .NET,ASP .NET
Giovedì scorso è stata rilasciata la versione 4.0 dell'Enteprise Library di Microsoft. Come sempre, MSDN è il sito di riferimento per la documentazione tecnica, mentre il download (insieme a video, esempi e molto altro ancora) è disponibile su CodePlex.
Technorati Tag: .NET,Programming,Visual Studio,C#,VB .NET,ADO .NET,ASP .NET
Il training kit per .NET 3.5 si arricchisce di nuovi labs che consentono di sperimentare le novità introdotte dal Service Pack 1. Per maggiori informazioni e per il link al download, di circa 37 MB, fare riferimento a questo post.
Technorati Tag: .NET,Programming,Visual Studio,ASP .NET,C#,VB .NET,ADO .NET
In questo post viene presentato VLINQ, ovvero Visual LINQ Query Builder. Si tratta di un add-in per Visual Studio 2008 che consente di creare query per LINQ-to-SQL in maniera completamente visuale. Allo stesso indirizzo è disponibile anche un breve tutorial che introduce il suo utilizzo. VLINQ è ospitato su MSDN Code Gallery: fare clic qui per accedere alla pagina del progetto. I download disponibili comprendo anche il codice sorgente, la documentazione e uno screencast che mostra l'utilizzo pratico di questa estensione.
Technorati Tag: .NET,Programming,C#,VB .NET,ASP .NET,ADO .NET,LINQ,Visual Studio,Tools
Questo articolo di CodeProject elenca le linee guida su come realizzare un'applicazione .NET con i requisiti necessari ad ottenere il logo "Certified for Windows Vista". E' anche fornita un'applicazione di esempio, in VB .NET, in cui sono applicati tutti questi suggerimenti. Technorati tags: Windows, .NET, Programming, VB .NET
E' stata rilasciata la nuova versione del Krypton Toolkit, la 2.8. Queste in breve le novità:
New Controls/Components
- KryptonDropButton
- KryptonColorButton
- KryptonListBox
- KryptonCheckedListBox
- KryptonCommand
- KryptonGallery
- 6 x KryptonContextMenu Elements
Il download, abbastanza corposo (sono ben 22 MB), è disponibile qui.
Technorati Tag: .NET,Programming,Updates,VB .NET,C#
Per quanto nel mondo .NET il ricorso alle API di Windows sia sempre più raro, ci sono situazioni in cui è ancora necessario utilizzarle. In casi del genere, è possibile fare riferimento a questa sezione di MSDN, in cui sono elencati le funzioni dell'API di Windows in ordine alfabetico, per categorie oppure divise per sistema operativo.
Fonte: ascend slowly, breathing normally blog
Technorati Tag: .NET,Programming,C#,VB .NET
Alcuni dei miei amici che programmano in C++ non capiscono il motivo per cui .NET non supporti l'ereditarietà multipla. Questo post cerca di fare un po' di chiarezza sull'argomento. Technorati Tag: .NET,Programming
Giornata di annunci... A quanto pare una nuova versione di Sandcastle è dietro l'angolo e dovrebbe essere rilasciata entro la fine del mese, come annunciato qui. Questa release sarà utilizzata per generare la documentazione di Visual Studio 2008 SP1 che sarà pubblicata su MSDN.
Technorati Tag: .NET,Visual Studio,Tools,Updates,C#,VB .NET,ASP .NET,ADO .NET
Microsoft patterns & practices is excited to announce the latest addition to the p&p library of software architecture guidance:
Unity Application Block
April 2008 Release (1.0)
Resources
· MSDN site: http://msdn2.microsoft.com/en-us/library/cc468366.aspx
· Community Forum: http://codeplex.com/unity
Maggiori dettagli sono disponibili qui.
Technorati Tags: .NET, Programming
A questo indirizzo sono disponibili alcuni video introduttivi sull'utilizzo dell'MVC Framework per ASP .NET. Gli esempi di codice mostrati sono in Visual Basic .NET.
Fonte: Beth Massi - Sharing the goodness that is VB
Technorati Tags: .NET, ASP .NET, VB .NET, Programming
Come si legge qui, il runtime di Visual Basic 6.0 è ufficialmente supportato anche da Windows Server 2008. Inoltre, sono stati test approfonditi per assicurare la compatibilità sia con Windows Server 2008 sia con Windows Vista di numerosi controlli ActiveX utilizzati dalle applicazioni VB, come RICHTX32.OCX e COMCTL32.OCX. Tutto questo, nelle intenzioni di Microsoft, è stato fatto con lo scopo di consentire una transazione il più possibile indolore dalle attuali applicazioni realizzate in Visual Basic 6 alle nuovi versioni basate su Visual Basic .NET. Technorati Tags: .NET, Programming, VB .NET, Windows
Ancora il quick-check a pagina 212 del Self-Paced Training Kit per l'esame 70-549...
La domanda 2 chiede quali modificatori possono essere utilizzati per specificare il tipo di ereditarietà supportato da una classe base. La risposta è completamente sbagliata. Innanzi tutto, si parla di NotOverridable/sealed e MustOverride/abstract. I modificatori C# sono corretti, mentre quelli che, secondo il testo, si possono applicare alla dichiarazione di una classe VB .NET, in realtà sono utilizzati per metodi e proprietà; nel caso di classi, invece, i modificatori corretti sono, rispettivamente, NotInheritable e MustInherit. Penso che l'errore sia dovuto al fatto che in C# si utilizzano sealed...
Un nome lunghissimo per un aggiornamento di 9,45 MB, disponibile qui. In questo articolo della Knowldge Base sono elencate tutte le correzioni effettuate. Fonte: Developer hearted / Relational minded blog Technorati Tag: .NET,Programming,Visual Studio,Updates
Ecco un errore del Self-Paced Training Kit per l'esame 70-549... Il quick-check a pagina 212 chiede, tra le altre cose, quali modificatori possono essere specificati su proprietà, metodi e classi per consentire l'overriding. Nella risposta sono correttamente elencati Overridable/virtual e Overrides/ovveride. Tuttavia, nel capitolo non si fa alcuna menzone di tali modificatori, e il quick-check dovrebbe essere un modo per verificare velocemente se gli argomenti trattati nella pagine precedenti sono stati compresi... Come si fa a comprendere qualcosa di cui non si parla?
Technorati Tag: Certification,.NET,Programming,C#,VB .NET
Alzi la mano chi non ha giocato almeno una volta a Tetris... Credo sia uno dei giochi più longevi della storia; personalmente, è stato il primo gioco che ho installato sul mio smartphone e, ancora adesso, durante le mie 2 ore al giorno (ahimè...) passate sul treno, mi capita di farci qualche partitina. Su CodeProject, a questo indirizzo, è disponibile una versione del gioco realizzata in Visual Basic .NET. Technorati Tag: .NET,Programming,VB .NET
Microsoft Visual Basic Power Packs 3.0 includes a new DataRepeater control and updated versions of the three previously released Visual Basic Power Packs, Line and Shape controls, the PrintForm Component and the Printer Compatibility Library.
Maggiori dettagli e il link al download sono disponibili in questa pagina.
Technorati Tag: VB .NET
P.S.: con questo post ho raggiunto quota 1000!
A questo indirizzo è possibile raggiungere la nuova MSDN Code Gallery, una grande raccolta di esempi di codice e documentazione tecnica dedicata a .NET, a cui chiunque può contribuire inviando nuove risorse. Lo stile e l'interfaccia grafica del portale ricalcano molto da vicino quelli di CodePlex.
Technorati tags: .NET, Programming, C#, VB .NET, ASP .NET, ADO .NET, .NET Compact Framework, .NET Micro Framework, LINQ, Silverlight
Con questo post viene annunciato il rilascio della nuova release di Sandcastle, che è identificata dal numero di versione 2.4.10115. Come era stato promesso qualche giorno fa, il progetto è ora disponibile su CodePlex.
Technorati Tags: Visual Studio, Tools, Updates
In questo post Alessandro Del Sole ci segnala un articolo, scritto dal grande Francesco Balena, che illustra una nuova tecnica per progettere gli assembly .NET dalla decompilazione, senza utilizzare strumenti di terze parti. Io l'ho letto tutto d'un fiato e non vedo l'ora di fare qualche esperimento
Grazie Alessandro, grazie Francesco!
Technorati Tags: .NET, Programming
Stando a quanto annunciato in questo post, presto Sandcastle verrà pubblicato su CodePlex. L'indirizzo a cui raggiungere il progetto è http://www.codeplex.com/Sandcastle, ma in questo momento non è ancora stato pubblicato.
Technorati Tags: .NET, CodePlex, Tools
Nell'editor di Visual Basic 2008, mentre è visualizzato il menu dell'IntelliSense, è possibile premere il tasto CTRL per rendere la lista trasparente e visualizzare il codice sottostante. Il tip è pubblicato qui, ma non è chiaro se è valido anche per C# (purtroppo nella macchina da cui sto scrivendo non ho VS2008, quindi non posso provare).
Technorati Tags: Programming, Visual Studio, VB .NET
Come si può leggere in questo post, da qualche tempo è cominciato lo sviluppo della Enterprise Library 4.0. In particolare, in questa pagina è disponibile l'EntLib V4 Product Backlog, in cui sono annunciate le principali novità previste per la nuova versione, a cominciare dal pieno supporto per Visual Studio 2008.
Technorati Tags: .NET, Programming, Tools, Updates, Visual Studio
Gli esempi di codice a pagina 144 del Self-Paced Training Kit per l'esame 70-529 sono sbagliati. In questa pagina, infatti, è mostrato l'utilizzo degli operatori GetType in VB .NET e typeof in C# come se essi accettassero, come secondo parametro, un'espressione nella forma Version=1.0.0.0, con cui si può specificare la versione dell'oggetto di cui recuperare il tipo, nel caso in cui ne siano disponibili più di una. In realtà, come si può leggere su MSDN, entrambi gli operatori accettano un solo argomento che raprresenta il tipo con cui si vuole lavorare.
Technorati Tags: Certification, .NET, Programming
Neanche la vacanze di Natale fermano gli autori di MSDN Magazine: da pochi giorni è disponibile online l'edizione di Gennaio 2008. Anche questo numero ha un chiaro orientamento verso lo sviluppo Web (a me è subito caduto l'occhio sull'articolo Drag and Drop with ASP.NET AJAX). Fate clic qui per accedere all'edizione inglese, oppure qui per quella italiana. Technorati tags: .NET, Programming, CS, VB .NET, ASP .NET, AJAX, Silverlight
A quanto pare la versione 2.7.0 del Krypton Toolkit, rilasciata pochi giorni fa, era affetta da un bug abbastanza grave, come mi è stato comunicato via mail:
The initial release has a nasty exception that occurs when showing a KryptonContextMenu when the OS is setup to show sub menus immediately.
Per risolvere al problema è stata prontamente rilasciata la release 2.7.1, che può essere scaricata facendo clic qui.
Technorati tags: Visual Studio, Tools, Updates
In questa pagina della Knowledge Base di Microsoft è disponibile la lunga serie di problemi che sono stati risolti con il Service Pack 1 del .NET Framework 2.0. Per la precisione, si tratta di ben 161 fix, di ognuno dei quali è riportato il link alla pagina di descrizione.
Technorati Tags: .NET,Updates
Oggi è stata rilasciata la versione 2.7.0 del Krypton Toolkit, un insieme di controlli per la realizzazione di interfacce grafice in stile Office 2007. In questa release sono stati aggiunti numerosi nuovi controlli:
KryptonTextBox
KryptonMaskedTextBox
KryptonRichTextBox
KryptonComboBox
KryptonContextMenu
Ribbon Application Menu
Navigator/Ribbon use of KryptonContextMenu
Per il download, fare clic qui.
Technorati tags: Visual Studio, Tools, Updates
Altro errore di codice nel Self-Paced Training Kit per l'esame 70-529. Omai sono sicuro che si tratti di discriminazione... In questo post avevo segnalato gli errori in in due listati C#, mentre il corrispondente in VB .NET era corretto. E la stessa cosa accede a pagina 95; nel codice C# viene fatto questo controllo:
if (Session["UserID"] != null)
Tuttavia, nel corpo dell'if si aggiunge alla Session un oggetto con chiave UserID , invece si recuperarlo. Un'occhiata alla versione VB .NET chiarisce ogni dubbio: prima di aggiungere l'oggetto alla sessione, bisogna verificare che Session["UserID"] sia uguale a null, e non diverso
Ma cosa vi ha fatto...
Magari è una cosa risaputa, ma io l'ho scoperto solo oggi per puro caso: per selezionare tutto il corpo di un metodo nell'editor di Visual Studio, basta fare doppio clic in un punto qualsiasi a sinistra del metodo stesso (per capirci, nello spazio della finestra in cui il puntatore del mouse "cambia orientamento" passando ad indicare verso destra).
Technorati Tag: Visual Studio
Mikhail Arkhipov ha realizzato un add-in per Visual Studio 2005/2008 che aggiunge un correttore ortografico all'editor dell'ambiente di sviluppo. Il tool supporta i linguaggi HTML, ASP.NET, JScript, VB, C#, CSS and C++ ed è in grado di segnalare gli errori presenti nei commenti, scritti in uno qualunque dei seguenti formati:
HTML style comments <-- HTML -->
ASP.NET server side comments: <%-- ASP.NET --%>
JScript, C# and C++ comments: // C++ style comments
CSS and C style comments: /* C style comments */
...
E' stato rilasciato un aggiornamento per Visual Studio 2005 SP1 che risolve un problema a causa del quale l'IDE potrebbe bloccarsi durante la scrittura di commenti XML. A questo indirizzo, oltre al link per il download, è mostrata la procedura con cui riprodurre l'errore.
Technorati Tags: Visual Studio, Updates
In questo post viene spiegato come la velocità del disco rigido influenza le prestazioni di Visual Studio 2005. Sono anche fornite alcune raccomandazioni sulle velocità consigliate per gli hard disk dei PC fissi e portatili, oltre ad una serie di link che spiegano come migliorare le prestazioni dell'ambiente di sviluppo.
Technorati Tag: Visual Studio
Sul blog di MSDN Italia viene annunciata la disponibilità di un training kit per Visual Studio 2008, comprendente materiale per un corso di 5 giorni che tocca le seguenti tecnologie: LINQ, C# 3.0, VB 9, WCF, WF, WPF, Windows CardSpace, Silverlight, ASP.NET Ajax, .NET Compact Framework 3.5, VSTO 3.0, Visual Studio Team System, e Team Foundation Server. Io vado subito a darci un'occhiata
Technorati tags: Visual Studio, .NET, CS, VB .NET, ASP .NET, AJAX, .NET Compact Framework, Silverlight, Team Foundation Server
Questa mattina ho installato i Web Services Enhancements 3.0. La procedura sembrava andata a buon fine, tuttavia nel menu contestuale accessibile facendo un clic destro sul nome di un progetto nel Solution Explorer di Visual Studio 2005 il comando WSE Settings 3.0 non era apparso. Ho così fatto una ricerca su Internet e sono giunto a questo post di Marco De Sanctis, che spiega la causa e la soluzione del problema. Grazie Marco! Technorati tags: Visual Studio, Web Services
Non ci avevo fatto caso, ma oggi ho notato che la proprietà UnhandledExceptionEventArgs.ExceptionObject è di tipo Object e non Exception. Incuriosito, ho fatto una ricerca con Google e ho trovato questo post di MSDN che spiega l'arcano: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=311431&SiteID=1.
Technorati Tags: .NET, Programming
A questo indirizzo sono disponibili i link per scaricare un video e un progetto di esempio che spiegano come realizzare add-in per Windows Home Server utilizzato Visual Basic .NET.
Technorati Tags: Windows Home Server, VB .NET
Come tutti sappiamo, quando Microsoft ha progettato il .NET Framework 3.0, lo ha rilasciato come "estensione" del .NET Framework 2.0: quello che già c'era non è stato modificato, sono solo stati aggiunti nuovi namespace e, quindi, nuove classi. E la stessa cosa accade con il .NET Framework 3.5, che si colloca al di sopra delle versioni precedenti, senza cambiarle (a parte gli aggiornamenti contenuti nei Service Pack). Questo modo di procedere è necessario per garantire la compatibiltà con le applicazioni esistenti, tuttavia sta portando ad una sorta di "effetto cipolla": ogni nuovo rilascio aggiunge uno strato a quelli già esistenti.
Non...
Su MSDN sono stati resi disponibili 4 nuovi video che mostrano come utilizzare LINQ to XML con Visual Basic .NET.
Technorati tags: VB .NET, LINQ
E' stata rilasciata la nuova CTP di Ottobre 2007 di Sandcastle, che può essere scaricata facendo clic qui. La lista delle novità introdotte è troppo lunga per essere inserita in questo post, quindi vi rimando all'annuncio ufficiale per tutti i dettagli.
Technorati tags: Tools, Updates
Su MSDN Magazine di Ottobre 2007 è stato pubblicato un articolo che illustra le nuove caratteristiche delle API di Windows Vista e Windows Server 2008 per la gestione dei pool di thread.
Technorati tags: Windows, Programming
Sembra che finalmente Microsoft abbia completato il documento in cui illustra le linee guida per la realizzazione di interfacce grafiche conformi ai nuovi canoni introdotti con Windows Vista. Le nuove Windows Vista User Experience Guidelines sono disponibili a questo indirizzo. Se lo si preferisce, è anche possibile scaricare tutte le linee guida in un unico file PDF di ben 33.8 MB, per un ammontare di più di 750 pagine.
Technorati tags: Windows, Programming
A questo indirizzo è disponibile una raccolta di 15 add-in gratuiti per Visual Studio. Nei commenti al post, inoltre, vari utenti hanno segnalato altri tool anch'essi molto interessanti. Technorati Tags: Visual Studio, Tools
Qualche giorno fa ho parlato dell'imminente rilascio della CTP di settembre di Sandcastle. In attesa di poter mettere le mani sulla nuova release, in questa pagina è stata pubblicata la lista delle principali novità che vi troveremo. Technorati Tag: Tools , Visual Studio , .NET , Updates
Da qualche giorno giorno è stata rilasciata la versione 2.0 dei Visual Basic 2005 Power Packs. Si tratta di una libreria comprendente tre controlli, ovvero Line, Shape e PrintForm, con lo scopo di fornire oggetti dall'utilizzo simile a quello che avevano in Visual Basic 6.0. Per il download, fare clic qui. Technorati tags: VB .NET, Updates
Come si può leggere in questo post, la prossima settimana sarà rilasciata una nuova versione di Sandcastle, la stessa che verrà utilizzata per produrre la documentazione del .NET Framework 3.5 nella versione finale di Visual Studio 2008. Queste le principali novità: Tools that we are using to ship Orcas RTM and Framework documentation A CHM Builder tool for documenting CHM. Look for my blog about this tool. New exciting features to VS 2005 design. This design will have features from Hana document model New Powershell script to document your APIs. This will be shipped...
Un altro aggiornamento per il Krypton Toolkit, che giunge alla versione 2.6.1. Oltre a risolvere alcuni bug riscontrati con la release precedente, sono stati aggiunti alcuni nuovi controlli: KryptonDataGridViewTextBoxColumn KryptonDataGridViewCheckBoxColumn KryptonDataGridViewButtonColumn KryptonDataGridViewLinkColumn Per il download, fate clic qui. Technorati Tags: Programming, Updates
A questo indirizzo sono disponibili 101 esempi di utilizzo di LINQ all'interno di codice Visual Basic .NET. Gli esempi sono divisi in 4 macro-sezioni: LINQ Query Samples, LINQ to SQL Samples, LINQ to DataSet Samples e LINQ to XML Samples.
Technorati tags: LINQ, VB .NET
Visual Studio already had the ability to recognize and quickly navigate (with Ctrl LeftClick) to URLs embedded in the comments of the code. This is great, but what is really needed is a way of referring quickly and easily from one part of the code to another part of the code (or to architectural documents checked in with the code). That is exactly what the HyperAddin does: It makes creating and following hyper-links in your code trivial. Now you only have to explain something once in a comment and refer to it many times (got lots of overloaded...
Qualche giorno fa ho parlato della disponibilità della versione Beta di Windows Installer 4.5. Ieri il team di sviluppo ha effettuato un nuovo post sul proprio blog informando che la versione definitiva sarà rilasciata entro il primo quadrimestre del 2008. Technorati tags: Updates
L'ho scoperto per caso: se nella finestra delle Proprietà si visualizza la lista degli eventi supportati dal controllo RichTextBox, in essa non compaiono né DragEnter né DragDrop. Sembrerebbe quindi che questo oggetti non supporti il Drag&Drop. In realtà, questi eventi sono definiti anche per il RichTextBox, ma per qualche strana ragione non sono visualizzati in fase di progettazione, dunque possono essere impostati solo a runtime.
Technorati tags: Certification, .NET, Programming
Component Factory ha rilasciato la versione 2.6 del Krypton Toolkit. Queste le novità: Toolkit Change Highlights KryptonCheckBox control added KryptonRadioButton control added KryptonDataGridView control added ToolTips added for button specs Il download è disponibile qui. Technorati tags: Programming, Updates
Come si legge qui, sul sito Microsoft Connect è disponibile la versione beta di Windows Installer 4.5. Prima di effettuare il download è necessario registrarsi, seguendo una procedura alwuanto macchinosa disponibile a questo indirizzo. Technorati tags: Programming, Updates
Come si legge in questo post, da qualche giorno è stata rilasciata la versione 2.4.2 di NUnit. Le numerose novità introdotte sono riassunte qui.
UPDATE 18/08/2007 ORE 13.47. Alberto Dellagiacoma mi ha fatto notare che è già stata rilasciata la versione 2.4.3, che può essere scaricata da questa pagina (l'elenco degli aggiornamenti è disponibile qui).
Technorati tags: Tools, Updates
Tra le tante feature di Visual Studio 2005 dedicate al debug, ce n'è una che prende il nome di LoaderLock managed debugging assistant (MDA): The LoaderLock managed debugging assistant (MDA) detects attempts to execute managed code on a thread that holds the Microsoft Windows operating system loader lock. Any such execution is illegal because it can lead to deadlocks and to use of DLLs before they have been initialized by the operating system's loader. Se il LoaderLock individua una situazione come quella descritta, interrompe il programma lanciando un'eccezione con questo messaggio: Attempting managed execution inside OS Loader lock. Do not...
The Class Designer team is now looking for feedback on the product. This is your chance to help us identify key areas we should consider in future versions of the Class Designer. Con queste parole il team di Visual C++ chiede agli utenti di ripondere alle domande di una breve indagine sul Class Designer di Visual Studio, allo scopo di migliorarne le versioni future. Per accedere al questionario, fate clic qui.
Stando a quanto dice MSDN, il metodo File.OpenWrite apre un file esistente per la scrittura. Il file, dunque, deve esistere, come confermato anche dalla lista delle eccezioni che possono essere lanciate dal metodo: se il file non esiste, viene generata una FileNotFoundException. In realtà non è così: FileStream fs = File.OpenWrite(@"D:\Prova.txt");
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("Hello World!");
sw.Close();
fs.Close();
Se il file Prova.txt non esiste nell'unità D:, esso è creato automaticamente dal metodo File.OpenWrite, quindi il codice sopra riportato viene eseguito senza errori e produce il risultato atteso.
In questo post sono disponibili i link a ben 20 articoli che parlano del Garbage Collector di .NET.
E' stata rilasciata la nuova versione di GhostDoc, il tool in grado di generare automaticamente la documentazione XML per la classi .NET. Questa release include il supporto a VB .NET (seppure dichiarato sperimentale) ed è disponibile sia per Visual Studio 2005 sia per Visual Studio 2008 Beta 1. Maggiori informazioni sono disponibili sul blog dell'autore, mentre il download può essere effettuato da questa pagina.
E' stata rilasciata la versione 3.0 di ReSharper, uno dei più famosi add-in per Visual Studio. Questa release include il pieno supporto a Visual Basic .NET, XML e XAML, nonché funzionalità di code analysis per C#. Il programma è compatibile con Visual Studio 2005 SP1 e Visual Studio 2008 Beta 1 (in quest'ultimo caso il supporto è ancora sperimentale). Tutte le informazioni sul prodotto sono disponibili alla pagina http://www.jetbrains.com/resharper/index.html.
Come anticipato un paio di giorni fa, è stata rilasciata la CTP di Giugno di Sandcastle. Queste le novità:
New version of the CCI reflection engine.
New presentation style and document model code named “VSORCAS”. Please see http://blogs.msdn.com/sandcastle/archive/2007/06/17/introducing-a-new-document-model-design-code-named-vsorcas.aspx.
New ResolveReferenceLinks2 component replacing the existing ResolveReferenceLinks component.
Added 2 new executables under production tools folder. They are SegregateByAssembly.exe and AggregateByNamespace.exe. These are used for building componentized assembly level HxS or CHM. I will blog more details about these in the coming weeks.
Configure MrefBuilder to get dependencies from GAC. Please see changes to MrefBuilder.config file...
Stando a quanto detto in questo post, domani dovrebbe essere rilasciata la CTP di Giugno di Sandcastle. Tra le altre cose, questa versione include un gran numero di feature espressamente pensate per Visual Studio 2008. Maggiori dettagli sono disponibili nel post citato all'inizio.
La semantica del Catch in Visual Basic .NET consente di specificare una clausola When quando si specifica l'eccezione da catturare:
Dim I As Integer = 5
Try
I = I / 0
Catch ex As OverflowException When IsValid(I)
MessageBox.Show("Errore")
End Try
Dove IsValid è una funzione che restuisce un booleano: se ritorna True, viene eseguito il blocco di codice corrispondente all'eccezione da gestire; altrimenti, viene lanciata un'eccezione di tipo OverflowException che non è catturata dal blocco Try. Questa sintassi non è molto diversa dall'avere il classico Catch e poi, al suo interno, una serie di controlli per determinare più precisamente...
Una piccola grande rivinciata per chi programma in Visual Basic .NET: The upcoming Javascript compiler for Silverlight as well as the compiler VBx (VB 10) are both being written in VB.NET! Fonte: Jackie Goldstein's Weblog
Su CodeProject è stata pubblicata un'altra implementazione del Ribbon di Office 2007. Ecco come si presenta l'applicazione di esempio (clicca per ingrandire): Il codice è scritto in C#, ma naturalmente, trattandosi di una class library, può essere utilizzato anche con Visual Basic. NET.
.NET offre due metodi per creare un seperatore all'interno di un menu in fase di esecuzione:
menu.Items.Add("-")oppure
menu.Items.Add(new ToolStripSeparator())Il primo metodo è un retaggio di Visual Basic 6 e versioni precedenti, in cui all'interno dell'editor di menu era necessario inserire un trattino per far comparire una riga di separazione tra le voci.
Proveniendo da VB6, io ho sempre utilizzato il trattino, solo da poco mi sono "convertito" al ToolStripSeparator ..
Oggi sono polemico ... Perché i controlli inseriti in una Form C# hanno la proprietà Modifiers impostata su Private nel caso di C# e su Friend (= Internal) in Visual Basic .NET? Ad ogni modo, anche in VB .NET il valore di default di tale proprietà è Private: infatti, cliccando su di essa con il tasto destro del mouse e selezionando il comando Reset, essa viene reimpostata su Private.
Microsoft ha reso disponibile un file PDF di ben 627 pagine contenente le linee guida per la realizzazione di interfacce grafiche conformi allo stile di Windows Vista. Attenzione però se volete stamparlo, la documentazione è in uno stato preliminare, ad esempio per alcuni controlli sono riportate ancora le guidelines relative a Windows XP. Detto questo, il download è disponibile facendo clic qui.
A questo indirizzo è disponibile una nutrita raccolta di icone di alta qualità. La maggior parte di esse è utilizzabile solo per uso personale, quindi leggete attentamente quanto riportato nei vari siti.
Un altro aggiornamento per una news pubblicata ieri: la Enterprise Library 3.1 è già disponibile per il download a questo indirizzo.
Come si legge in questo post, è in sviluppo la versione 3.1 della Microsoft Enterprise Library. Si tratta di una versione di manutenzione che risolve alcuni problemi riscontrati con la release precedente. Queste le novità principali: Policy Injection Application Block The default Remoting Policy Injector can now be replaced with alternative interception mechanisms via configuration without modifying the application block code Call Handler attributes are now honored correctly when placed on interface methods Fixed an issue that could cause duplicate handlers where matching rules matched both a class and its interface Classes implementing COM interfaces (including...
A questo indirizzo è disponibile una virtual machine che permette di provare Visual Studio 2005 Team Suite in ambiente Windows Vista. Come sempre, la virtual machine funziona sia con Virtual PC sia con Virtual Server.
Il .NET Framework non offre un supporto nativo al protocollo SSH. Fortunatamente, in rete si possono trovare diverse librerie che lo implentano. In questo momento sto provando SharpSSH, che è scritta in C#, è gratuita e distribuita con il codice sorgente. La documentazione è praticamente inesistente, ma gli esempi forniti illustrano tutte le principali caratteristiche della libreria.
Come annunciato in questo post, è stata rilasciata la versione definitiva della Internet Explorer Developer Toolbar per i sistemi operativi Windows Server 2003, XP e Vista. Il download è disponibile qui.
E' stata rilasciata una nuova versione di Krypton Toolkit, la 2.5.1, con lo scopo di risolvere alcuni problemi che sono stati riscontrati con la release precedente: The design time errors that occur when accessing the smart tag for a Krypton control have now been fixed. In some cases this even crashed Visual Studio and occured because the design time methods were obfuscated when they should not have been. The caption of the MDI parent not updates immediately when an MDI child is maximized. Using the LayoutMdi method in an MDI parent to Cascade or Tile the children...
In questo post è presentata una brevissima quinda che spiega come utlizzare l'SDK di Windows Live Writer per creare plug-in con Visual Basic .NET.
Microsoft ha rilasciato l'SDK per i programmi Windows Movie Maker e Windows DVD Maker che sono inclusi in Windows Vista: This SDK is helps you create and add your own custom special effects and transitions to Windows Movie Maker in Windows Vista, and your own custom transitions, buttons, and menu styles to Windows DVD Maker in Windows Vista. I requisiti software per l'utilizzo, oltre naturalmente a Windows Vista, sono Visual Studio .NET oppure Visual Studio 2005 e l'SDK delle DirectX. Il download, che richiede il controllo della genuinità, è disponibile qui.
E' stata rilasciata la versione 2.5 del Kripton Toolkit, un insieme di controlli che riproducono i ribbon e tutti gli altri elementi propri dell'interfaccia grafica di Office 2007. Le novità principali di questa release sono: New Krypton Ribbon component added Performance improvements for custom chrome Custom chrome support for Vista Glass A range of bug fixes Per il download diretto del pacchetto di installazione fare clic qui.
E' stata rilasciata la MSDN Library di Aprile 2007, liberamente scaricabile dal sito Microsoft. Questa nuova versione comprende, tra le altre cose, anche la documentazione relativa al Service Pack 1 di Visual Studio 2005 e a SQL Server 2005 Compact Edition. Da sottolineare che, finalmente, essa è disponibile come ISO di un DVD (2,19 GB), a differenza di quanto avveniva con le release precedenti, che erano distribuite come immagini di 3 CD-ROM.
Come si può leggere qui, la recente release 2.5 beta di TestDriven.NET supporta anche le edizioni Express di Visual Studio, ad eccezione di Visual Web Developer, il cui supporto sarà comunque aggiunto nelle prossime versioni.
Sulla rete è possibile trovare alcuni convertitori di codice da C# a VB .NET e viceversa. Anche se in alcuni casi il codice viene tradotto nel modo corretto, trattandosi di tool automatici non bisogna mai aspettarsi grandi risultati... Recentemente ho provato il Code Converted di Telerik, attualmente in versione beta. Ho fatto un test cercando di tradurre un semplice ciclo for da C# a VB.NET:
for (int i = 0; i < 10; i++)
System.Debug.WriteLine(i.ToString());
Ed ecco qual è stato il risultato:
Dim i As Integer = 0
While i < 10
System.Debug.WriteLine(i.ToString())
System.Math.Max(System.Threading.Interlocked.Increment(i),i - 1)
End...
A questo indirizzo è disponibile una libreria realizzata in C# che riproduce il look-and-feel della toolbox di Visual Studio 2005:
Sappiamo tutti che, nonostante i vari Service Pack e gli aggiornamenti per Windows Vista, la compatibilità di Visual Studio con questo sistema operativo non è totale. In larga parte si tratta comunque di problemi secondari o che possono essere aggirati avviando l'IDE come amministratore. Altri inconvenienti, invece, sono più "rognosi". Uno di questi si verifica quando si crea un programma di setup comprendente il modulo che scarica e installa automaticamente i prerequisiti dell'applicazione. In questo caso, infatti, viene creato un file di nome SETUP.EXE contraddistinto dalla classica icona con lo scudo, ovvero che richiede i diritti di amministratore per essere...
Il FileSystemWatcher ha un comportamento che, all'apparenza, può far pensare ad un bug: alcuni eventi, come OnChanged e OnCreated, vengono generati più volte. In realtà, questo comportamento è normale. Come viene indicato da MSDN: Common file system operations might raise more than one event. For example, when a file is moved from one directory to another, several OnChanged and some OnCreated and OnDeleted events might be raised. Moving a file is a complex operation that consists of multiple simple operations, therefore raising multiple events. Likewise, some applications (for example, antivirus software) might cause additional file system events that are detected...
Per eseguire una certa operazione al termine di una procedura di setup creata con Visual Studio (ad esempio avviare il programma appena installato), è necessario definire una Custom Action, come mi ha suggerito il grande Mauro Servienti. Tuttavia, se si prova ad eseguire il setup dopo aver aggiunto la Custom Action alla fase di Commit, al termine dell'installazione si ottiene un messaggio di errore del tipo: Could not find MyAction.InstallState. La spiegazione al problema e la sua soluzione sono riportati in questo post.
Ogni programma di setup creato con Visual Studio 2005 verifica come prima cosa che nel sistema sia installato il .NET Framework. In caso negativo, visualizza un messaggio di errore e propone di aprire la pagina web da cui è possibile scaricarlo. Purtroppo, l'indirizzo a cui punta, ovvero http://go.microsoft.com/fwlink/?LinkId=9832, si riferisce ad una pagina non più valida. Per risolvere il problema, è necessario fare doppio clic sulla voce Microsoft .NET Framework nella sezione Detected Dependencies del progetto di setup, quindi modificare la proprietà InstallUrl. Qui si può inserire l'indirizzo corretto, ovvero http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5, oppure, se si preferisce, direttamente il link al file da scaricare,...
Come si legge in questa pagina, la versione Beta 1 di Orcas è prevista per il secondo quadimestre del 2007, mentre la Beta 2 dovrebbe essere disponibile poco dopo la metà dell'anno. Non è stata ancora definita la data di rilascio della RTM. Nella stessa pagina si fa anche riferimento alla versione di Visual Studio Team System successiva ad Orcas, il cui nome in codice è Rosario, da Microsoft descritta come una exciting release...
Su CodeProject è disponibile una libreria che permette di creare file DOC da un'applicazione .NET. Per maggiori informazioni e per il link al download, fare clic qui.
Qualche tempo fa ho parlato del Restart Manager di Windows Vista, la nuova API che consente di ridurre il numero di riavvii del sistema operativo. Ma le funzioni esposte consentono anche di aggiungere altre funzionalità alle proprie applicazioni, ad esempio determinare quale programma sta utilizzando un certo file; tale informazione può servire nel caso in cui si tenta di accedere ad un file e si ottiene un errore di accesso negato perché esso è già in uso. Questo articolo di MSDN Magazine di Aprile spiega come fare.
Sul sito http://www.codeplex.com/reflectoraddins è disponibile una nutrita raccolta di add-in per Reflector. La lista è gestita dallo stesso autore di questo indispensabile tool. Le estensioni più interessanti, secondo me, sono le seguenti: SQL2005Browser: This add-in allows to browse .NET assemblies stored in SQL Server 2005 databases BamlViewer: Load BAML resources (WPF) and render in XAML format CodeSearch: This add-in allows searching for strings and regular expressions in disassembled code
Come sempre avviene in occasione del rilascio di ogni CTP di Sandcastle, il programma Sandcastle Help File Builder è stato aggiornato e ora supporta le nuove funzionalità introdotte con la CTP di Marzo 2007.
This document will discuss best practices for reviewing managed code. Some practices are universal to reviewing managed and unmanaged code. Others are unique to reviewing managed code. Per accedere all'articolo, fate clic qui.
Oggi è proprio una giornata ricca di annunci: dopo la versione definitiva dell'Update a Visual Studio 2005 per Windows Vista e l'aggiornamento al Service Pack 2 di SQL Server 2005, adesso è la volta di Sandcastle, di cui è stata rilasciata la March 2007 Community Technology Preview. Le novità introdotte non sono molte, mentre la lista dei bug fix è lunghissima; se volete consultarla, potete visitare il blog di Sandcastle. Per il download diretto, invece, fate clic qui. Technorati Tags: .NET, Tools, Updates
Tra le numerosissime novità del .NET Framework 3.5 che sto sperimentando in questi giorni, oggi voglio segnalare gli Extension Methods. Come riportato qui: The basic idea is that the set of methods available on an instance of a particular type is open to extension. In effect, we can add new methods to existing types. Supponiamo di eseguire sempre la stessa operazione su un certo tipo di dati, ad esempio ottenere l'array di byte a partire dal contenuto di una stringa. Una soluzione tipicamente adottata fino ad oggi consiste nel definire una classe statica con il metodo che esegue l'operazione,...
Visual Basic .NET è case-insensitive, mentre C# fa differenza tra maiuscole e minuscole. C'è un caso in cui questo comportamento può causare problemi. La seguente classe C# compila correttamente: 1 public class TestClass
2 {
3 public void Foo(string str)
4 {
5 MessageBox.Show("Richiamata Foo con parametro " + str);
6 }
7
8 public void foo(string str)
9 {
10 ...
Cercando su Internet è possibile trovare numerose class library che consentono di gestire i Feed RSS dalle proprie applicazioni .NET. Come avevo segnalato qui, anche Microsoft fornisce un'API per la loro manipolazione. Recentemente ho scoperto Argotic, una libreria con le seguenti caratteristiche: Complete implementation of the RSS 2.0 specification. Complete implementation of the ATOM 1.0 specification. Implements a provider model for storing/retrieving syndication information to your back-end database of choice. Provides an extensible framework for processing any syndication specification extension. Natively handles the RCF822 and W3C DateTime structures. Support for auto-discovery of syndication feeds...
E' stata rilasciata ieri la versione 4.0 del Visual Studio 2005 SDK. Nel pacchetto è incluso anche Sandcastle. Per maggiori informazioni e per il download fare clic qui.
Come la maggior parte dei programmatori .NET, ritengo che Reflector sia un tool assolutamente indispensabile. Oggi ho scaricato la nuova release: l'applicazione conferma le caratteristiche che l'hanno resa celebre, anche se ho riscontrato un piccola pecca relativa alla compatibilità con Windows Vista. Il programma, infatti, non richiede i diritti di amministratore, ma salva la sua configurazione nella stessa cartella in cui si trova l'eseguibile: qualora quest'ultimo sia stato copiato nella directory C:\Programmi (come ho fatto io), poiché su di essa non ha i diritti di scrittura, entra in azione il sistema di virtualizzazione del file system, che redirige il salvataggio del file...
SharpToolbox è un sito che raccoglie una grande quantità di tool e di librerie per .NET. Da poco è stato raggiunto il traguardo dei 1000 contributi disponibili (mentre sto scrivendo questo post siamo a quota 1004).
La notizia è sul blog di Miguel de Icaza: finalmente Mono supporta Visual Basic .NET. Sia il compilatore sia il runtime sono pronti e sono stati entrambi scritti nello stesso VB. Per gli amanti dei numeri, il compilatore consta di 78.000 righe di codice.
Qualche tempo fa avevo parlato delle nuove funzioni di Windows Vista per la gestione dei crash e del ripristino automatico delle applicazioni in seguito ad errori imprevisti. Nell'articolo si fa un cenno ad una caratteristica molto importante di questo nuovo sistema: perché un'applicazione possa essere ripstinata, deve essere in esecuzione da almeno 60 secondi. Se il crash si verifica prima di questo intervallo viene comunque eseguita la funzione di callback, in cui tipicamente si salva lo stato dell'applicazione su disco, ma Windows non riavvia automaticamente il programma. Questo comportamento ha lo scopo di evitare i continui riavvii di un'applicazione nel...
Stavo navigando su MSDN alla ricerca di alcune informazioni, quando per puro caso mi sono imbattuto nel metodo Environment.FailFast che, cito testualmente, terminates a process but does not execute any active try-finally blocks or finalizers... Use the FailFast method instead of the Exit method to terminate your application if the state of your application is damaged beyond repair, and executing your application's try-finally blocks and finalizers will corrupt program resources.
Questo metodo proprio non lo conoscevo... E' proprio vero che si finisce mai di imparare
In questo post Scott Guthrie illustra alcune delle principali novità che troveremo in Orcas. L'articolo è corredato da un gran numero di screenshot che mostrano la CTP di Febbraio in azione.
Se si tenta di serializzare una classe che contiene un evento, si ottiene un errore in fase di esecuzione: come è logico intuire, infatti, gli eventi non possono essere serializzati. Per risolvere il problema è sufficiente aggiungere l'attributo [field:NonSerialized] davanti alla dichiarazione dell'evento: [field:NonSerialized]
public event EventHandler StatusChanged;
Questo significa che, dopo aver deserializzato la classe, è necessario registrarsi nuovamente sugli eventi da essa definiti.
Purtroppo l'attributo [field:NonSerialized] non è supportato da VB .NET: in questo caso, per serializzare oggetti che contengono eventi è necessaria una procedura più lunga, descritta in questo post.
Windows RSS Platform [is] an API that developers can use to manipulate the Common Feed List, the set of Really Simple Syndication (RSS) feeds to which the user is subscribed. La Windows RSS Platform è utilizzata, ad esempio, da Internet Explorer 7 per la sottoscrizione e la visualizzazione dei feed all'interno del browser. Facendo clic sul link sopra riportato è possibile accedere direttamente alla documentazione tecnica su MSDN.
A partire da Windows XP, Microsoft ha integrato nel sistema operativo la Image Mastering API (IMAPI), un'interfaccia COM che consente di accedere a funzionalità di masterizzazione. Sul sito http://www.vbaccelerator.com è disponibile un wrapper per .NET grazie al quale è possibile utilizzare IMAPI direttamente da applicazioni C# e VB .NET. Tra i download è presente anche il codice sorgente della libreria, che è stata scritta in C#.
Una delle domande che mi vengono rivolte più spesso riguarda l'installazione di assembly nella Global Assembly Cache del .NET Framework. La procedura richiede vari passaggi, dal momento che è necessario assegnare uno strong name all'assembly, quindi utilizzare il comando Gacutil per effettuare la registrazione vera e propria. In questa pagina della Knowldge Base di Microsoft sono riportate tutte le istruzioni da seguire.
Sul sito http://www.regexlib.com è disponibile una grande raccolta di espressioni regolari pronte all'uso. Attualmente l'archivio ne comprende quasi 1500, facimente accessibili grazie ad una comoda funzione di ricerca.
Tutti sappiamo che la documentazione delle classi è una delle attività più noiose... Per fortuna GhostDoc consente di velocizzare enormemente questo lavoro. Si tratta di un add-in freeware per Visual Studio che aggiunge il comando Document this al menu contestuale delle finestre dell'editor: facendo clic su di esso, viene generato automaticamente lo stub della documentazione per il metodo, la proprietà, ..., su cui si è fatto clic. Lo schema prodotto comprende il campo summary e le eventuali entry di tipo param e returns, già precompilate, nel caso in cui il metodo prenda dei parametri in ingresso e restituisca un valore. Ma GhostDoc fa molto più di questo: esso, infatti,...
Qualche mese fa avevo parlato dell'add-in per Visual Studio 2005 che consente di avviare Esplora risorse facendolo puntare direttamente alla cartella che contiene la soluzione o il progetto selezionato. In realtà una funzionalità simile è disponibile anche in Visual Studio: dopo aver aperto il file di un progetto, facendo clic destro sul tab corrispondente, tra i comandi visualizzati c'è anche Open Containing Folder:
Durante l'utilizzo di Visual Studio, è normale aprire numerose finestre, per visualizzare il codice sorgente, il designer, per accedere a TFS, ecc. Per chiuderle tutte velocemente, quando l'area di lavoro diventa troppo "affollata", può essere comodo aggiungere il comando Close All Documents alla barra degli strumenti: In questo modo, un semplice clic e ritorna l'ordine
Chi utilizza FireFox dice di non poterne più fare a meno: se anche voi volete aggiungere le mouse gestures alle vostre applicazioni .NET, date un'occhiata a questo articolo. Il codice sorgente è disponibile sia per C# sia per Visual Basic .NET.
E' stata rilasciata la versione 2.4.1 di Krypton Toolkit. Si tratta di una release di manutenzione che contiene solo alcuni bug fix. Per il download, fare clic qui.
DocProject è un add-in che rende disponibili le funzionalità di Sandcastle all'interno dell'editor di Visual Studio 2005. La Release Candidate rilasciata ieri supporta progetti C#, Visual Basic .NET e ASP .NET.
Questo post spiega come realizzare un'applicazione .NET per Windows Vista che all'avvio richiede i privilegi di amministratore. La procedura da seguire è abbastanza semplice, ora vorrei capire come eliminare il messaggio An unidentified program wants to access your computer. Se qualcuno ha già affrontato il problema mi faccia sapere
Windows SideShow is a new technology that lets Windows Vista drive auxiliary, small displays of various form-factors where ready-access to bite-size bits of information could be imagined. These include displays embedded on the outside of a laptop lid or on a detachable device, enabling access to information and media even when the main system is in a standby mode. Data can also be displayed on cell phones and other network-connected devices via Bluetooth and other connectivity options. [da Wikipedia] Da qualche giorno è stato reso disponibile il Windows SideShow .NET Framework Components 1.0 (Beta), che consente di creare ed...
Recentemente su MSDN è stata pubblicata una serie di tutorial sull'utilizzo di SQL Server 2005 Compact Edition: Rapid Application Development Using SQL Server 2005 Compact Edition and Visual C#.NET SQL Server 2005 Compact Edition Data Access with the SqlCeResultSet and Visual C#.NET Remote Data Access Synchronization with SQL Server 2005 Compact Edition and Visual C#.NET Configuring Internet Information Services for SQL Server 2005 Compact Edition Remote Data Access and Merge Replication I primi tre link contengono esempi di codice in C#, per avere accesso alle versioni Visual Basic .NET fare riferimento a questa pagina.
Ogni volta che reinstallo Visual Studio me ne dimentico... Se si vuole visualizzare automaticamente la finestra Output quando si avvia la compilazione di un progetto, bisogna spuntare l'opzione evidenzata: Nota: lo screenshot è stato preso utilizzando lo Snipping Tool di Windows Vista
Alcune caselle di testo di Internet Explorer 7 e Windows Vista sono dotate di una caratteristica chiamata Cue Banner: quando non contengono testo e non hanno il focus, esse visualizzano un breve messaggio che funge da suggerimento (un effetto di questo tipo è utilizzato, ad esempio, nella casella di ricerca di IE7 e nella TextBox per la password della schermata di login di Vista). Su CodeProject è disponibile uno UserControl che consente di aggiungere questo effetto all'interno delle proprie applicazioni: Il codice sorgente, disponibile qui, è scritto in C#, ma all'interno del file scaricato è possibile trovare anche la DLL compilata...
A partire da questa pagina è possibile trovare tutte le linee guida ufficiali di Microsoft per la progettazione di interfacce grafiche secondo i nuovi standard introdotti da Windows Vista.
Per impostazione predefinita, la virtualizzazione dei file e delle chiavi di Registro di Windows Vista, di cui ho parlato in questo post, è attivata. Durante la fase di sviluppo di un'applicazione, tuttavia, può essere interessante provare a disattivarla per verificare la corretta esecuzione del programma anche in questa situazione. Per fare questo, visualizzare il Task Manager di Vista (chiamato Gestione attività Windows nella versione italiana ), quindi spostarsi nella scheda Processi e fare clic con il tasto destro del mouse sul processo di cui si vuole cambiare l'impostazione. All'interno del menu contestuale, bisogna attivare o disattivare l'opzione Virtualization (Virtualizzazione), rispettivamente, per consetire...
Poche ore fa è stata rilasciata la versione 2.4 del Krypton Toolkit, un componente freeware di cui ho parlato in questo post per la realizzazione di interfacce in stile Office 2007.
In questo post Heath Stewart cerca di riassumere i problemi più comuni che si possono riscontrare durante l'installazione del Service Pack 1 di Visual Studio 2005. Per ognuno di essi è fornita anche una serie di link di approfondimento.
Con un po' di ritardo, ho pubblicato un aggiornamento di Extensions for .NET Framework in cui ho aggiunto una classe per la gestione di alcune funzionalità della shell di Windows, ovvero spostamento di un file nel Cestino e aggiunta di collegamenti al menu Dati recenti (chiamato Oggetti recenti nel caso di Vista).
Windows Vista fornisce una nuova API, chiamata TaskDialog, che consente di visualizzare finestre di messaggio molto più user-friendly di quelle ottenibili con la classica funzione MessageBox.Show del .NET Framework: Su CodeProject è disponibile un wrapper scritto in C# per l'utilizzo di queste API. Il download può essere effettuato da questa pagina.
In questa pagina si può trovare un altro articolo che spiega come far funzionare correttamente Visual Studio 2005 su Windows Vista. Seguendo i suggerimenti riportati sono riuscito ad ottenere un ambiente di sviluppo funzionante correttamente, anche se rimane qualche problemino che spero venga risolto con l'Update del Service Pack 1.
Negli ultimi mesi ho cercato di scrivere codice .NET rispettando le Naming conventions suggerite per i vari linguaggi. Oggi ho trovato un free ebook chiamato .NET Coding Guidelines, che credo mi sarà molto utile: .NET Coding Guidelines is a 100+ page ebook (PDF) on naming conventions, best coding practices and patterns written by the industry expert Steven Sartain and delivered to you for Free by SubMain. The document covers: Naming Guidelines Class Member Usage Guidelines Guidelines for Exposing Functionality to COM Error Raising & Handling Guidelines Array Usage Guidelines Operator Overloading Usage...
Questo articolo apparso su CodeProject sembra molto interessante: A new feature available in Vista is the ability to have a callback when your application crashes. This can allow you to attempt to persist your applications data before it is terminated. Upon restart, you can then reload that persisted data, thus giving your user a better experience (of course, it shouldn't crash in the first place, but we're being realistic, right!). Per il download e per maggiori dettagli, clic qui.
Questa pagina della Knowlege Base di Microsoft fornisce una panoramica su SQL Server 2005 Compact Edition RC1 e sulle note da tenere presente quando viene installato in un sistema con Visual Studio 2005 e SQL Server 2005.
Qualche ora fa ho segnalato un esempio di Renderer che consente di creare menu e barre degli strumenti in stile Office 2007. Su quella stessa pagina, nella sezione dei feedback, si parla del Krypton Toolkit, un insieme di controlli che riproducono non solo i menu e le barre, ma tutti gli elementi dell'interfaccia del nuovo Office:
Questo toolkit è completamente free e può essere utilizzato anche per applicazioni commerciali. Non vengono però forniti i codici sorgenti delle librerie, che sono disponibili solo a pagamento. Il download può essere effettuato dal sito del produttore Componet Factory. Il pacchetto, della dimensione di circa...
Ecco qualche lettura per iniziare l'anno nuovo: What Every Dev Must Know About Multithreaded Apps Discover the Design Patterns You're Already Using in the .NET Framework (questo mi è stato utilissimo!) ADO.NET and System.Transactions
Chi ha provato ad utilizzare gli oggetti OpenFileDialog e SaveFileDialog di .NET 2.0 con Windows Vista si sarà sicuramente accorto che le finestre così visualizzate non utilizzano il nuovo stile, ma appaiono così come erano in Windows XP.
Cercando maggiori informazioni in rete, ho scoperto perché. Le nuove API introdotte con Windows Vista non supportano l'hook delle finestre di dialogo: poiché gli oggetti OpenFileDialog e SaveFileDialog effettuano proprio l'hooking delle finestre, i controlli corrispondenti vengono visualizzati con il vecchio stile.
Per fortuna qualcuno ha già pensato alla soluzione: sul sito Channel9 è disponibile un controllo, completo di codice sorgente in C#, che consente di visualizzare le finestre Apri...
Questo articolo fornisce un'introduzione a NGen e spiega come utilizzarlo per migliorare le performance di un'applicazione .NET.
Code owners previously using the InvariantCulture for string comparison, casing, and sorting should strongly consider using a new set of String overloads in Microsoft .NET 2.0. Specifically, data that is designed to be culture-agnostic and linguistically irrelevant should begin specifying overloads using either the StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase members of the new StringComparison enumeration. These enforce a byte-by-byte comparison similar to strcmp that not only avoids bugs from linguistic interpretation of essentially symbolic strings, but provides better performance.
Questo articolo è un po' vecchiotto, ma lo cito qui perché qualche giorno fa mi ha aiutato a risolvere un problema con cui stavo...
Da un paio di giorni è disponibile per il download la versione beta dell'aggiornamento per il Service Pack 1 di VS2005, il cui rilascio è previsto entro l'uscita a scaffale di Windows Vista e che dovrebbe risolvere i problemi che ancora affliggono Visual Studio quando è in esecuzione sul nuovo sistema operativo.
Ieri, alle ore 17.05 nel Dipartimento di Informatica dell'Università di Pisa, sono stato nominato Dottore Magistrale in Tecnologie Informatiche dopo aver discusso una tesi dal titolo "Progettazione e sviluppo di un framework per applicazioni mobili location-aware".
Volevo rendervi partecipi della mia gioia, anche perché alcuni spunti per il lavoro che ho svolto mi sono venuti proprio leggendo gli articoli pubblicati su questo blog!
Il 10 Dicembre scorso è stata rilasciata la CTP di Dicembre 2006 di Sandcastle. Queste le novità:
Sandcastle installer is now setting the DXROOT environment variable to the installation directory. All config files new has a DXROOT environment variable.
MrefBuilder now Exclude (Ripping) Namespace, types and members. Exclude (Ripping) Namespace, types and members are configured through MrefBuilder.config. This issue was discussed at http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=935512&SiteID=1.
The following HTML tags will pass through unchanged just like all the other HTML tags:
<br/>, <hr/>, <h1></h1>, <h2></h2>, <h3></h3>, <h4></h4>, <h5></h5>, <h6></h6>, <pre></pre>, <div></div>, <span></span>, <blockquote></blockquote>, <abbr></abbr>, <acronym></acronym>.
Support for separate...
Su questa pagina è stato pubblicato un comunicato relativo ad una vulnerabilità che affligge le seguenti versioni di Visual Studio: Standard Edition Professional Edition Team Suite Team Edition for Developers Team Edition for Architects Team Edition for Testers La vulnerabilità è considerata critica. Per fortuna è già stato reso disponibile un aggiornamento: http://www.microsoft.com/downloads/details.aspx?FamilyId=C2682C53-8E9A-4C7D-B782-BE78512DCBFA.
Segnalo questo interessante articolo che fornisce un'introduzione al Microsoft Intermediate Language (IL): http://www.devcity.net/Articles/54/msil_1_intro.aspx
Sul sito PlanetSourceCode è disponibile un esempio che mostra come creare un Web custom control per ASP .NET in grado di visualizzare file multimediali. I dettagli e il download sono disponibili qui.
Sul sito CodeProject è stato recentemente pubblicato un add-in per Visual Studio 2005 che aggiunge al menu contestuale del Solution Explorer un comando con cui è possibile avviare Esplora risorse facendolo puntare dirattemente sulla cartella che contiene la soluzione o il progetto selezionato. E' molto semplice, ma nello stesso tempo estramamente utile. Per i dettagli e per il download, fare clic qui.
Mi era sfuggito... Da qualche giorno è disponibile la CTP di Novembre 2006 di Sandcastle: What's new in this version: Support for the following nDoc custom tags: overloads preliminary threadsafety note Generating Friendly HTM names (A new transform "AddFriendlyFilenames.xsl" has been provided) Exclude (Ripping) Namespace, types and members (Configured through MrefBuilder.config) VS 2005 transforms support for FireFox Changes in this version: 1. Moved cpref_reflection folder from Examples to Data directory 2. Consistent versioning (2.2.00) of all assemblies and executables in ProductionTools folder 3. All...
Interessante articolo sulla sicurezza del codice, pubblicato su MSDN Magazine di Novembre.
Da qualche giorno è disponibile la CTP della versione 4 - Novembre 2006 dell'SDK di Visual Studio 2005. Sul blog di Aaron Marten è disponibile l'elenco delle principali novità:
ToolboxControlsInstaller Package Redistributable
Controls sample (which demonstrates using the above ToolboxControlsInstaller)
Sample showing how to use the VsIdeHostAdapter (look in the Example.EditorWithToolbox\IntegrationTests folder)
Sandcastle now shipping in the VS SDK
New Setup UI
Setup MSI Caching (helps in uninstall/repair scenarios)
Better behavior under Vista/UAC
Maggiori informazioni sono disponibili direttamente alla fonte.
Su Code Project sono stati pubblicati tre interessanti articoli che si occupano della scrittura delle cosiddette CLR stored procedure:
CLR store procedure vs. T-SQL store procedure: how to and when to choose CLR store procedure over T-SQL store procedure and vice versa
How to create CLR store procedure: how to create CLR store procedure
Deploy and Debug CLR store procedure: how deploy and debug CLR store procedure
A quanto pare qualcosa si sta muovendo...
This project is a Fork of NDoc it was created to add VS2005 support to NDoc. The Source is developed in and intended for use with Visual Studio.net 2005. The Application is intended for use on Microsoft's .Net Framework v.2.0
Attualmente il programma, ospitato su SourceForge, è in fase di beta testing. Ho fatto qualche velocissima prova, e mi sembra che funzioni correttamente... Nei prossimi giorni farò qualche test più approfondito, spero proprio di aver trovato il tool che cercavo! Il progetto è raggiungibile qui.
ClickOnce provides an easy-to-use and flexible deployment mechanism for smart client applications built for the .NET Framework 2.0. ClickOnce offers end-user deployment, ready-made installation dialogs, a built-in security model, and automatic or on-demand updates. But while it's great to have so many built-in features, one area that users often request more control is in tracking who uses which applications, controlling access to those applications, and knowing when something goes wrong. You may just need to keep track of who is using which versions of each application at the user level. You may want to restrict access to certain applications and...
Lo scorso 7 ottobre è stata rilasciata la nuova CTP di Sandcastle. Il Wiki del programma è disponibile qui, mentre per il download fate riferimento a questa pagina. A giudicare dai bug fix di questa versione, sembra proprio che a breve potremmo utilizzare un prodotto molto ben fatto...
A distanza di 2 giorni da questo annucio, anche il programma Sandcastle Help File Builder è stato aggiornato per supportare la nuova relase. L'autore ha deciso di spostare il progetto su CodePlex, per cui adesso la pagina di riferimento è http://www.codeplex.com/Wiki/View.aspx?ProjectName=SHFB.
Forse perché mi ci sono avvicinato tardi, fatto sta che ho ancora qualche dubbio sui nuovi strumenti Microsoft per gli sviluppatori (.NET 3.0, Orcas, LINQ, ADO .NET vNext, e chi più ne ha più ne metta...). Sul sito www.larkware.com ho trovato il link a questo post che mi ha aiutato a fare un po' di chiarezza.
Theme Switcher Control (demo online) This free ThemeSwitcher control allows the user to choose one of the available themes (ASP.NET 2.0). The theme is applied automatically to all ASP.NET pages in the web site, and is made persistent through the use of a cookie. ASP.NET Popup Control (demo online) This control imitates MSN Messenger alert, but it is designed for use in a web page. Graphical appearance of this control can be completely changed by using one of predefined styles or by modifying all colors used on the control. Control supports Drag&Drop, so user can move...
Questa sera ho fatto il mio solito salto sulla Home Page di MSDN per scoprire le ultime news, e ho trovato i seguenti articoli che mi sembrano molto interessanti:
Smart Clients: New Guidance And Tools For Building Integrated Desktop Applications
Integrated Desktop is a loosely coupled hosting architecture and composite UI that runs on the desktop and is supported by a loosely coupled architecture on the back end. It collapses the number of applications that users must work in.
Build Smarter ASP.NET File Downloading Into Your Web Applications
Buona lettura :-)
Come tutti sappiamo, Vista non supporterà il controllo di editing DHTML, essenzialmente per motivi di sicurezza. L'articolo Replacing the DHTML Editing Control in Windows Vista and Beyond fornisce qualche informazione utile sulle conseguenze di questo fatto.
Da tempo mi ero ripromesso di dare un'occhiata a Subversion. Oggi, quando ho trovato un addin per Visual Studio 2005, mi sono detto di non avere più scuse... Così l'ho installato, ho creato un progetto su Google Code ed ho iniziato a riversarci l'opera su cui sto attualmente lavorando: Web Service Studio Express, un ambiente di test che consente di invocare dinamicamente i metodi esposti da un qualunque Web service, con la possibilità di specificare tutti i parametri necessari, e di elaborare i messaggi di risposta (ho visto che una cosa del genere, nell'ambito free, esiste già (su GotDotNet.com), ma...
Poche ore fa l'autore del tool Sandcastle Help File Builder ha postato un aggiornamento del programma sul sito di Code Project. Non ho ancora avuto modo di provarlo, ma spero risolva i problemi che avevo riscontrato con la versione precedente. In attesa che Microsoft rilasci la versione definitiva di Sandcastle e fornisca uno strumenti visuale per il suo utilizzo...
Ho una delle funzionalità che hanno semplificato maggiormente la mia vita di sviluppatore sono gli Application and User Settings introdotti con .NET 2.0: su questa pagina c'è una breve introduzione all'argomento.
Purtroppo sappiamo tutti che il progetto NDoc è stato abbandonato dal suo autore. In attesa dei prossimi sviluppi di Sandcastle, sulla pagina http://jonas.lagerblad.com/blog/?p=5 ho trovato una versione di NDoc modificata perché funzioni correttamente con il .NET Framework 2.0. Fin qui niente di nuovo... La novità è che essa fornisce anche un supporto per i generics, seppure parziale.
Non è proprio la soluzione definitiva per la documentazione del codice, anche perché in alcuni casi la creazione della guida fallisce. Ad ogni modo, è comunque un progetto interessante, che può servire da soluzione temporanea, in attesa di buone notizie da Microsft :-) Per inciso, nella...
Sulla pagina http://www.codeproject.com/useritems/SandcastleBuilder.asp è stato recentemente pubblicato un programma scritto in C# che consente di automatizzare la creazione di file di documentazione con Sandcastle. Oltre al programma di installazione, è disponibile anche il codice sorgente. Personalmente, non sono ancora riuscito a far funzionare il nuovo tool Microsoft... sarà che è solo una CTP, ma prima avevo problemi utilizzando la riga di comando, ora con questo programma Sandcastle si ferma per un'ora sulla scritta Building help topics, poi genera il messaggio di errore BUILD FAILED: input string was not in a correct format... Comunque attendo fiducioso la prossima release!
Virtual Earth is the mapping technology that powers local.live.com, the latest local search and mapping site from Microsoft. Virtual Earth™ technology was built by the same team that created MapPoint® 2006 and the MapPoint Web service. It is implemented using a mix of both server-side and client-side technologies that include ASP.NET, asynchronous JavaScript, and JavaScript Object Notation (JSON). You can build your own application or Web site that uses Virtual Earth mapping technologies by using the Virtual Earth map control, a JavaScript component that provides all the functionality you need to draw maps, search for locations, and get driving...
Quando ho avuto la necessità di utilizzare dispositivi Bluetooth con .NET, mi sono scontrato con il fatto che le diverse periferiche in commercio implementano diversi stack Bluetooth. C'è l'implementazione di Microsoft, che è stata anche inclusa nel Service Pack 2 di Windows XP, e ci sono gli stack di Toshiba e Widcomm. Fino a qualche giorno fa, lo stack Microsoft era l'unico dotato di SDK gratutito, mentre per le altri implementazioni era necessario acquistare un SDK di terze parti, dal momento che le specifiche non erano pubbliche. Ora, però, la situazione sembra essere cambiata, infatti Bradcom ha annuciato la disponibilità...
Qualche ora fa è stata resa disponibile la prima CTP di Sandcastle. Per il download diretto, fate clic sul seguente collegamento: http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&displaylang=en. Per maggiori informazioni, invece, visitate questa pagina, che tra le altre cose fornisce un esempio passo-passo che spiega come realizzare un file CHM con Sandcastle.
Segnalo un altro articolo di MSDN Magazine che ritengo particolarmente interessante: ASP.NET Atlas Powers the AJAX-Style Sites You’ve Been Waiting For. Come si intuisce dal nome, esso fornisce un'introduzione ad Atlas, l'implementazione del pattern AJAX secondo Microsoft:
Atlas, an extension of the .NET Framework 2.0, enables developers to more easily create rich, interactive Web sites that take advantage of both browser and server features.
powered by IMHO 1.3
Questo articolo: http://msdn.microsoft.com/msdnmag/issues/06/07/AdvancedBasics/, preso da MSDN Magazine di Luglio, spiega come utilizzare gli oggetti messi a disposizione dal namespace System.Diagnostics per monitorare la propria applicazione, ad esempio definendo un Performance Counter oppure scrivendo nel Log di sistema. Gli esempi di codice sono scritti in VB .NET 2005, per il quale vengono anche mostrate le scorciatoie utilizzando il namespace My, ma quanto detto si può realizzare facilmente anche con C#.
Può sembrare un task banale, invece, se si deve cambiare a runtime la stringa di connessione di un report realizzato con Crystal Reports, è necessario scrivere alcune righe di codice. Sul sito di Code Project, all'indirizzo http://www.codeproject.com/useritems/Crystal_Report_Connection.asp, è illustrata una procedura che spiega come fare. Non è niente di eccezionale, ma è comunque uno snippet di codice abbastanza utile.
Al momento questa pagina risulta inaccessibile, ma per fortuna ci viene in aiuto la cara funzione cache di Google. Qui di seguito riporto il codice contenuto nella suddetta pagina:
'' this project creates the crystal report using the ADO.net features'1. ADD form'2. Add Crystalviewer on the form'3. Add dataset from Add new File'4. Add new element on to the Dataset (the element name should be the same as the name of the field or column 'in the current table )'5. Add Crytal report from Add new file'6. Follow the wizard to create connection for the report, Select the project Data and select the Dataset that u create in the project'7. Select the fields u want to display ' BEST PART IS THAT U CAN CHANGE THE DATABSE CONNECTION AT RUNTIME ' BUT IT SHOULD BE THE SAME DATABSE AND SHOULD HAVE SAME TABLE ' THIS HELPS U WHEN U INSTALL UR APPLICATION ONTO THE USER MACHINE WHERE THE DIRECTORY STRUCTURE WOULD NOT ' BE THE SAME' TO DO THAT U NEED TO CHANGE THE DATASOURCE PATH NAME '' THIS WORKS WITH ALL KIND THE DATABASE '' ALSO MYSQL'' IF U WANT TO CHANGE THE DATABSE OTHER THAN I USED (MICROSOFT ACCES) U NEED TO CHANGE THE CONNECTION STRING '' THAT IS THE DRIVER DETAILS AND MAY BE THE FORMAT APPROVED BY THAT DATABSE'' TO GET THE DIFFRENT DATABSE CONNECTION STRING GOTO http://www.connectionstrings.com/'' THE CURRENT STRING IS DSNLess STRING AND IT TO THE SAMPLE DATABASE OF CRYSTAL REPORT IN VISUAL STUDIO 2003'' DATABASE NAME = XTREME.MDB Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim con As New OdbcConnection Dim com As New OdbcCommand Dim adp As New OdbcDataAdapter Dim ds As New Dataset1 ds.Clear() Dim path = Application.StartupPath.ToString con.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq= C: Files Visual Studio .NET 2003 Reports.mdb;Uid=Admin;Pwd=;" com.CommandText = "select EmployeeID, [Last Name], FirstName from employee" com.CommandType = CommandType.Text com.Connection = con adp.SelectCommand = com Try adp.Fill(ds, "employeeDS") Catch ex As Odbc.OdbcException MsgBox(ex.Message) End Try Try Dim myreport As New CrystalReport1 myreport.SetDataSource(ds) cr.ReportSource = myreport Catch ex As Exception MsgBox(ex.Message) End TryEnd Sub
powered by IMHO 1.3
Capita spesso di dover provare al volo un piccolo
stralcio di codice, e in questi casi può essere noioso (oltre che lento) creare
una soluzione di Visual Studio, magari solo per testare un paio di righe. In
casi come questo, ci viene in aiuto un piccolo strumento freeware, Snippet Compiler. Una volta avviato, presenta una
finestra in cui è subito possibile iniziare a scrivere il codice da provare.
Fatto questo, con la pressione del tasto F5 si manda in esecuzione: tutti i
salvataggi sono fatti automaticamente dal programma. Sono supportati anche il
debug, la colorazione del codice e l'IntelliSense. Per...
Se un metodo di un Web Service lancia un'eccezione, al client viene ritornato un errore di tipo SoapException. Questo tipo di eccezione consente di specificare dettagliate informazioni sul problema, in modo che l'utente del web service, ad esempio, possa sapere cosa non ha funzionato. Tuttavia, per specificare queste informazioni all'interno del messaggio SOAP, è necessario costruire "a mano" il messaggio di risposta in XML. Fortunatamente, questo articolo spiega come utilizzare le SoapException lanciate da un Web Service e come passare informazioni sull'errore dal server al client, nel pieno rispetto dello standard. C'è anche il link ad un wrapper già pronto, ma purtroppo sembra...
Tempo fa stavo cercando una libreria per utilizzare il protocollo Bluetooth in applicazioni .NET, e quasi per caso sono capitato sul sito http://32feet.net. Sulla Home page si legge questo testo: 32feet.NET is a project to make personal area networking technologies such as Bluetooth, Infrared (IrDA) and more, easily accessible from .NET code. E, in effetti, il materiale disponibile soddisfa in pieno le promesse: si tratta di un'insieme di librerie che consentono di gestire in maniera molto semplice, tra le altre cose, le periferiche Bluetooth e quelle ad infrarossi IrDA. Inoltre, sono supportati sia il Compact Framework sia il Framework "Full" (mentre il supporto...
In questi giorni ho avuto la necessità di creare un data layer per un'applicazione abbastanza complessa. Su consiglio di un mio professore universitario, ho provato RapTier. Dopo averlo scaricato e installato, sono rimasto sorpreso dalla sua potenza: Una volta specificato quale database utilizzare, è sufficiente premere un tasto per ottenere automaticamente un data layer (sono supportati sia C# sia VB .NET) che permette di manipolare le informazioni in pieno stile object-oriented.
Ad esempio, se il database contiene una tabella di nome Clients, RapTier genera una classe di nome ClientsCollection che al suo interno contiene tutti i metodi necessari per recuperare, aggiungere, modificare...
Ciao a tutti!
Con questo post inauguro ufficialmente il mio blog, che utilizzerò per condividere con quante più persone possibile le mie esperienze di programmatore .NET. Se qualcuno si ricorda di me, tempo fa (più o meno fino all'anno scorso), gestivo il sito L'angolo del programmatore VB, che con un certo rammarico ho deciso di abbandonare per mancanza di tempo. Ora però voglio riprendere a farmi sentire, sperando di poter dare qualche contributo utile a chi, come me, con l'informatica vive e si diverte :-)
Ci sentiamo presto su queste pagine!