2009-06-11 17 views
7

Ho un progetto di componente compilato in VS2008 e destinato a .NET Framework 3.5. Recentemente ho scaricato VS2010 Beta 1 per assicurarmi che questo progetto si convertisse correttamente quando arriva il momento di passare al nuovo IDE. Questo progetto contiene riferimenti a un paio di DLL di terze parti create contro la versione 2.0 del framework. Ho cambiato il mio progetto per costruire contro la versione 4.0 del framework, ma quando provo a costruire il progetto ottengo una tonnellata di errori che sembra che il compilatore non possa riconoscere i tipi di classe di quelle librerie di terze parti simili a quelle che seguono.Conversione progetto da VS2008 a VS2010

"Il tipo o dello spazio dei nomi il nome 'dati' non esiste nello spazio dei nomi 'Microsoft.Practices.EnterpriseLibrary' (Vi manca un riferimento all'assembly?)"

Sto cercando di capire perché posso Compilare Da quello che ho letto, .NET 4.0 utilizza una versione diversa del CLR. Come o perché influirebbe la mia capacità di accedere a questi tipi? Sto andando ad avere per

a) ottenere il codice sorgente e ricompilare in VS2010/.NET 4.0 e quindi fare riferimento a quell'assemblea o

b) Attendere che gli autori del progetto di fare "un" al di sopra e rilasciare le loro assemblee targeting per il CLR 4.0? oppure

c) Qualcos'altro, perché forse la mia installazione VS2010 è bloccata?

Posso modificare le proprietà del progetto su target 3.5 e tutto funziona come previsto nel 2010 IDE.

+1

La mia esperienza: VS2010 ha seri problemi nella conversione dei progetti. –

risposta

1

Volevo contrassegnare questa domanda come risposta e sulla base dei commenti e delle mie esperienze personali, penso che Mehrdad sia corretto nel commento allegato alla domanda e che si trattasse di un problema di conversione del progetto VS2010.

2

Sospetto che ciò avvenga perché .NET 4.0 utilizza CLR 4.0, non 2.0. EL 4.1 sarà stato costruito contro CLR 2.0, quindi non sono sicuro che mi aspetterei che venga trovato senza aiuto.

+0

Avrei potuto giurare di essere in grado di utilizzare 1.1 DLL quando ho iniziato a utilizzare .NET 2.0 (VS 2005). Non ce l'ho più installato, quindi non posso dirlo con certezza. Penserei che questa situazione sia parallela a quella. – sdanna

+0

Non sei mai riuscito a mischiare .NET 1.1 e 2.0. –

+0

Ho appena avuto una versione molto vecchia di Log4Net (come da '01, versione runtime v1.0.3705) e l'ho provata. Mirando al Framework 2.0, sono riuscito a compilare con successo. Vorrei essere chiaro, ho tutte le versioni del framework installato sulla mia macchina, compresa la beta per 4.0. Sono stato anche in grado di avere il mio progetto target 4.0 senza problemi. Penso che dovrò dare questo a un problema di conversione e scavare un po 'più in profondità in quella strada. – sdanna

2

Sembra un problema di versione CLR per me.

Per il tempo corrente, raccomanderò b) e/o semplicemente compilerò alla v2.0/v3.5.

Qualsiasi funzione specifica che si desidera utilizzare in v4.0?

+0

Una delle funzionalità che non vedevo l'ora di avere la possibilità di controllare meglio il mio ID di controllo ASP.NET per rendere javascript meno di una seccatura quando il targeting di controlli specifici. – sdanna