質問

以下を .aspx ページに追加して、.Net 3.5 対応 Web サーバーに Linq をロードしようとしています。

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

ただし、これは失敗し、名前空間が見つからないというメッセージが表示されます。

タイプまたは名前空間名 'Query' は名前空間 'System' に存在しません

私も運が悪かったので試してみました:

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

.Net 3.5 は動作していると思います。 var hello = "Hello World" 機能するようです。

誰か手伝ってくれませんか?

追伸:Visual Studio を使用していないことを明確にしたいのですが、単に テキストエディタ コードを .aspx ファイルに直接書き込みます。

役に立ちましたか?

解決

IIS でバージョン 2 が選択されていますが、

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

実際、本当の情報は次のとおりです。

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

他のヒント

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>

答えを見つけました:) 以下を 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 つを受け入れました:)

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

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

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

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

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


申し訳ありませんが、明確ではありませんでした。追加するつもりだった System.Core ページではなく、Web プロジェクトの参照にアクセスします。

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

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

<Reference Include="System" />

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

<Reference Include="System.Core" />
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top