HttpUtilityは現在のコンテキストに存在しません


98

C#アプリケーションをコンパイルすると、このエラーが発生します。些細なエラーのように見えますが、回避できません。

私のセットアップはWindows 7 64ビットです。Visual-Studio 2010 C#Express B2Rel。

にあるSystem.Web.dllへの参照を追加しましたC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0が、黄色の感嘆符があり、それでも上記のエラーが発生します。私にもusing System.Web宣言があります。

何が悪いのですか?


更新:根本的な原因を指摘する迅速な回答を得た後、私はGoogleで少し検索して、System.Web.dllが完全なフレームワーク用であることを示しています。そのような参照は見つかりませんでした。
私のような初心者のために、このブログはフレームワーク(クライアントとフル)の違いをうまくまとめています。特定のDLLがクライアントフレームワークでサポートされているかどうかを示すスポットが見つかりませんでした。Visual Studioの感嘆符が最初のシグナルになると思います...


2
クライアントプロファイルをターゲットにしていますか?
SLaks

回答:


87

おそらくSystem.Web.dll利用できないクライアントプロファイルをターゲットにしています。

プロジェクトのプロパティでフレームワーク全体をターゲットにできます


13
ビンゴ!それはどこに指定されていますか?私はこれをどこで読むべきでしたか?ありがとう。
Shaihi

プロジェクトのプロパティで完全なフレームワークを設定しましたが、まだ問題があります。
Alex Jolig、2015年

@AlexJolig:参照と名前空間があることを確認してください。
SLaks

@ blackholeearth0_gmail:問題は何ですか?何を狙ってるの?
SLaks 2015年

プロジェクトを.net2から.net4に変換しました。Target Frameworkを変更しただけでは問題は解決しませんでした。私もdllを追加する必要がありました。これは、lxk613の回答で詳しく説明されており、問題を解決するために何をする必要があるかを示しています。
bh_earth0 2015年

187

System.Web参照を追加する必要があります。

  1. ソリューションエクスプローラーで[参照]を右クリックします。
  2. 「参照の追加」を選択します
  3. 「.NET」タブが選択されていることを確認します。
  4. 「System.Web」を検索して追加します。

.NET Framework 4.5をターゲットにしたVS2012コンソールアプリ。これは解決しました。
カイル

ターゲットがあっても、リファレンスを追加するだけでうまくいきました。おかげlxk613
ジョアン・ブルーノアボハテム・デ・リズ

ビンゴ!これが答えです。
アルパー、

ソリューションエクスプローラーのツリーに「参照」が含まれていない
Paul Gorbas

Azure関数を使用している場合は、ファイルの先頭に#r "System.Web"を追加します
Irshad Mohamed

17

SLaksは正しい答えを持っています...しかし、これに悩まされてすぐにそれを見つけることができない私のような人々のために、もう少し具体的にさせてください:

プロジェクト->プロパティ->アプリケーション->ターゲットフレームワーク->「.Net Framework 4」を選択

その後、プロジェクトは保存および再ロードされます。


6
完全なフレームワークを対象にしてもエラーが発生しました!参照としてSystem.Web.dllを追加しても機能しました。
SteveCav

そして、明らかに問題のファイルにも、System.WebまたはSystem.Web.Mvcファイルに追加してください。
TankorSmash

15

これを解決するには、以下のパスに進んでください

プロジェクト->プロパティ->アプリケーション-> TargetFramework

フレームワークを「.NET Framework 4」に変更します。

これを行うと、プロジェクトが閉じて再度開きます。

これはエラーを解決するはずです

(しかし、何らかの理由で@Karan Modiの答えは...ではありません...)

次に、ソリューションエクスプローラーの[参照]タブを右クリックし、[参照の追加]を選択します。

「System.Web」を選択します

(「System.Webを使用して」で名前空間を直接宣言するだけでは十分ではないようです...ソリューションエクスプローラーに名前空間を追加する必要があります...理由を理解できません。


12

上記の回答に従って、そして行った後

プロジェクト->プロパティ->アプリケーション->ターゲットフレームワーク->「.Net Framework 4」を選択

それが
Project -> Add Reference
And selected に行くまでまだ機能しませんでしたSystem.web。そして働いたすべてが魅力にリンクします。


同じソリューションが2年前にすでに誰かによって提供されています。自分で投稿する前に、解決策を確認してください。質問が古すぎて、元の投稿者があなたの応答に気づきにくいです。
Techie 2016年

@ lxk613の答えのようです
Shaihi

8

これを解決するには、以下のパスに進んでください

プロジェクト->プロパティ->アプリケーション-> TargetFramework

フレームワークを「.NET Framework 4」に変更します。

これを行うと、プロジェクトが閉じて再度開きます。

これでエラーが解決します。


Macでは、Target Framework max(おかげでモノ)は.NET 2です。どうすれば解決できますか?
Chris M

4

Agrega System.web las referencias del proyecto。

[編集]

Google翻訳によると、これは次のように変換されます。

System.Webをプロジェクト参照に追加します。


1

私がしたことと同じ問題があり、Microsoft.NETフレームワークからweb.dllをコピーし、プロジェクトのルートに貼り付け、アプリにdll参照を追加しました



0

次のプロセスで機能しました:

参照を追加:

system.net
system.web

また、名前空間を含める

using system.net
using system.web
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.