2011-11-01 22 views
6

Posso compilare la mia applicazione silverlight 4.0 in Win xp (IIS 5.1). Ma quando provo a creare la stessa app in Win Server 2008 R2 (IIS 7), sto ricevendo l'errore,Errore: aggiungere un riferimento all'assembly 'System.ServiceModel, Version = 3.0.0.0'

"errore CS0012: Il tipo 'System.ServiceModel.ClientBase`1' è definito in un assembly a cui non è fatto riferimento. È necessario aggiungere un riferimento all'assembly 'System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' ".

Il percorso in realtà è refereing della DLL su entrambe le macchine è, "C: \ Programmi \ Reference Assemblies \ Microsoft \ Framework \ Silverlight \ v4.0 \ System.ServiceModel.dll".

Quale potrebbe essere il problema?

Grazie in anticipo

+0

Quale meccanismo stai usando per costruire sul server? MSBuild? VS? che cosa? Inoltre: 4.0 è installato sul server? Se si tratta di una costruzione istantanea quando viene eseguita come app Web, l'app Web è configurata per utilizzare CLR 4.0? (il valore predefinito è probabilmente 2.0) –

+0

L'utilizzo di msbuild e 4.0 è installato sul server. Non è il Marcatore on-the-fly. – smhnkmr

+0

e stai usando msbuild dalle posizioni 4.0? –

risposta

1

È uno di un ambiente a 64 bit e l'altro è un ambiente a 32 bit, Ho visto casi prima, quando un'assemblea decide che funziona solo su alcune piattaforme, in modo che il "Qualsiasi CPU" opzione Crea sta dicendo di costruire nella piattaforma sbagliata.

5

Assicurarsi che sotto la cartella di riferimento del progetto si veda System.ServiceModel.

+0

Questo mi sembra essere più un commento che una risposta ... – Sam

+0

È lì, eventhoug sto ricevendo lo stesso errore –

2

Questo problema può verificarsi quando si sposta la soluzione da un ambiente di livello superiore a un altro. ex: il mio collega lo ha creato su VS2015 che ha questa DLL generata automaticamente. quindi, quando ho provato a eseguirlo sul mio ambiente. mostra questo errore. perché il mio ambiente non genera automaticamente una tale libreria.

Si spera, basta aggiungere "System.ServiceModel.ClientBase" manualmente tramite "Aggiungi riferimento"

Problemi correlati