2012-10-10 3 views
8

ASP.NET MVC 3 응용 프로그램을 사용하고 있습니다. 이 프로젝트는 VS 2010으로 구축되었으며 .NET 4.0을 대상으로합니다. 이제 .NET 4.5로 리 타켓팅하고 성공적으로 다시 컴파일했습니다. 우리의 테스트 서버 (윈도우 2008 R2 SP1)에 배포하려고하면 지금 실패웹 배포로 .NET 4.5 웹 응용 프로그램 배포

오류 코드 : ERROR_APPPOOL_VERSION_MISMATCH에게 더 많은 정보 : 당신이 을 사용하려고하는 응용 프로그램 풀에 설정 한 'managedRuntimeVersion'속성이 ' v4.0 '. 이 응용 프로그램에는 'v4.5'가 필요합니다. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_APPPOOL_VERSION_MISMATCH에서 자세히 알아보십시오.

서버에는 .NET 4.5가 설치되어 있지만 응용 프로그램 풀 4.5는 없습니다 (업그레이드가되어 있고 4.0 풀이 잘되어야 함을 알고 있기 때문에). 클라이언트 컴퓨터에는 VS 2012와 Web Deploy 3 (이전에는 Web Deploy 2였습니다)이 있습니다. 또한 Web Deploy 3을 서버에 설치했습니다.

ASP.NET을 aspnet_regiis (행운을 빈다.)으로 다시 등록하려고 시도했습니다.

왜 오류가 발생하며 어떻게 해결할 수 있습니까? 너무 초조해 ...

p.s. 는 RC에 대한 similar question 찾을 수 있지만,

업데이트 도움이되지 않습니다 this is a bug 마이크로 소프트는 CTP 이후 수정되지 않은 것처럼

이 보이는합니다. IgnoreDeployManagedRuntimeVersion 속성이 트릭을했습니다. 얼마나 수치 스럽습니까!

+0

자유롭게 답변을 게시하십시오. –

답변

5

윈도우 서버 2012은 기본적으로 .NET 4.5을 포함 (웹 서버 역할을 추가 할 때) IIS는 다음과 같은 응용 프로그램 풀을 가지고 을 DefaultAppPool, 닷넷 V4.5 사용 닷넷 V4.5 클래식을 .NET Framework 4.0 (4.5는 4.0의 적절한 업그레이드이기 때문에). 그러나 .NET 4.0이 설치된 Windows Server 2008에 .NET 4.5 재배포 가능 패키지를 설치하면 ASP.NET v4.0, ASP.NET v4.0 클래식의 이름이 바뀌지 않습니다. 이것이 웹 배포가 실패하는 주요 이유입니다.

9

당신은 프로젝트에이 속성을 추가하는 시도 할 수 있습니다 :

<IgnoreDeployManagedRuntimeVersion>True</IgnoreDeployManagedRuntimeVersion> 
+3

... 또는 MSBuild (CI 등)에 전달 .../P : IgnoreDeployManagedRuntimeVersion = True –

2

@kzu를 : 노력하지 않고,이 작동합니다.

오차드 CMS를 설치할 때 동일한 문제가있었습니다. v2.0을 계속 타겟팅합니다. 그러나 간단한 해결책을 찾으십시오. IIS에서 응용 프로그램 풀 (모든 응용 프로그램 풀이있는 목록)의 두 번째 설정 상단 오른쪽 목록 : "응용 프로그램 풀 기본값 설정 .."에서 기본값을 2.0에서 4.0 등으로 변경하십시오 , 짜잔.

1

IIS 용 ASP.NET 등록
a. CMD를 관리자로 실행하십시오.
b. CD를 \ windows \ microsoft.net \ framework \ v4.x
c. Aspnet regiis -i