2011-01-16 4 views
7

Mvc3 RTM에 대해 선물을 실행하려고합니다. webPI에서 mvc3을 설치 한 후에는 .dll이 없습니다.MVC3 RTM Futures - Microsoft.Web.Mvc 설치

소스를 다운로드했지만 직접 만들려고했지만 솔루션에 놓고 네임 스페이스를 Views 폴더의 web.config에 추가하면 모든 페이지에 다음 오류가 표시됩니다.

S0012: The type 'System.Web.Mvc.Controller' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null'. 

강한 이름이나 그 라인을 따라 뭔가가 있기 때문입니다.

어떻게 선물을 사러 갈 수 있습니까?

편집 :

1) 내가 잘못 될 수도 있지만 메모리에서 다운로드하여 MVC의 이전 버전을 설치했을 때, 그것은 프로그램 파일/마이크로 소프트 ASP에서 .DLL 당신에게 Microsoft.Web.Mvc을 줄 것입니다. NET/ASP. NET MVC2. WebPI를 설치하면 해당 위치에 System.Web.Mvc.dll 만 있습니다.

2) 그것은이 어셈블리를위한 장소 (나는 또한 단지 확인하기 위해 검사)

3) 작동하지 않는 프로젝트가 대상 프로젝트 아니다 ... GAC에 틀림 없습니다. 나는 새로운 'ASP .net MVC 3 응용 프로그램'을 만들어 그것이 효과가 있는지 확인했다. 그런 다음 Mvc 3 소스 코드에서 작성한 어셈블리에 대한 참조를 추가하고 'Views'폴더 아래에서 web.config를 변경했습니다.

<system.web.webPages.razor> 
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<pages pageBaseType="System.Web.Mvc.WebViewPage"> 
    <namespaces> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Routing" /> 
    <add namespace="Microsoft.Web.Mvc" /> 
    </namespaces> 
</pages> 

4) 최대한 빨리 네임 스페이스 요소와 DLL을 분리 할 때,이 프로젝트는 다시 작동합니다. 당신이 MVC2 프로젝트를 시작한다면 당신은 아마 물론 3.0으로 변경해야합니다

처럼 거기에 줄을 -

+0

당신이 VS 또는 VWD 중 하나에 MVC3 프로젝트 템플릿을 사용하고 있습니까 ? 어떤 프로젝트가 오류, 대상 프로젝트 또는 선물 프로젝트를 얻고 있습니까? MVC3 설치에 dll이 포함되어 있지 않다고 말하면 사용중인 VS 버전에 대한 모든 툴링 지원이 있습니까? 다시 설치해야 할 수도 있습니다. – kim3er

답변

10

source code of MVCContrib을 다운로드 할 수 있으며 bin/AspNetMvc 폴더 안에 ASP.NET MVC 3.0에 대해 컴파일 된 Microsoft.Web.Mvc 어셈블리가 있습니다.

+1

그 트릭을 했어, 고마워! –

+0

거룩한 암소, 나는 이것이 이것을 얻을 수있는 유일한 방법이라고 믿을 수 없다 ... 고맙습니다. 많이 – CubanX

+0

그냥, 아니 Microsoft.Web.Mvc.dll을 다운로드하십시오. – Ash

-1

당신은 Web.config의에서 어셈블리뿐만 아니라 네임 스페이스를 포함해야 , 바인딩 리디렉션을 업데이트해야 할 수도 있습니다.

dll이 포함되어 있지 않다고 말하면 gac을 확인 했습니까? 파일이있는 경우 강력한 이름을 기반으로 시스템을 찾기 위해 로컬로 파일을 필요로하지 않습니다.

소스에서 빌드 한 버전이 다른 강력한 이름을 가진 경우 공식 빌드를 참조하는 타사 구성 요소에 문제가있을 수 있지만 웹 구성의 이름이 일치하는 한 핵심 재료. 자신의 키를 추가하여 토큰이 null이 아니도록 할 수 있습니다.

0

MvcFutures 프로젝트를 빌드 할 때 System.Web.Mvc 및 System.Web.WebPages의 참조를 GAC의 참조로 대체해야합니다. 그렇지 않으면 Mvc 소스 코드에 대한 대상 프로젝트를 빌드해야합니다. 다운로드.

두 옵션 모두 잘 작동합니다.