Posts
13
Comments
20
Trackbacks
8
VS 2008 & VS 2005 + Extension 3.0 Compatibility

Grazie al support multi-targeting di Visual Studio 2008 è possibile lavorare su soluzioni basate dal .NET framework 2.0 in poi.
Inizialmente ho frainteso questa funzionalità pensando che fosse possibile utilizzare sia VS 2005 che VS 2008 semplicemente creando 2 versioni della stessa solution, ma come dice lorenzo : "Il multitargeting non è stato pensato per usare due versioni di Visual Studio sullo stesso progetto, ma per usare più versioni del Framework con lo stesso visual studio".

Il problema di compatibilità viene rilevato su soluzioni che utilizzano Vs 2005 e le Extension del framework 3.0, in particolare all' interno del file di progetto viene importato il file target Microsoft.WinFX.targets.
Eseguendo il tool di conversione di VS 2008, quest' ultimo controlla se è presente l' istruzione di import <Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" /> ed in caso positivo lo rimuove.

Una possibile soluzione è quella di editare i file di progetto modificati dove è stata rimossa l' import e re-inserirla utilizzando una condizione in questo modo:

<Import Condition=" '$(MSBuildBinPath)' == 'C:\Windows\Microsoft.NET\Framework\v2.0.50727' "
    Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />

Questa condizione permette di controllare la versione dell' MsBuild utilizzato in modo da capire quale Visual Studio stà eseguendo la build, se si tratta di VS 2005 viene effettuata la import altrimenti no.

Spero che questo "trucco" possa essere utile a chi ha la necessità di mantenere la compatibilità con VS 2005 ma vuole poter lavorare anche con la nuova versione :-)

posted on martedì 4 dicembre 2007 04:47 Print
News
MCPD

MILANO-XPUG

View Roberto Valenti's profile on LinkedIn

Technorati Profile

I'm test-driven!

Campagna Anti-IF
Italian Agile
Day
Dove Sono :