2010-03-08 54 views
84

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ể có được nó.HttpUtility không tồn tại trong ngữ cảnh hiện tại

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

Tôi đã thêm tham chiếu đến System.Web.dll 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ó tờ khai using System.Web.

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


Cập nhật: Sau khi nhận được câu trả lời nhanh chóng chỉ cho tôi vào nguyên nhân gốc rễ, tôi đã tìm kiếm một chút trong Google đến nơi nó nói rằng System.Web.dll là dành cho các khuôn khổ đầy đủ. Tôi không tìm thấy một tham chiếu như vậy.
Đối với người mới như tôi, this blog tóm tắt sự khác biệt giữa các khung công tác (khách hàng và đầy đủ) độc đáo. Tôi không thể tìm thấy một chỗ nói rằng một Dll nào đó có được hỗ trợ trong khung công tác 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

Trả lời

78

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

Bạn có thể nhắm mục tiêu khung làm việc đầy đủ trong Thuộc tính dự án.

+12

Bingo! nó được chỉ định ở đâu? Tôi phải đọc cái này ở đâu? Cảm ơn. – Shaihi

+0

Tôi đã đặt khung làm việc đầy đủ trong Thuộc tính dự án, nhưng vấn đề tồn tại. –

+0

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

146

Bạn cần thêm tham chiếu System.Web;

  1. Nhấp chuột phải vào "tham khảo" trong Solution Explorer
  2. Chọn "Add Reference"
  3. Kiểm tra "NET" tab được chọn.
  4. Tìm kiếm và thêm "System.Web".
+0

Ứng dụng Console VS2012 bằng cách sử dụng nhắm mục tiêu Khuôn khổ .NET 4.5. Điều này đã được giải quyết. – Kyle

+1

làm việc cho tôi – docesam

+0

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 – Joaobrunoah

17

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

Project -> Properties -> Ứ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 được nhắm mục tiêu đầy đủ! Thêm System.Web.dll làm tham chiếu đã làm việc. – SteveCav

+0

Và rõ ràng là hãy chắc chắn thêm 'System.Web' hoặc' System.Web.Mvc' vào tệp đang được đề cập. – TankorSmash

1

tôi đã cùng một vấn đề gì tôi đã làm, tôi sao chép web.dll từ khuôn khổ Microsoft.NET, sau đó dán vào thư mục gốc của dự án, sau đó thêm refrence dll để ứng dụng, nó làm việc

2

Agrega system.web một las referencias del proyecto.

[Chỉnh sửa]

Theo Google Translate, dịch này để:

Thêm System.Web để tham khảo dự án.

7

Để giải quyết điều này, Vui lòng đi đến con đường bên dưới

Project -> Properties -> Ứng dụng -> TargetFramework

và thay đổi khung để" .NET Framework 4" .

Khi bạn thực hiện việc này, dự án sẽ đóng và mở lại.

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

13

Để giải quyết điều này, Vui lòng đi đến con đường bên dưới

Project -> Properties -> Ứng dụng -> TargetFramework

và thay đổi khung để" .NET Framework 4" .

Khi bạn thực hiện việc này, dự án sẽ đóng và mở lại.

này nên giải quyết các lỗi

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

tiếp theo click chuột phải vào tab tài liệu tham khảo trong solution explorer và chọn thêm tài liệu tham khảo,

chọn "System.Web"

(khai báo không gian tên trực tiếp bằng cách "sử dụng System.Web;" doesnt có vẻ là đủ ... bạn phải thêm nó vào cửa sổ solution explorer ... i cant un derstand tại sao - đó là không có gì ngạc nhiên, vì tôi là một lập trình viên COBOL ..

6

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

Project -> Properties -> Ứng dụng -> Target Framework -> chọn ". net Framework 4"

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

+0

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

+0

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

Các vấn đề liên quan