Crad's .NET Blog

L'UGIblog di Marco De Sanctis
posts - 190, comments - 457, trackbacks - 70

Visual Studio

Forzare la rigenerazione del file .designer.cs in ASP.NET

In Visual Studio 2005 accade a volte che il file .designer.cs non venga correttamente generato con i controlli contenuti nel markup della pagina. La memoria è corta, quindi me lo segno qui sul blog: per forzarne una rigenerazione, è sufficiente eliminare il file .designer.cs e poi fare tasto-dx sulla pagina, Convert to Web Application. Technorati tags: ASP.NET

posted @ martedì 18 dicembre 2007 18:05 | Feedback (5) | Filed Under [ ASP.NET 2.0 Visual Studio ]

Automatic Properties di C# 3.0: servono davvero?

C# 3.0 permette una notazione compatta per le proprietà che si limitano semplicemente a wrappare un corrispondente field: 1: public string Descrizione { get; set; } Sulle prime mi è sembrata un'innovazione piuttosto utile, se non altro per le entity di dominio, che notoriamente non hanno logica e che risultano essere parecchio più veloci da scrivere e leggibili. Così utili che ho anche realizzato un accessor per farle supportare da NHibernate (lo trovate qui). Poi ho iniziato a sperimentare un po' e... beh... mi convincono fino ad un certo punto. Perchè? Beh, ovviamente devono avere...

posted @ mercoledì 8 agosto 2007 23:47 | Feedback (2) | Filed Under [ NHibernate Visual Studio Misc ]

Una settimana di VS2008 beta 2

Come recita il titolo, è oramai una settimana che Orcas è divenuto il mio Visual Studio "ufficiale", dato che il multi-targeting sembra funzionare a dovere, dato che non è chissà quanto più pesante del 2005 e dato che per il momento i crash (fortunatamente) latitano. Resharper mi manca tanto, però, dannazione! Fortuna che almeno son riuscito a fargli digerire AnkhSVN che pare andare alla grande.

posted @ domenica 5 agosto 2007 20:14 | Feedback (0) | Filed Under [ Visual Studio ]

Un bug veramente noioso di wsdl.exe

Alcuni web service che sto realizzando, usano come parametri e valori di ritorno dei tipi che implementano l'interfaccia IXmlSerializable. Il tool wsdl.exe utilizzato per generare i proxy per l'accesso lato client, ha un fastidioso bug descritto in questa KB: considera ogni tipo IXmlSerializable come se fosse un dataset e quindi produce metodi con signature errate. L'aspetto più antipatico della questione è che, stando sempre a quanto scritto nella KB che ho linkato, non c'è soluzione se non quella di andare a cambiare a manina ogni metodo incriminato. Uff, non vedo l'ora di migrare completamente a WCF!

posted @ venerdì 20 aprile 2007 12:05 | Feedback (1) | Filed Under [ ASP.NET 2.0 Visual Studio ]

31 giorni in compagnia di ReSharper

Trovo che ReSharper rientri in quella categoria di tool che più o meno possono essere descritti con un "se ne può fare benissimo a meno, ma una volta provato non lo tiri più via!" (a meno di non essere alle prese con solution *veramente* grandi, in cui serve un mainframe per farlo girare). Bene... se non sapete neanche cosa sia, o se lo usate ma volete saperne di più, sappiate che Joe White ha iniziato una serie di 31 post, uno al giorno, in cui vi farà scoprire come mai dopo averlo installato non potrete più vivere senza!

posted @ venerdì 16 febbraio 2007 22:07 | Feedback (2) | Filed Under [ Visual Studio ]

Cosa sarebbe il mondo senza NHDomainMapper?

Avvertenza: questo è un post autocelebrativo, Janky mi ha pagato profumatamente per scriverlo, quindi se vi farà venire il diabete prendetevela con lui. Windows Vista è quasi in RTM? Avete provato Orcas per la prima volta? Office 2007 lo usate già da un po'? Vi piace HappySign di Igor? STICA!!! Siete il nulla: sta per arrivare NHibernate Domain Mapper rel.0.1 alpha codename SUPERTANGA!! Ora, visto che un rilascio ufficiale non c'è ancora stato, purtroppo credo che difficilmente che ci sia qualcuno, oltre me e il bravo Sudano, in possesso di queste fantasmagoriche righe di codice C#. Tanto per dare un'ulteriore...

posted @ giovedì 5 ottobre 2006 01:29 | Feedback (6) | Filed Under [ .Net 2.0 NHibernate Visual Studio Windows Forms ]

WSE 3.0 Settings non appare nel menu contestuale

C'è un piccolo problemino con l'installazione di WSE 3.0 se si usa una versione di Windows differente da quella inglese. Visual Studio, infatti, ricerca il plugin nel percorso %ALLUSERSPROFILE%\Application Data\Microsoft\MSEnvShared\Addins mentre il setup di WSE 3.0 installa l'add-in nel percorso %ALLUSERSPROFILE%\Dati Applicazioni\Microsoft\MSEnvShared\Addins Il risultato è che, aprendo il menu contestuale di un progetto di Web Service, non troviamo la voce "WSE Settings 3.0..." per abilitare e configurare i WebService Enhancements per quel progetto. La soluzione è semplice, ma la posto qui perché mi ha fatto perdere parecchio tempo; basta...

posted @ mercoledì 23 agosto 2006 19:37 | Feedback (0) | Filed Under [ Visual Studio ]

Tool per risolvere un piccolo bug di AnkhSVN

AnkhSVN, il client di Subversion per VS2005, alcune volte ha bisogno di effettuare una pulizia delle cartelle di sistema tramite il comando CleanUp. Purtroppo spesso e volentieri, questo comando si lamenta perché in un qualche subfolder di un remotissimo altro subfolder della structure della nostra soluzione, non trova una fantomatica cartella tmp. E' un bug noto, facilmente risolvibile creando una directory vuota nella posizione voluta, ma capirete che è un discreto sbattimento farlo a mano, soprattutto quando le cartelle mancanti sono diverse. Bene, ho realizzato una piccola console application che fa tutto ciò da sola, esplorando ricorsivamente tutte le cartelle. Il codice è...

posted @ domenica 13 agosto 2006 21:26 | Feedback (1) | Filed Under [ Visual Studio Misc ]

Anche NHibernate Domain Mapper si è CodePlexato

Già già, finalmente stasera (a tempo di record) hanno attivato il progetto di NHibernate Domain Mapper su CodePlex. Per ora non abbiam messo su ancora nulla, lo farò nei prossimi giorni, ma speriamo di riuscire ad approfittare delle ferie per tirar fuori una prima early build, così potrete anche voi dare un'occhiata a quello che, per me e Janky, è diventato il passatempo di quasi ogni sera e ogni weekend. Se poi ci volete dare anche una mano... powered by IMHO 1.3

posted @ lunedì 7 agosto 2006 22:02 | Feedback (0) | Filed Under [ NHibernate Visual Studio ]

Problemi con BindingSource a design time

Oggi ho avuto una brutta sorpresa: lavorando con VS2005 ad un progetto WinForms, mi sono trovato nell'assoluta impossibilità di impostare il DataBinding da designer: ogni volta che provavo ad impostare la proprietà DataSource di un qualsiasi BindingSource, VS2005 sollevava una NullReferenceException, mostrava una bella message box con su scritto "Reference not set to an instance of an object" e buonanotte al secchio. Pistolando un po' qua e là, alla fine sono riuscito a venirne a capo: si tratta di un problema che si verifica quando si cambia il naming delle classi, quando cioé i file Xml contraddistinti dall'estensione .datasource non sono...

posted @ domenica 6 agosto 2006 16:29 | Feedback (0) | Filed Under [ Visual Studio Windows Forms ]

Iniziare ad usare Subversion in 5 minuti 5

Come utilizzare VS2005 con Subversion? C.p.l.

posted @ giovedì 3 agosto 2006 00:50 | Feedback (8) | Filed Under [ Visual Studio Misc ]

Validation Application Block 0.4 Released

Validare le vostre domain entities è sempre stato un problema? Implementare constraints in maniera dichiarativa è il vostro sogno? Benissimo... abbiamo quello che fa per voi! Siore e siori... Validation Application Block 0.4 Il Validation Application Block grazie agli sforzi miei e di Andrea arriva alla release 0.4 e, per l'occasione, migra su SourceForge. Le novità introdotte rispetto alla versione precedente riguardano essenzialmente architettura e naming (già, naming, purtroppo vi toccherà ritoccare qua e là il codice, se utilizzavate la 0.3), ed in particolare: Architettura: è stato aggiunto un supporto alle validation rules (per il momento a livello embrionale e purtroppo...

posted @ mercoledì 7 giugno 2006 15:59 | Feedback (0) | Filed Under [ .Net 2.0 Visual Studio ]

WOWOWO!! Il mio primo articolo!!

Dopo un minuscolo Tip pubblicato qualche giorno fa (un altro è in arrivo!!), oggi è uscito il mio primo articolo UGIdotNet-tiano! Riguarda la creazione di un'estensione per il class designer di VS2005 ed è frutto di un paio di giorni di ricerche e prove intensive, vista la scarsa documentazione (facciamo pure "quasi nulla"?) che c'è in giro sull'argomento! Intanto ringrazio tantissimo Lorenzo "Genio Del Male" Barbieri, perché mi ha proposto lui di scriverlo e perché ha avuto tanta pazienza nella fase di editing, poi... Beh.. se avete 5 minuti di tempo, provate a darci un'occhiata, mi farebbe molto piacere avere qualche...

posted @ lunedì 22 maggio 2006 11:28 | Feedback (3) | Filed Under [ .Net 2.0 Visual Studio ]

ScottGu, LINQ e ASP.NET

A questo link trovate un interessante articolo introduttivo a LINQ da parte di niente-popò-di-meno-che ScottGu, e scusate se è poco powered by IMHO 1.3

posted @ lunedì 15 maggio 2006 15:51 | Feedback (0) | Filed Under [ .Net 2.0 ASP.NET 2.0 Visual Studio ]

E le Actions se ne vanno su CodeProject

Nei giorni scorsi ho ricevuto un feedback da un ceco (nel senso che abita in Repubblica Ceca ) che aveva scovato la mia piccola libreria per puro caso, dicendo che secondo lui avrei dovuto metterla in un posto che le garantisse una maggiore visibiltà. Io e il mio inglese maccheronico ci siam messi al lavoro e ho partorito un articoletto per CodeProject. Che dire, ricevere i primi rating positivi è una soddisfazione grandissima! Ora spero anche in qualche feedback in modo da poter evolvere il lavoro sin qui svolto. powered by IMHO 1.3

posted @ lunedì 24 aprile 2006 10:11 | Feedback (1) | Filed Under [ .Net 2.0 Visual Studio Windows Forms ]

Attenti alla proprietà DesignMode

Chi sviluppa componenti con supporto al designer di VisualStudio, sicuramente si è trovato ad utilizzare la proprietà DesignMode per verificare se il codice sia in esecuzione nel contesto del designer o a runtime. Bene, avevo un problema che mi ha portato ad indagare su come funzioni internamente questa proprietà. Reflector alla mano ho scoperto che, in un Component... protected bool DesignMode{    get    {        ISite site1 = this.site;        if (site1 != null)            return site1.DesignMode;                return false;    }} Ora... premesso che, se utilizziamo VisualStudio, a design time il field site è un'istanza di System.ComponentModel.Design.DesignerHost.Site e che quel site1.DesignMode ritorna sempre true, c'è da fare un'importante considerazione: durante l'esecuzione del costruttore del Component, DesignMode è SEMPRE false, perché il corrispondente Site non è...

posted @ domenica 23 aprile 2006 11:48 | Feedback (0) | Filed Under [ .Net 2.0 Visual Studio Windows Forms ]

SetCompatibleTextRenderingDefault: cusa l'è?

Sicuramente tutti voi avrete notato che, nel template utilizzato da VS2005 per il metodo main dei nostri progetti windows forms, c'è una riga che recita Application.SetCompatibleTextRenderingDefault(false); Di cosa si tratta? L'ho scoperto ieri sera, cercando di utilizzare anche in C# la classe WindowsFormsApplicationBase: è una nuova feature delle classi che ereditano da Control del Fx 2.0 e consiste nella capacità di utilizzare GDI piuttosto che GDI+ per il rendering del testo. Come mai? Beh, GDI+ ha la peculiarità di avere API estremamente semplici da utilizzare, ma il buon vecchio GDI offre parecchi vantaggi, per esempio: Il look dell'applicazione è più consistente con le varie...

posted @ mercoledì 19 aprile 2006 14:19 | Feedback (1) | Filed Under [ .Net 2.0 Visual Studio Windows Forms ]

Rilasciata la versione 1.1 delle Crad's Actions

La piccola libreria open-source che sto realizzando si è appena evoluta: grazie al tempo libero che ho avuto durante queste vacanze, sono riuscito (in ritardo rispetto a quanto avevo previsto, purtroppo) a rilasciare la versione 1.1 delle Crad's Actions. Le novità rispetto alla release precedente sono parecchie: intanto un sensibile refactoring del codice (come?!?! così presto?!? ), che ora è sensibilmente più ordinato e comprensibile, poi l'aggiunta di nuove proprietà (quali shortcut keys, tooltip, ecc.ecc...), infine la creazione di un corposo numero di Standard Actions (es. Cut/Copy/Paste e parecchie altre), numero che è destinato ad aumentare nei prossimi giorni Per dimostrare il...

posted @ martedì 18 aprile 2006 02:02 | Feedback (0) | Filed Under [ .Net 2.0 Visual Studio Windows Forms ]

Come far sapere ad un Component chi lo ospita?

Il titolo non sarà la massima espressione di linguaggio tecnico, però è un problema che mi sono trovato ad affrontare nel weekend sviluppando le mie Actions Ora, chi le ha scaricate e magari ha avuto modo di guardarne i sorgenti, sa che si tratta di oggetti che ereditano da Component e che vanno sistemati su una Windows Form. Mi sono trovato nella necessità di avere, nella mia ActionList, un riferimento alla Form su cui essa giace....

posted @ lunedì 10 aprile 2006 00:54 | Feedback (2) | Filed Under [ .Net 2.0 Visual Studio Windows Forms ]

Creare un custom CollectionEditor

Quando creiamo CustomControls, spesso esponiamo proprietà che ritornano collection di items. Visual Studio è abbastanza furbo da generare un Designer opportuno per creare le istanze degli oggetti contenuti a design-time, tramite l'UITypeEditor CollectionEditor. L'abbiamo usata migliaia di volte, si fa click su "Add" e, detto T il tipo base di dati esposto dalla collection, automaticamente una nuova istanza di T viene aggiunta ad essa. Bene, ma se T fosse un tipo astratto? o se volessimo popolare tale collection anche con tipi derivati da T? come farlo a design time? Nulla di più semplice! Basta creare un custom UITypeEditor che derivi da CollectionEditor ed...

posted @ venerdì 7 aprile 2006 00:40 | Feedback (0) | Filed Under [ .Net 2.0 Visual Studio ]

Ancora sulle actions: come utilizzarle?

Dato che mi è stato chiesto da qualcuno in mail, ho pubblicato un breve tutorial (in inglese, spero non troppo maccheronico ) su come utilizzare le Actions per .NET 2.0. Per leggerlo basta un click qui! powered by IMHO 1.3

posted @ giovedì 6 aprile 2006 16:54 | Feedback (0) | Filed Under [ .Net 2.0 Visual Studio Windows Forms ]

Et voilà! Le actions di Delphi su .NET 2.0!

Chi ha lavorato in Delphi sa quanto siano comode le actions! Di cosa si tratta? Allora... Una form, solitamente, permette di compiere la stessa azione tramite più elementi visuali; pensate ad esempio alla funzione "Grassetto" in un ipotetico editor RTF: magari possiamo attivarla tramite menu, oppure potremmo utilizzare una comoda toolbar, o ancora potremmo accedervi tramite un bel context menu. Tutti questi elementi condividono parecchie proprietà: innanzitutto devono tutti rispondere al click del mouse allo stesso modo, e questo si può già fare in .NET assegnando lo stesso event handler a tutti gli oggetti per i rispettivi eventi click. Purtoppo ciò...

posted @ mercoledì 5 aprile 2006 02:32 | Feedback (5) | Filed Under [ .Net 2.0 Visual Studio Crad's Actions Windows Forms ]

Avete idee da proporre per il prossimo Visual Studio?

Se siete utilizzatori abituali di Visual Studio 2005, allora consiglio di dare un'occhiata a questo post di Brian Goldfarb: c'è infatti la possibilità di partecipare al nuovo programma denominato Engineer-to-Engineer per fornire feedback sulla nostra esperienza di tutti i giorni con l'IDE di Microsoft. Qual è il premio per il disturbo? Beh, ogni volta che si viene contattati, ci sarà la possibilità di scegliere un regalo tra una serie di software gratuiti che vanno da giochi XBox a Visual Studio Professional. powered by IMHO 1.3

posted @ mercoledì 8 marzo 2006 15:36 | Feedback (0) | Filed Under [ Visual Studio ]

Powered by:
Powered By Subtext Powered By ASP.NET