2010-05-23 30 views
14

Ho migrato un'app di asp.net a 4.0. Ora ricevo un errore "Impossibile trovare il tipo o il nome dello spazio dei nomi 'IQueryable'". Il riferimento a System.Linq non è valido e non riesco a trovarlo nell'elenco di riferimento. Dove è andato System.Linq?Dove si trova System.Linq in .NET 4.0?

risposta

22

Assicurarsi di fare riferimento a System.Core.dll nel progetto. Il tipo IQueryable<T> è definito in quell'assembly (proprio come era in .NET 3.5).

+5

Ho dovuto aggiungerlo manualmente nel file csproj perché stavo ricevendo l'errore qui sotto quando lo aggiungevo in VS. Qualcosa è cambiato da 3.5 a 4.0 perché la soluzione è andata bene in 3.5 (non è stato possibile aggiungere un riferimento a "System.Core". Questo componente è già referenziato automaticamente dal sistema di generazione.) –

+0

@Tony_Henrich, grazie, ho avuto lo stesso problema e l'aggiunta ha funzionato manualmente. La cosa strana è stata: in vs2010 è andato benissimo, ma non è stato costruito sul nostro CITE. Ma questo l'ha risolto. –

3

Assicurati di avere un riferimento a System.Core.dll nel tuo progetto - Credo che System.Linq risieda lì.

1

È nell'assembly System.Core.dll.