[.net] System.Web.Mvc가 참조 추가에없는 이유는 무엇입니까?

C #, Visual Studio 2010 사용

MSDN에 문서화 된 System.Web.Mvc 라는 네임 스페이스가 있습니다 . 해당 네임 스페이스의 모든 유형에 대한 설명서에는 해당 유형이 있습니다 System.Web.Mvc.dll.

그러나 참조 추가,“.NET”탭으로 이동하면이 어셈블리가 목록에서 누락됩니다. 왜?



답변

VS Express 2012에서는 “어셈블리”탭에서 System.Web.Mvc를 찾을 수 없었지만 약간의 검색 후 기본 “어셈블리 \ 프레임 워크”대신 ” 어셈블리 \ 확장자 “탭 을 찾아야한다는 것을 알았습니다. ” 탭.


답변

가장 좋은 방법은 NuGet 패키지 관리자를 사용하는 것입니다.

아래 MVC 패키지를 업데이트하면 작동합니다.

여기에 이미지 설명을 입력하십시오


답변

같은 문제가 발생하여 System.Web.MVC 참조 어셈블리를 찾을 수 없었습니다.

마지막으로 발견하고 다음 위치에 있습니다.

VS가 C에 설치된 경우 : (때때로 MVC.dll이 모두가 말하는 기본 위치에 있지 않은 경우, ” 참조 어셈블리를 의미합니다. 경우 C : 드라이브에 “폴더를 .)

거기에 없다면 분명히 여기에 있어야합니다.

\ 프로그램 파일 (x86) \ Microsoft ASP.NET \ ASP.NET MVC 2 \ Assemblies \ System.Web.Mvc.dll

따라서 참조 추가 메뉴의 탐색 또는 찾아보기 탭을 통해 dll을 추가하십시오.


답변

Nuget 패키지 관리자 콘솔에서 다음과 같이 추가 할 수도 있습니다.

Install-Package Microsoft.AspNet.Mvc -Version 4.0.20710.0 -ProjectName XXXXX

Microsoft.AspNet.Mvc는 다음에 의존합니다.

  • ‘Microsoft.AspNet.WebPages (≥ 2.0.20710.0 && <2.1)’
  • ‘Microsoft.Web.Infrastructure (≥ 1.0.0.0)’
  • ‘Microsoft.AspNet.Razor (≥ 2.0.20710.0 && <2.1)’

… 나에게 큰 문제가 아닌 것 같습니다. 우리의 경우, 이것은 Mvc 앱을 지원하기 위해 존재하는 클래스 라이브러리입니다. 그래서 우리는 그것이 최악의 양성 의존성이라고 생각합니다.

앞으로 패키지를 업데이트하는 것이 과거에 GAC 및 파일 시스템 어셈블리 참조에 대한 경험보다 훨씬 덜 고통 스러울 것이기 때문에 파일 시스템 또는 GAC의 어셈블리를 가리키는 것이 좋습니다.


답변

나는 똑같은 문제를 겪었고 여기에 재미있는 이유 System.Web.Mvc가 있습니다 System.Web. 그러나이 목록은 알파벳순이 아닙니다.

먼저 목록을 정렬 한 다음 근처를 살펴보십시오 System.Web.


답변

“OK. Web.config에 해당 XML을 추가해도 작동하지만 질문에 대답하지 않습니다.”

거기 있어야합니다. 기본적으로 추가 참조 목록은 정렬 된 것으로 보이지만 그렇지 않습니다. 이름 헤더를 누르고 다시 찾으십시오.


답변

다음 단계를 확인하십시오.

  1. MVC가 올바르게 설치되어 있는지 확인하십시오.
  2. 프로젝트 속성을 확인하고 프로젝트 대상 프레임 워크가 무엇인지 확인하십시오. 대상 프레임 워크가 .Net Framework 4로 설정되어 있지 않으면 설정하십시오.

참고 : 대상 프레임 워크가 .Net Framework 4 Client Profile로 설정되어 있으면 참조 목록에 MVC 참조가 나열되지 않습니다. .Net Framework 4와 .Net Framework 4 Client Profile은 여기에서 다릅니다 .

.NET Framework 4 Client Profile은 클라이언트 응용 프로그램에 최적화 된 .NET Framework 4의 하위 집합입니다. WPF (Windows Presentation Foundation), Windows Forms, WCF (Windows Communication Foundation) 및 ClickOnce 기능을 포함한 대부분의 클라이언트 응용 프로그램에 대한 기능을 제공합니다. 이를 통해 .NET Framework 4 Client Profile을 대상으로하는 응용 프로그램을보다 빠르게 배포하고 설치 패키지를 줄일 수 있습니다.