|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2004
Città: Brescia
Messaggi: 544
|
[VS Express 2010 C#] Errore build
Ciao a tutti, mi trovo in una situazione molto strana.
La mia soluzione è composta da alcuni progetti che utilizzano diverse versioni del framework (2.0 e 3.5). Uno di questi, il progetto xxxx, ha i riferimenti al progetto yyyy. La compilazione di entrambi funziona. Il problema nasce importando un progetto zzzz tra i cui riferimenti ci sono xxxx e yyyy. La compilazione non va a buon fine e l'errore è quello in oggetto con l'aggiunta "probabilemte manca un riferiemtno ad un assembly". Togliendo il riferimento al progetto yyyy dal progetto zzzz gli errori sono i medesimi. La cosa strana che su un altro pc la compilazione funziona, l'unica differenza è data dai 64 bit di quest'ultimo. Le versioni del VS Express sono le medesime e pure quelle dei vari framework installate ed ovviamente il SO Windows 7 pure. Nelle proprietà dei progetti le versioni del framework sono le seguenti: xxxx->2 ; yyyy->3.5 ; zzzz->3.5 Tra gli avvisi compare però questo messaggio: "impossibile risolvere il riferimento primario "yyyy" perché include una dipendenza indiretta all'assembly .NET Framework "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" la cui versione "4.0.0.0" è successiva alla versione "2.0.0.0" nel framework di destinazione corrente". Infatti se tra le proprietà del progetto zzzz cambio la versione del framework da 3.5 a 4 il tutto si risolve. Spero di aver passato tutte le informazioni utili a presentare lo scenario al quanto strano. ![]() ![]() ![]() In attesa di eventuali suggerimenti ringrazio anticipatamente. ![]()
__________________
- M@']['']['eo - |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2004
Città: Brescia
Messaggi: 544
|
Nessun'idea?
UP!
__________________
- M@']['']['eo - |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Un consiglio e' quello di migrare tutto a 4.0, se puoi.
PEr quanto riguarda il tuo problema, sappi che sia 2.0 che 3.5 fanno uso del framework .net 2.0 Mentre invece 4.0 fa uso del framework 4.0 Ne consegue che una dll compilata in 2.0 non potra' avere tra le reference, ne caricare e usare dinamicamente, una qualsiasi dll che e' stata compilata per framework 4.0 Il viceversa invece si puo' fare. (che non e' scontato. Non si poteva all'inizio tra 2.0 e 1.0, poi e' stato aggiunto) Il secondo consiglio e' quello di tenere un progetto tutto sotto lo stesso framework. Oppure, per fare quello che vuoi, devi cercare tutti i riferimento a dll del framework 4.0 e sostituirli con i relativi al framework 2.0 (2.0 o 3.5) nel tuo caso mscorlib. Controlla meglio le versioni framework dei progetti che hai elencato, ho idea che uno sia 4.0, oppure che sia stato creato inizialmente per errore con 4.0 e poi corretto successivamente, ma che alcune dll siano rimaste spurie.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Dec 2004
Città: Brescia
Messaggi: 544
|
Quote:
__________________
- M@']['']['eo - |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Dec 2004
Città: Brescia
Messaggi: 544
|
Risolto!
__________________
- M@']['']['eo - |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:12.