Visual Studio 2008

Rilevare codice duplicato

Clone Detective for Visual Studio è una integrazione dell'ambiente Visual Studio (completamente free) in gradi di rilevare porzioni di codice duplicato tra i vari progetti che compongono una solution. Il fine è ambizioso, poichè come dice la stessa presentazione del prodotto presente su CodePlex "Having duplicates can easily lead to inconsistencies and often is an indicator for poorly factored code" Un componente del genere può davvero essere utilissimo, anche oltre lo scopo che si prefigge. Ad esempio, conoscendo accuratamente il numero di cloni presenti all'interno di un software con parecchie linee di codice, è possibile valutarne il costo di...

posted @ Friday, March 06, 2009 6:56 AM | Feedback (1)

Snippet Code

Gli Snippet Code possono davvero far risparmiare tempo di sviluppo, soprattutto su operazioni ripetitive. Visual Studio, come è noto, fornisce un add-in per la gestione degli stessi su PC, e codificati in un file xml. Chi come me non usa sempre lo stesso PC per lavorare è costretto a sincronizzare gli snippet code su tutti i PC su cui sviluppa, operazione molto noiosa e anche molto soggetta ad errori. Sarebbe comodo in questi casi non avere il repository in  locale, ma averli centralizzati all'esterno. <Code:Keep> fornisce appunto uno storage centralizzato  da cui attingere snippet code suddivisi per categoria ed...

posted @ Thursday, January 22, 2009 7:13 AM | Feedback (0)

Visual studio ide crash #2

Avevo già parlato qui (post immediatamente sotto :-)) di uno strano crash di Visual Studio 2008 SP1, a seguito dell'esecuzione comando "Choose items" della toolbox. Il problema sembrava essere dovuto alla presenza dei PowerCommands e di una loro presunta incompatibilità con il Service Pack 1. Infatti per poter tornare alla "normalità" era necessario un'azione estrema, ovvero rimuovere i PowerCommands, ed a quel punto il problema spariva. Oggi scopro che attraverso un assemply redirection nel file di configurazione di Visual Studio (devenv.exe.config) il problema si risolve definitivamente, e che il crash si verificava anche nell'editor XAML. Maggiori info qui. Quindi la...

posted @ Tuesday, December 09, 2008 7:44 AM | Feedback (1)

Visual studio 2008 ide crash dopo "Choose items" dalla toolbox

Qualche giorno fa mi sono imbattuto in uno strano crash di Visual Studio 2008, dopo aver installato il Service Pack 1, vale a dire che il comando "Choose items" della toolbox era capace di mandare in crash l'intero IDE, scrivendo un laconico messaggio nell'Event viewer, del tipo NET Runtime version 2.0.50727.3053 - Fatal Execution Engine Error (7A035E00) (80131506) di nessuna utilità per la risoluzione del problema,  senza possibilità di scampo quindi. Dopo aver cercato invano per la rete per evitare di perdere ulteriore tempo ho evitato di disporre del controllo che mi interessava nella toolbox (precisamente una PropertyGrid) e...

posted @ Thursday, September 04, 2008 5:54 PM | Feedback (3)

Mole, visualizer integrato per visual studio

Segnalo un gran bel Visualizer per Visual Studio 2005/2008. Trattasi di Mole v.4.2, un visualizer in grado di funzionare con diversi oggetti di diverse tipologie di progetto, che comprendono WinForms, WPF, WCF, WF, ASP.NET, XBAP. Io lo trovo molto utile soprattutto per progetti WCF, WPF, dove gli oggetti con cui si ha a che fare sono abbastanza complessi e strutturati. Uno strumento del genere, molto ben fatto e performante, può far risparmiare diversi "mal di testa" quando si effettua il debugging di progetti di questo tipo. Download

posted @ Thursday, July 31, 2008 10:25 AM | Feedback (0)

Impossibile aggiungere una service reference in visual studio 2008

Questo workaround spero sia utile a chi si è trovato nella stessa mia situazione, e cioè che improvvisamente Visual Studio 2008 si rifiuta di aggiungere una Service Reference ad un servizio WCF, dando questo errore: The components required to enumerate web references are not installed on this computer. Please re-install Visual studio. Ho poi scoperto che il problema si presentava anche aggiungendo semplici web reference (ASP .NET web services) a progetti creati con Visual Studio 2005. Per risolvere il problema non è mica necessario reinstallare Visual Studio :-) Basta lanciare l'ambiente di sviluppo da prompt dei comandi (quello di...

posted @ Monday, July 28, 2008 12:03 PM | Feedback (0)

Le direttive using devono essere poste all'interno del namespace

Questo post inizia con una frase tratta da un post di Scott Hanselmann con cui mi trovo completamente d'accordo: Don't believe everything you read, even on a Microsoft Blog.              Don't believe this blog, either!                                                           Decide  for yourself with experiments if you need a tiebreaker! Credo sia proprio vero, mai fidarsi ciecamente di quello che si legge in giro, soprattutto quando seri dubbi farebbero pensare il contrario. Il motivo è presto detto: utilizzo normalmente FxCop come strumento di analisi del codice sorgente, lo trovo molto completo e ben fatto. Spinto dalla curiosità ho voluto...

posted @ Tuesday, July 22, 2008 10:59 AM | Feedback (0)

Automatic properties in c# 3.0

Utilizzando C# 3.0 è possibile scrivere le proprietà di una classe in modo estremamente compatto, in questo modo: Public string Nome {get; set;} Questa modalità, chiamata "Automatic properties" permette quindi di omettere il riferimento al membro privato che normalmente viene "wrappato" dalla proprietà stessa. Sarà compito del compilatore autogenerare al volo il membro privato al momento della compilazione. Questa caratteristica impone che il codice della classe non può in nessun modo accedere alla variabile privata, appunto perchè al momento della stesura del codice essa non esiste ancora in quanto sarà autogenerata in fase di compilazione. E' quindi necessario utilizzare direttamente...

posted @ Sunday, July 20, 2008 5:27 PM | Feedback (0)

101 LINQ Samples

Se lavorate con LINQ, questa pagina è utile averla sempre a portata di mouse.  101 LINQ Samples

posted @ Wednesday, April 23, 2008 12:51 PM | Feedback (0)

Problemi di performance in Visual Studio 2008

Ero praticamente certo che sarebbe uscita la hotfix giusta per me riguardante Visual Studio 2008. Negli ultimi tempi ho sperimentato in prima persona rallentamenti eccessivi e chiaramente molto fastidiosi nell'utilizzo di alcune funzionalità dell'IDE e precisamente: Passando alla vista Design di una Web Form; Passando alla vista Html Source di una Web Form; Compilando un progetto web di grosse dimensioni; Oggi ho scoperto che da pochissimo tempo è disponibile una hotfix che risolve tutti e tre i problemi sopradescritti. Link per il download.

posted @ Friday, April 18, 2008 6:33 AM | Feedback (0)

Oracle Data Provider for .NET

Negli ultimi tempi mi è capitato spesso di lavorare su applicazioni che utilizzano Oracle come database piuttosto che Sql Server e, naturalmente, ho dovuto utilizzare nello strato di accesso ai dati le classi specifiche di Oracle, meglio note come Oracle Data Provider for .NET. Utilizzare queste classi significa avere a che fare con oggetti tipici di Oracle, es. gli Oracle data type, o i cursori utilizzati per contenere i resultset derivanti da una chiamata ad una store procedure, ecc. Non avendo una esperienza significativa in Oracle ho sempre pensato che il supporto per .NET fosse alquanto limitato e ridotto all'essenziale,  es. ...

posted @ Thursday, April 17, 2008 12:00 PM | Feedback (0)

Messaggio di errore Ambiguous match found e httpParseException

Scenario: web application che utilizza la versione 1.1 di ASP .NET migrata direttamente alla versione 3.5. Dopo la migrazione su una delle pagine ASPX viene sollevato una HttpParseException durante il caricamento della stessa. L'eccezione in questione, come si evince dal nome, viene generata dal runtime di ASP .NET quando il parsing di una pagina ASPX fallisce a runtime. Il messaggio di errore recita "Ambiguous match found", e quindi non aiuta granchè. La cosa curiosa è che l'eccezione non si verifica in ambiente di sviluppo ma solo sulla versione di deploying dell'applicazione, quindi non è "debuggabile" in Visual Studio 2008 ( a meno di non effettuare un debug in...

posted @ Monday, March 17, 2008 9:58 AM | Feedback (0)

Sottili differenze tra C# e VB .NET #Part 2#

Questa informazione me la annoto perchè sicuramente utile. Avevo già parlato precedentemente delle sottili e a volte subdole differenze esistenti tra il linguaggio VB .NET  e C#, differenze che possono anche riguardare il comportamento di Visual Studio, quindi non strettamente legate a costrutti di programmazione o alla semplice sintassi. Questa differenza però mi sorprende parecchio e non riesco a comprenderne a fondo il motivo. Presto detto: se si utilizza l'incremento automatico nel numero di versione in un assembly (per intenderci quando impostiamo questa riga [assembly: AssemblyVersion("1.0.*")] nel file AssemblyInfo, otteniamo un risultato differente a seconda se l'assembly è scritto in VB .NET o...

posted @ Tuesday, February 26, 2008 8:24 AM | Feedback (0)

Visual Studio 2008 non supporta .NET 1.0/1.1

Leggo con un certo disappunto dal blog di Irena Kennedy (uno dei miei preferiti, soprattutto per i suoi posts SYSK) che la prossima release di Visual Studio supporterà più versioni del .NET Framework, in modo da avere un unico ambiente di sviluppo installato (questo pensavo io). In realtà le versioni supportate del .NET Framework partono dalla 2.0, quindi 2.0, 3.0, 3.5. Quindi, in pratica, per gestire anche progetti scritti per .NET 1.0/1.1 (e sono veramente tanti in circolazione, soprattutto 1.1) occorrerà avere ancora installate più versioni di Visual Studio. La cosa mi ha francamente deluso, e sono curioso di leggere (eventuali)...

posted @ Wednesday, July 18, 2007 2:53 PM | Feedback (1)