4

.aspxページに次を追加して、.Net3.5対応のWebサーバーにLinqを読み込もうとしています。

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

ただし、これは失敗し、名前空間が見つからないことを通知します。

タイプまたは名前空間の名前「Query」が名前空間「System」に存在しません

私も運が悪かったのですが:

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

.Net 3.5は機能しているvar hello = "Hello World"ように見えるので、機能していると思います。

誰か助けてもらえますか?

PS:Visual Studioを使用していないことを明確にしたいのですが、テキストエディターがあり、コードを.aspxファイルに直接記述しています。

4

6 に答える 6

5

IISでバージョン2を選択しましたが、

まあ、確かにそれはあなたの問題ですか?3.5を選択します。

実際、ここに本当の情報があります:

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

于 2008-08-12T11:15:29.797 に答える
2

web.config ファイルの一部はどのようになっていますか?

Visual Studio 2008 で作成された新しい ASP.NET 3.5 プロジェクトは次のようになります。

<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>
于 2008-08-12T13:13:54.860 に答える
2

私は答えを見つけました:) 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>

次に、コードに次を追加できます。

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

@意思、

ご協力いただきありがとうございます。私はあなたの答えの1つを受け入れました:)

于 2008-08-12T13:15:14.297 に答える
1

プロジェクトが2.0ではなく3.5をターゲットに設定されていることを確認してください。

他の人が言っているように、「var」テストはC#3(つまり、VS2008)のテストであり、3.5フレームワークではありません。

プロジェクトフレームワークのターゲット設定を適切に設定した場合、この時点でdll参照を手動で追加する必要はありません。

于 2008-08-12T10:49:50.503 に答える
0

これvar helloはコンパイラの魔法であり、Linqがなくても機能します。

に参照を追加してみてくださいSystem.Core


申し訳ありませんが、はっきりしませんでした。System.Coreページではなく、Webプロジェクトの参照に追加することを意味しました。

ページ上のImportは基本的にステートメントを使用しているだけなので、ページ上の名前空間をスキップできます。

于 2008-08-12T10:44:41.323 に答える
0

csproj ファイルに System.Core 参照がない可能性があります。csproj ファイルで次のような行を探します。

<Reference Include="System" />

そして、その下に次のような行を追加します。

<Reference Include="System.Core" />
于 2010-05-11T03:05:40.807 に答える