HttpUtility ไม่มีอยู่ในบริบทปัจจุบัน


99

ฉันได้รับข้อผิดพลาดนี้เมื่อรวบรวมแอปพลิเคชัน 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

@AlexJolig: ตรวจสอบให้แน่ใจว่าคุณมีข้อมูลอ้างอิงและเนมสเปซ
SLaks

@ blackholeearth0_gmail: มีปัญหาอะไร? คุณกำหนดเป้าหมายอะไร
SLaks

ฉันแปลงโครงการจาก. net2 เป็น. net4 เพียงแค่เปลี่ยน Target Framework ก็ไม่ได้แก้ไขปัญหา ฉันต้องเพิ่ม dll ด้วย ที่อธิบายได้ดีกว่าในคำตอบของ lxk613 และแสดงสิ่งที่ฉันต้องทำเพื่อแก้ไขปัญหา
bh_earth0

189

คุณต้องเพิ่มSystem.Webข้อมูลอ้างอิง

  1. คลิกขวาที่ "Reference" ใน Solution Explorer
  2. เลือก "เพิ่มข้อมูลอ้างอิง"
  3. เลือกแท็บ ".NET"
  4. ค้นหาและเพิ่ม "System.Web"

แอปคอนโซล VS2012 โดยใช้การกำหนดเป้าหมาย. NET Framework 4.5 สิ่งนี้ได้รับการแก้ไข
Kyle

แม้จะมีเป้าหมาย แต่การเพิ่มข้อมูลอ้างอิงเท่านั้นที่ใช้ได้ผลสำหรับฉัน ขอบคุณ lxk613
João Bruno Abou Hatem de Liz

บิงโก! นี่คือคำตอบ
Alper

ทรีโซลูชัน Explorer ของฉันไม่มี "Reference"
Paul Gorbas

หากคุณใช้ฟังก์ชัน Azure ให้เพิ่ม #r "System.Web" ที่ด้านบนของไฟล์
Irshad Mohamed

17

SLaks มีคำตอบที่ถูกต้อง ... แต่ขอให้เจาะจงมากขึ้นสำหรับคนเช่นฉันที่รู้สึกรำคาญกับสิ่งนี้และหาไม่ได้ในทันที:

Project -> Properties -> Application -> Target Framework -> เลือก ".Net Framework 4"

จากนั้นโครงการจะบันทึกและโหลดซ้ำ


6
ฉันมีข้อผิดพลาดแม้จะมีเป้าหมายเต็มกรอบ! การเพิ่ม System.Web.dll เป็นข้อมูลอ้างอิงใช้งานได้
SteveCav

และอย่าลืมเพิ่มSystem.WebหรือSystem.Web.Mvcในไฟล์ที่เป็นปัญหาด้วย
TankorSmash

15

ในการแก้ไขปัญหานี้โปรดไปที่เส้นทางด้านล่าง

โครงการ -> คุณสมบัติ -> แอปพลิเคชัน -> TargetFramework

และเปลี่ยน Framework เป็น ".NET Framework 4"

เมื่อคุณดำเนินการนี้โปรเจ็กต์จะปิดและเปิดใหม่

สิ่งนี้ควรแก้ไขข้อผิดพลาด

(แต่ด้วยเหตุผลบางประการคำตอบของ @Karan Modi ไม่ ... )

จากนั้นคลิกขวาที่แท็บการอ้างอิงในตัวสำรวจโซลูชันและเลือกเพิ่มการอ้างอิง

เลือก "System.Web"

(การประกาศเนมสเปซโดยตรงโดย "ใช้ System.Web;" ดูเหมือนจะไม่เพียงพอ ... คุณต้องเพิ่มลงในตัวสำรวจโซลูชัน ... ฉันไม่เข้าใจว่าทำไม - ซึ่งไม่แปลกใจเลยเพราะฉันเป็นโปรแกรมเมอร์โคโบล ..


12

หลังจากทำตามคำตอบด้านบนและทำ

Project -> Properties -> Application -> Target Framework -> เลือก ".Net Framework 4"

มันก็ยังคงไม่ได้ทำงานจนกว่าฉันจะไปและเลือก
Project -> Add Reference
System.webและทุกอย่างทำงานเชื่อมโยงเสน่ห์


มีคนให้วิธีแก้ปัญหาเดียวกันแล้ว 2 ปีที่แล้ว โปรดตรวจสอบแนวทางแก้ไขก่อนโพสต์ของคุณเอง คำถามเก่าเกินไปและผู้โพสต์ต้นฉบับมักไม่ค่อยสังเกตเห็นคำตอบของคุณ
Techie

ดูเหมือนคำตอบของ @ lxk613
Shaihi

8

ในการแก้ไขปัญหานี้โปรดไปที่เส้นทางด้านล่าง

โครงการ -> คุณสมบัติ -> แอปพลิเคชัน -> TargetFramework

และเปลี่ยน Framework เป็น ".NET Framework 4"

เมื่อคุณดำเนินการนี้โปรเจ็กต์จะปิดและเปิดใหม่

สิ่งนี้ควรแก้ไขข้อผิดพลาด


บน Mac Target Framework max (ขอบคุณโมโน) คือ. NET 2 ฉันจะแก้ปัญหาที่นั่นได้อย่างไร
Chris M

4

ตกลงระบบเว็บ las referencias del proyecto

[แก้ไข]

ตาม Google Translate แปลเป็น:

เพิ่ม System.Web ในการอ้างอิงโครงการ


1

ฉันมีปัญหาเดียวกันกับที่ฉันทำฉันคัดลอก web.dll จากกรอบ Microsoft.NET จากนั้นวางในรูทของโปรเจ็กต์จากนั้นเพิ่มการอ้างอิง dll ไปยังแอพก็ใช้งานได้



0

มันทำงานได้ตามกระบวนการต่อไปนี้:

เพิ่มการอ้างอิง:

system.net
system.web

รวมเนมสเปซด้วย

using system.net
using system.web
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.