2008-08-12 4 views
3

Ich versuche, Linq auf meinem Net 3.5 fähigen Web-Server zu laden, indem Sie die folgenden auf meine ASPX-Seite hinzufügen:Import Namespace System.Query

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

jedoch dies nicht gelingt und sagt mir, es kann das nicht finden Namensraum.

Der Typ oder Namespace-Name 'Abfrage' existiert nicht im Namespace 'System'

ich auch ohne Glück versucht:

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

Ich glaube, dass. Net 3.5 funktioniert, weil var hello = "Hello World" scheint zu arbeiten.

Kann mir bitte jemand helfen?

PS: Ich möchte nur klarstellen, dass ich Visual Studio nicht verwende, ich habe einfach eine Text Editor und schreibe meinen Code direkt in .aspx-Dateien.

Antwort

0

Die var hello Zeug ist Compiler Magie und wird ohne Linq funktionieren.

Versuchen einen Verweises auf System.Core


Sorry, das Hinzufügen war ich nicht klar. Ich meinte hinzufügen System.Core zu den Referenzen des Web-Projekts, nicht auf der Seite.

Die Import auf der Seite sind im Grunde nur mit Anweisungen, so dass Sie den Namespace auf der Seite überspringen können.

+0

Hallo Keith, und fügte hinzu: <% @ Import Namespace = "System.Core" %> konnte nicht ausgeführt werden und zeigte die gleiche Fehlermeldung :(Irgendwelche anderen Ideen? – GateKiller

+0

Keith sprach über das Hinzufügen einer DLL-Referenz anstelle eines anderen Imports. Um ehrlich zu sein, würde ich vorschlagen, dass Sie mit Visual Studio (einer der kostenlosen Versionen) beginnen), da es diese Art von Sachen für Sie verfeinert, bis Sie ein bisschen schneller mit .NET-Entwicklung sind. –

+0

Yup, ich habe diesen Schritt durchgemacht. Lik e ich sagte, ich glaube, 3.5 funktioniert, weil die Syntax var string = "Hallo"; funktioniert, weil dies eine neue Funktion von .Net 3.5 ist. Ich bin jetzt völlig ratlos. PS: Vielen Dank für Ihre Hilfe :) – GateKiller

1

Stellen Sie sicher, dass Ihr Projekt auf 3,5 und nicht auf 2,0 festgelegt ist.

Wie andere bereits gesagt haben, ist Ihr 'var' Test ein Test von C# 3 (d. H. VS2008), nicht das 3.5 Framework.

Wenn Sie die Zieleinstellungen für das Projektframework ordnungsgemäß festlegen, sollten Sie nicht erwarten, dass Sie zu diesem Zeitpunkt dll-Referenzen manuell hinzufügen müssen.

+0

Hallo Will, ich benutze nicht VS. Kann ich anders bestätigen, ob 3.5 korrekt installiert ist? – GateKiller

+0

Welche Version des Frameworks haben Sie auf der Registerkarte ASP.NET in IIS ausgewählt? –

+0

Ich habe Version 2 in IIS ausgewählt und meine web.config zeigt 'Version = 2.0.0.0'. Hilfe :( – GateKiller

2

Was ist der Teil Ihrer web.config Datei aussehen?

So sieht es für ein brandneues ASP.NET 3 aus.5 Projekts mit 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> 
2

fand ich die Antwort :) Ich brauchte die folgenden meiner web.config hinzufügen:

<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> 

Dann konnte ich folgendes zu meinem Code hinzufügen:

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

@Will,

Vielen Dank für Ihre Hilfe. Ich habe eine Ihrer Antworten akzeptiert :)

0

Die csproj-Datei fehlt möglicherweise die System.Core-Referenz. Suchen Sie nach einer Zeile in der csproj-Datei wie folgt:

<Reference Include="System" /> 

Und eine Zeile darunter wie folgt hinzu:

<Reference Include="System.Core" />