2010-05-23 6 views
14

J'ai migré une application asp.net vers la version 4.0. Maintenant, j'obtiens une erreur "Le type ou le nom de l'espace de noms 'IQueryable' n'a pas pu être trouvé". La référence à System.Linq n'est pas valide et je ne la trouve pas dans la liste de référence. Où est passé System.Linq?Où est System.Linq dans .NET 4.0?

Répondre

22

Assurez-vous de référencer System.Core.dll dans votre projet. Le type IQueryable<T> est défini dans cet assembly (comme dans .NET 3.5).

+5

Je devais l'ajouter manuellement dans le fichier csproj parce que je recevais l'erreur ci-dessous quand je l'ajoutais dans VS. Quelque chose a changé de 3.5 à 4.0 parce que la solution fonctionnait bien dans 3.5 (Une référence à 'System.Core' n'a pas pu être ajoutée Ce composant est déjà automatiquement référencé par le système de construction.) –

+0

@Tony_Henrich, merci, j'avais le même problème et en l'ajoutant manuellement travaillé. Chose étrange était: Dans vs2010, il construit très bien, mais il ne construit pas sur notre CITE. Mais cela l'a corrigé. –

3

Assurez-vous que vous avez une référence à System.Core.dll dans votre projet - Je crois que System.Linq y réside.

1

Il se trouve dans l'assembly System.Core.dll.