do more with less
news, esperienze, esempi da condividere e qualcosa su di me

lunedì 7 gennaio 2013

TFSConnection.GetService<WorkItemStore>() torna sempre null

Oggi, al rientro al lavoro, una mia procedura di creazione automatica dei WorkItem ricorsivi, che devono essere creati a ogni Start meeting, ha smesso di funzionare. Dopo un pò di tempo speso in ricerche, ho trovato un post che mi ha indirizzato nella giusta direzione. In poche parole è bastato creare un app.config che contenesse l’attributo  useLegacyV2RuntimeActivationPolicy impostato a true. La sezione di app.config in questione è la seguente:

   1: <?xml version="1.0"?>
   2: <configuration>
   3:   <startup useLegacyV2RuntimeActivationPolicy="true">
   4:     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
   5:   </startup>
   6: </configuration>

Questo si è reso necessario per permettere il caricamento degli assembly Mixed Mode secondo le modalità previste dal CLR 2.0.


Per quale motivo questa necessità si è evidenziata oggi e non in passato? Oggi, per la prima volta, la procedura è stata ricompilata con Visual Studio 2012 dopo un’opportuna conversione. Ritengo che la fase di conversione della soluzione e dei progetti abbia creato una dipendenza implicita a uno o più assembly che richiedono la modalità di caricamento sopra indicata. Per completezza di informazione, lo stesso codice inserito in progetti creati direttamente in Visual Studio 2012 senza la conversione, gira senza richiedere l’impostazione di retro compatiblità.