Passaggio di anonymous type passati come parametro

Se create un anonymous type in una assembly, magari come risultato di una query, e poi lo passate come parametro ad una funzione di un'altra assembly, avete la spiacevole sorpresa di avere un eccezione a runtime se cercate di richiamare le proprietà dell'anonymous type (anche se ispezionando l'oggetto in debug vedrete correttamente tutte le sue proprietà). Questo perchè gli anonymous type sono internal perciò la loro struttura è visibile solo all'assembly dove sono creati. Per ovviare a questo problema bisogna istruire il runtime aggiungendo nel file AssemblyInfo, dell'assembly dove è definito l'anonymous type, questa riga: [assembly: InternalsVisibleTo("Assembly2")] Se aggiungo questa riga nell'assembly Assembly1 tutti gli anonymous type definiti dentro questa assembly saranno visibili anche a Assembly2

Errore Web Service

Nel trasformare un web service fatto con il framework 2 nell'equivalente service WCF fatto con il framework 4, mi sono trovato davati ad un errore abbastanza strano:

Errore nella deserializzazione del corpo del messaggio di risposta per l'operazione …..

Dopo un paio d'ore passate a glooglare e confrontare un altro progetto molto simile che funzionava mi sono imbattuto in un articolo molto scarno:

http://forums.asp.net/t/1234318.aspx?Error+in+deserializing+body+of+reply+message+

che però mi ha indirizzato verso la soluzione giusta. In effetti il problema era proprio il parametro readerQuota dell'app.config.

 

Un servizio poco servizievole

Da un po' di tempo quando riattivavo il pc dopo l'ibernazione si avviava un processo ignoto che mi impegnava il disco per circa 10-15 minuti. Praticamente il pc diventava inusabile per tutto questo tempo. Qualche volta - raramente - questo avveniva anche durante il normale utilizzo.

Esasperato da questa situazione ho provato ad investigare il motivo e armato di Process Explorer e Process Monitor ho scoperto (dopo alcuni tentativi) che il responsabile era il servizio si "Ottimizzazione Avvio" !!!!

Sì, avete letto bene, il servizio che serve per rendere più veloce l'avvio di windows 8 mi bloccava il pc per 15 minuti quando si riavviava dopo ibernazione.

Disabilitato il servizio adesso il pc si riavvia come un fulmine.

Visualizzare la seconda riga di labels con MSChart per VB6

Dopo numerose ricerche (senza esito) e numero tentativi sono riuscito a stampare la seconda riga nelle labels dell'asse X con il componente MSChart per VB6.

Riporto qui di seguito (principalmente come mio promemoria) il procedimento.

Da notare che dobbiamo per forza caricare i datapoint nell'oggetto DataGrid altrimenti non è possibile ottenere questo risultato.

Questo si ottiene con il seguente snippet:

Test di IDE per sviluppo app per Android

Ho provato alcuni sistemi di sviluppo per Android. Devo dire che Xamarin mi ha impressionato per la completezza della soluzione e perchè è uno l'unico, oltreNSBasic (almeno fra quelli che ho provato fino ad adesso), ad avere la possibiltà di progettazione visuale delle form.
NSBasic invece mi ha impressionato per la semplicità e l'immediatezza della soluzione, anche se avrei preferito poter sviluppare in C#.

Il problema di debuggare managed code invocato da unmanaged code si ripresenta

Il problema evidenziato in questo link - che era stato corretto in VS2010 - si ripresenta anche con VS 2012.

Hotmail e la ricerca con molti messaggi

Ho provato a passare a Hotmail da GMail, ho importato tutti i messaggi da GMail a Hotmail e tutto sembrava ok, quando sono andato a fare la ricerca di messaggi ho avuto la bella sorpresa. Dopo alcuni secondi appariva un errore e la ricerca non veniva eseguita.

Mi è venuto il dubbio che Hotmail non gestisse un numero elevato di messaggi, io ne avevo circa 7000, ho fatto varie prove e poi ho chiesto lumi al supporto. Dal supporto mi hanno risposto che effettivamente Hotmail non è fatto per gestire un numero elevato di messaggi e che, per risolvere il problema, avrei dovuto cancellare tutti i messaggi non più necessari!!

Mi sembra veramente strano che un client di posta come Hotmail abbia questo difetto comunque per evitare di perdere altro tempo continuerò ad usare GMail (che con alcune decine di migliaia di messaggi non presenta nessun problema e ha una velocità di ricerca a dir poco impressionante).

Integrare chat MSN e Facebook in GTalk

E’ un po' macchinoso però con PSI+ si riesce ad integrare la chat di MSN e Facebook con Gtalk oppure all’interno di GMail.

Un ottimo programma per prototipare

Spesso mi sono trovato a disegnare i prototipi di maschere utilizzando Word oppure un progetto al volo di VB6 (solo maschere e componenti). Immaginavo che ci fossero dei programmi specifici per questo scopo, pensavo però che fossero complicati e, tutto sommato, non fosse conveniente usarli.

Questa convinzione è rimasta fino a quando non mi sono imbattuto in questo post che illustra un prodotto che si chiama balsamiq. Appena ho letto il post mi sono precipitato ad installarlo e provarlo. Devo dire che è veramente un ottimo programma per prototipare.

Importare un repository Subversion su Kiln

FogBugz ha incrementato la sua offerta aggiungendo un servizio di version control basato su Mercurial. Questo nuovo servizio si chiama Kiln. Una volta creato il repository su Kiln è possibile importare eventuali repository Subversion esistenti, preservando tutta la storia esistente.

Il wizard "Kiln Import" è abbastanza semplice e intuitivo da utilizzare, io però ho trovato alcune difficoltà nell'importare un repository Subversion a cui si accede solo attraverso https.

Dopo molte prove empiriche casulamente ho trovato che, per importare un repository subversion a cui si accede attraverso https bisogna aprire il repo-browser di tortoise prima di avviare Kiln Import. Se non si apre prima tortoise sul repository svn non si riesce ad autenticarsi con il wizard di Kiln Import.

Inoltre il percorso relativo a svn non deve contenere trunk o altre sottocartelle, se si specifica trunk il processo di import finisce regolarmente però non troveremo niente nel repository di Kiln.