현재 컨텍스트에 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 2010 년

프로젝트 속성에서 전체 프레임 워크를 설정했지만 문제가 있습니다.
— 알렉스 졸릭

@AlexJolig : 참조와 네임 스페이스가 있는지 확인하십시오.
— SLaks

@ blackholeearth0_gmail : 뭐가 문제 야? 무엇을 목표로 삼고 있습니까?
— SLaks

프로젝트를 .net2에서 .net4로 변환했습니다. Target Framework를 변경하는 것만으로는 문제가 해결되지 않았습니다. 나도 dll을 추가해야했습니다. 그것은 lxk613의 대답에서 더 잘 설명되고 문제를 해결하기 위해해야 ​​할 일을 보여줍니다.
— bh_earth0 2015

187

System.Web참조 를 추가해야합니다 .

  1. 솔루션 탐색기에서 "참조"를 마우스 오른쪽 단추로 클릭하십시오.
  2. "참조 추가"를 선택하십시오.
  3. ".NET"탭이 선택되었는지 확인하십시오.
  4. "System.Web"을 검색하여 추가합니다.

.NET Framework 4.5를 대상으로하는 VS2012 콘솔 앱. 이것은 해결되었습니다.
— Kyle

대상이 있더라도 참조를 추가하는 것만으로도 효과적이었습니다. 감사합니다 lxk613
— João Bruno Abou Hatem de Liz

빙고! 이것이 답입니다.
— Alper

내 솔루션 탐색기 트리은 "참조"가 포함되어 있지 않습니다
— 폴 Gorbas

Azure 함수를 사용하는 경우 파일 위에 #r "System.Web"을 추가합니다
— Irshad Mohamed

17

SLaks는 정답을 가지고 있습니다 ...하지만 이것에 짜증이 나서 바로 찾을 수없는 저와 같은 사람들을 위해 좀 더 구체적으로 말씀 드리겠습니다.

프로젝트-> 속성-> 응용 프로그램-> 대상 프레임 워크-> ".Net Framework 4"선택

그러면 프로젝트가 저장되고 다시로드됩니다.


6
전체 프레임 워크를 대상으로해도 오류가 발생했습니다! System.Web.dll을 참조로 추가하면 작동했습니다.
— SteveCav

그리고 분명히 문제의 파일에 System.Web또는 추가했는지 확인하십시오 System.Web.Mvc.
— TankorSmash

15

이 문제를 해결하려면 아래 경로로 이동하십시오.

프로젝트-> 속성-> 응용 프로그램-> 대상 프레임 워크

프레임 워크를 ".NET Framework 4"로 변경합니다.

이렇게하면 프로젝트가 닫히고 다시 열립니다.

이렇게하면 오류가 해결됩니다.

(그러나 어떤 이유로 @Karan Modi의 대답은 ...)

다음으로 솔루션 탐색기에서 참조 탭을 마우스 오른쪽 버튼으로 클릭하고 참조 추가를 선택합니다.

"System.Web"을 선택합니다.

( "System.Web을 사용하여 네임 스페이스를 직접 선언"하는 것만으로는 충분하지 않은 것 같습니다. 솔루션 탐색기에 추가해야합니다 ... 이유를 이해할 수 없습니다. 제가 코볼 프로그래머이기 때문에 놀라운 일이 아닙니다 ..


12

위의 답변을 따른 후

프로젝트-> 속성-> 응용 프로그램-> 대상 프레임 워크-> ".Net Framework 4"선택


Project -> Add Reference
그리고 선택 하기 전까지는 여전히 작동하지 않았습니다 System.web. 그리고 모든 일이 매력을 연결합니다.


2 년 전 누군가가 이미 동일한 솔루션을 제공했습니다. 직접 게시하기 전에 솔루션을 확인하십시오. 질문이 너무 오래되어 원본 포스터가 귀하의 답변을 알아 차릴 가능성이 적습니다.
— Techie

lxk613의 대답 @처럼 보인다
— Shaihi

8

이 문제를 해결하려면 아래 경로로 이동하십시오.

프로젝트-> 속성-> 응용 프로그램-> 대상 프레임 워크

프레임 워크를 ".NET Framework 4"로 변경합니다.

이렇게하면 프로젝트가 닫히고 다시 열립니다.

이렇게하면 오류가 해결됩니다.


Mac에서 Target Framework max (mono 덕분에)는 .NET 2입니다. 여기서 어떻게 해결할 수 있습니까?
— Chris M

4

Agrega System.web a 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.