HttpUtility không tồn tại trong bối cảnh hiện tại


98

Tôi gặp lỗi này khi biên dịch ứng dụng C #. Trông giống như một lỗi nhỏ, nhưng tôi không thể sửa chữa nó.

Thiết lập của tôi là Windows 7 64 bit. Visual-Studio 2010 C # express B2Rel.

Tôi đã thêm một tham chiếu đến System.Web.dll được đặt tại C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0, nhưng nó có biểu tượng dấu chấm than màu vàng và tôi vẫn gặp lỗi ở trên. Tôi cũng có using System.Webtuyên bố.

Tôi đang làm gì sai?


Cập nhật: Sau khi nhận được câu trả lời nhanh chóng cho tôi biết nguyên nhân gốc rễ, tôi đã tìm kiếm một chút trên Google để tìm kiếm nơi nó nói rằng System.Web.dll là dành cho toàn bộ khuôn khổ. Tôi không tìm thấy một tài liệu tham khảo như vậy.
Đối với người mới như tôi, blog này tóm tắt sự khác biệt giữa các khuôn khổ (client và full) một cách độc đáo. Tôi không thể tìm thấy điểm nào cho biết liệu một Dll nhất định có được hỗ trợ trong khuôn khổ ứng dụng khách hay không. Tôi đoán dấu chấm than trong Visual Studio phải là tín hiệu đầu tiên ...


2
Bạn có đang nhắm mục tiêu Hồ sơ khách hàng không?
SLaks

Câu trả lời:


87

Có thể bạn đang nhắm mục tiêu Hồ sơ khách hàng, trong đó System.Web.dllkhông có sẵn.

Bạn có thể nhắm mục tiêu toàn bộ khuôn khổ trong Thuộc tính của dự án .


13
Chơi lô tô! điều đó được chỉ định ở đâu? Tôi đã phải đọc cái này ở đâu? Cảm ơn.
Shaihi

Tôi đã thiết lập đầy đủ khuôn khổ trong Thuộc tính dự án, nhưng vấn đề vẫn tồn tại.
Alex Jolig

@AlexJolig: Đảm bảo bạn có tham chiếu và không gian tên.
SLaks

@ blackholeearth0_gmail: Vấn đề là gì? Bạn đang nhắm mục tiêu gì?
SLaks

tôi đã chuyển đổi dự án từ .net2 sang .net4. chỉ cần thay đổi Khung mục tiêu đã không khắc phục được sự cố. tôi cũng cần thêm dll. điều đó được giải thích rõ hơn trong câu trả lời của lxk613 và chỉ ra những gì tôi cần làm để khắc phục sự cố.
bh_earth0

187

Bạn cần thêm System.Webtài liệu tham khảo;

  1. Nhấp chuột phải vào "Tham chiếu" trong Trình khám phá Giải pháp
  2. Chọn "Thêm tài liệu tham khảo"
  3. Kiểm tra tab ".NET" được chọn.
  4. Tìm kiếm và thêm "System.Web".

Ứng dụng bảng điều khiển VS2012 sử dụng nhắm mục tiêu .NET Framework 4.5. Điều này đã giải quyết.
Kyle

Ngay cả với mục tiêu, chỉ thêm tham chiếu đã làm việc cho tôi. Cảm ơn lxk613
João Bruno Abou Hatem de Liz

Chơi lô tô! Đây là câu trả lời.
Alper

Cây Explorer giải pháp của tôi không chứa "Tham chiếu"
Paul Gorbas

nếu bạn đang sử dụng các chức năng Azure, hãy thêm #r "System.Web" ở đầu tệp của bạn
Irshad Mohamed

17

SLaks có câu trả lời đúng ... nhưng hãy để tôi nói cụ thể hơn một chút cho những người, như tôi, những người đang khó chịu vì điều này và không thể tìm thấy nó ngay lập tức:

Dự án -> Thuộc tính -> Ứng dụng -> Khung mục tiêu -> chọn ".Net Framework 4"

dự án sau đó sẽ lưu và tải lại.


6
Tôi đã gặp lỗi ngay cả VỚI khung đầy đủ được nhắm mục tiêu! Tuy nhiên, việc thêm System.Web.dll làm tham chiếu vẫn hoạt động.
SteveCav

Và rõ ràng là đảm bảo thêm System.Webhoặc System.Web.Mvcvào tệp được đề cập.
TankorSmash

15

Để giải quyết vấn đề này, vui lòng truy cập đường dẫn bên dưới

Dự án -> Thuộc tính -> Ứng dụng -> TargetFramework

và thay đổi Framework thành ".NET Framework 4".

Sau khi bạn làm điều này, dự án sẽ đóng và mở lại.

Điều này sẽ giải quyết lỗi

(nhưng vì một số lý do mà câu trả lời của @Karan Modi không ...)

tiếp theo, nhấp chuột phải vào tab tham chiếu trong trình khám phá giải pháp và chọn thêm tham chiếu,

chọn "System.Web"

(khai báo không gian tên trực tiếp bằng cách "using System.Web;" dường như không đủ ... bạn phải thêm nó vào trình khám phá giải pháp ... tôi không thể hiểu tại sao - điều này không có gì ngạc nhiên vì tôi là một lập trình viên cobol ..


12

Sau khi làm theo các câu trả lời ở trên, và đã

Dự án -> Thuộc tính -> Ứng dụng -> Khung mục tiêu -> chọn ".Net Framework 4"

Nó vẫn không hoạt động cho đến khi tôi đi tới
Project -> Add Reference
Và đã chọn System.web. Và mọi thứ hoạt động liên kết một sự quyến rũ.


Giải pháp tương tự đã được cung cấp bởi ai đó, 2 năm trước. Vui lòng kiểm tra các giải pháp trước khi đăng của riêng bạn. Câu hỏi quá cũ và người đăng ban đầu ít có khả năng nhận thấy câu trả lời của bạn.
Techie

Có vẻ như câu trả lời của @ lxk613
Shaihi

8

Để giải quyết vấn đề này, vui lòng truy cập đường dẫn bên dưới

Dự án -> Thuộc tính -> Ứng dụng -> TargetFramework

và thay đổi Framework thành ".NET Framework 4".

Sau khi bạn làm điều này, dự án sẽ đóng và mở lại.

Điều này sẽ giải quyết lỗi.


trên Mac, Target Framework tối đa (nhờ mono) là .NET 2. Làm thế nào tôi có thể giải quyết trên đó?
Chris M

4

Agrega System.web a las referencencias del proyecto.

[Biên tập]

Theo Google Dịch, điều này được dịch thành:

Thêm System.Web vào các tham chiếu dự án.


1

Tôi đã gặp vấn đề tương tự những gì tôi đã làm, tôi đã sao chép web.dll từ khung công tác Microsoft.NET, sau đó dán vào thư mục gốc của dự án, sau đó thêm tệp tham chiếu dll vào ứng dụng, nó hoạt động


1

Thêm một tham chiếu đến Sysem.Web.Dll đã làm điều đó cho tôi.


0

Nó hoạt động theo quy trình sau:

Thêm tài liệu tham khảo:

system.net
system.web

ngoài ra, bao gồm không gian tên

using system.net
using system.web
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.