2012-11-26 6 views
62

importati Se uso dynamic nella finestra immediata di Visual Studio ottengo un erroredinamica in 'Microsoft.CSharp.RuntimeBinder.Binder' la finestra cause immediate non è definito o l'errore

tipo predefinito 'di Microsoft. CSharp.RuntimeBinder.Binder 'non è definito o importato

Come posso risolvere il problema?

+0

So che la tua domanda è stata fatta molto tempo fa, ma per favore controlla se la mia risposta risolve il problema ...aiutare gli altri ad avere questo problema. – Matt

risposta

110

È necessario aggiungere un riferimento alla libreria Microsoft.CSharp nel progetto selezionato o nel progetto di avvio. E il tuo progetto dovrebbe fare riferimento a .NET Framework 4 o successivo.

MSDN about immediate window context:

Nello stabilire il contesto per la valutazione dell'espressione fase di progettazione, Visual Studio fa riferimento il progetto attualmente selezionato in Solution Explorer. Se nessun progetto è selezionato in Esplora soluzioni, Visual Studio tenta di valutare la funzione rispetto al progetto di avvio. Se la funzione non può essere valutata nel contesto corrente, si riceverà un messaggio di errore.

+1

Come faccio? Sto usando la 'finestra immediata' –

+0

Si utilizza la finestra immediata nell'ambiente di alcuni progetti. Dovresti aggiungere un riferimento a questo progetto. – HoberMellow

+0

Questo vale anche per il debug di finestre di visualizzazione. Avevo una soluzione con un progetto di avvio che * non * faceva riferimento a Microsoft.CSharp, ma faceva riferimento a un altro progetto che * faceva *. Watch windows genererebbe l'eccezione "binder non definito o importato". Aggiunto un riferimento a Microsoft.CSharp sul progetto ** startup ** e tutto andava bene. – Snixtor

16

Due cose sono importanti. Controllare quanto segue: menu del tasto destro sul progetto, selezionare "Proprietà ...":

  1. che le proprietà del progetto fanno riferimento .NET Framework 4 o superiore (se questo non è il caso, cambiarlo elemento, quindi selezionare come framework di riferimento ".NET Framework 4" (o successivo))
  2. Di aver aggiunto l'assembly "Microsoft.CSharp" come riferimento (notare che il passaggio 1., che richiede di ricaricare il progetto, deve essere fatto prima che tu possa farlo)

Successivamente possibile utilizzare il tipo dynamic. Il riferimento deve essere aggiunto nel progetto selezionato o nel progetto di avvio per diventare disponibile nell'ambito della finestra immediata.

+1

Sopra votato, è stato appeso su un progetto di test delle unità che non ha l'assembly "Microsoft.CSharp" a cui si fa riferimento –

7
  1. Vai a progetto-> aggiungi riferimento.
  2. selezionare assemblee dalla barra laterale e quadro
  3. controllo Microsoft.CSharp

Felice codifica!

+2

non dimenticare di fare clic su OK –