Question

Je suis en train de charger Linq sur mon .Net 3.5 activé serveur web par l'ajout de ce qui suit à mon .page aspx:

<%@ Import Namespace="System.Query" %>

Toutefois, il échoue et me dit qu'il ne peut pas trouver l'espace de noms.

Le type ou le nom d'espace de noms 'Query' n'existe pas dans l'espace de nom "System"

J'ai aussi essayé avec pas de chance:

  • System.Data.Linq
  • System.Linq
  • System.Xml.Linq

Je crois qu' .Net 3.5 est de travailler parce que var hello = "Hello World" semble fonctionner.

Quelqu'un peut-il aider s'il vous plaît?

PS:Je tiens juste à préciser que je ne suis pas d'utiliser Visual Studio, j'ai simplement une Éditeur De Texte et d'écrire mon code directement dans .fichiers aspx.

Était-ce utile?

La solution

J'ai la version 2 sélectionné dans IIS et j'

Bon, certes, c'est votre problème?Sélectionnez 3.5.

En fait, voici la vraie info:

http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx

Autres conseils

Quelle est la partie de votre site web.fichier de configuration ressemble?

Voici à quoi il ressemble pour une nouvelle marque ASP.NET 3.5 projet fait avec Visual Studio 2008:

<assemblies>
  <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>

J'ai trouvé la réponse :) j'ai besoin d'ajouter ce qui suit à mon web.config:

<assemblies>  
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>

Ensuite, j'ai pu ajouter ce qui suit à mon code:

<%@ Import Namespace="System.Linq" %>

@Will,

Merci pour votre aide.J'ai accepté l'un de vos réponses :)

Assurez-vous que votre projet est défini à la cible 3.5, et pas 2.0.

Comme d'autres l'ont dit, votre 'var' test est un test de C#3 (c'est à direVS2008), pas de 3,5 cadre.

Si vous définissez le cadre du projet, les paramètres de la cible correctement, vous ne devriez pas attendre d'avoir besoin d'ajouter manuellement des dll références à ce point.

L' var hello des trucs du compilateur est de la magie et fonctionne sans Linq.

Essayez d'ajouter une référence à System.Core


Désolé, je n'étais pas clair.Je voulais ajouter System.Core pour le projet web de références, pas à la page.

L' Import sur la page sont fondamentalement juste à l'aide de relevés, vous permettant de sauter l'espace de noms sur la page.

Le fichier csproj peut être manquant dans le Système.Base de référence.Recherchez une ligne dans le fichier csproj comme ceci:

<Reference Include="System" />

Et ajouter une ligne en dessous comme ceci:

<Reference Include="System.Core" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top