Il progetto di riferimento viene “perso” in fase di compilazione

Ho una soluzione C # con due progetti: un servizio (il progetto principale) e un logger. Il servizio utilizza le classi dal registratore. Ho aggiunto un riferimento al progetto logger all’interno del progetto di servizio. In fase di progettazione, il completamento automatico funziona correttamente: le classi del logger sono visibili, i riferimenti che utilizzo sono colorati in modo appropriato.

Ricostruisco la soluzione e le cose vanno male. I riferimenti non sono più riconosciuti: “Il nome ‘Logging’ non esiste nel contesto corrente ‘e le classi non esistono più nel completamento automatico. Rimuovere e ricolbind il riferimento mi riporta allo stato di base di avere gli identificatori visibili per il completamento automatico.

Ho riavviato, cancellato tutte le cache, ho fatto in modo che questa fosse l’unica istanza di VS 2010 in esecuzione sul mio computer.

C’è qualcosa di ovvio (ovviamente) che mi manca?

Controlla i tuoi tipi di costruzione di ciascun progetto sotto le proprietà del progetto – Scommetto che uno o l’altro sarà impostato per build contro .NET XX - Client Profile .

Con le versioni incoerenti, in particolare con un Client Profile corso e l’altro no, funziona in fase di progettazione ma non riesce in fase di compilazione. Un vero trucchetto.

C’è qualcosa di divertente in Visual Studio 2010 per me, che continua a impostare i progetti in modo casuale al Client Profile , a volte quando creo un progetto, e qualche volta qualche giorno dopo. Probabilmente una scorciatoia da tastiera che sto colpendo accidentalmente …