2010-07-20 2 views
6

ASP.NET 프로젝트를 .NET 3.5에서 .NET 4로 옮깁니다.ASP.NET 프로젝트를 .NET 4로 옮기기

모든 것이 web.dev에서 디버깅 중이면 훌륭하게 작동합니다. Visual Studio [2010])하지만 IIS7 [.5]에서이 도구를 실행하자마자 디버거가 연결되지 않습니다. IIS에서 바로 프로젝트를 실행하면 403을 되돌릴 수 있습니다 (서브 코드가 없으므로별로 도움이되지 않습니다).

현재 (작동 중!) .NET 3.5 사이트를 사용하고 AppPool을 .NET 4 런타임으로 변경하여 사이트를 설정했습니다. 나는 모든 파일 사용 권한이 정결하다는 것을 확인했다. (최소한 .NET 3.5 관점에서). 여기에 몇 가지 구성 단계가 누락 된 것처럼 느껴집니다 ...

디버거를 연결하려고 할 때 나타나는 오류 메시지는 "웹 서버에서 디버깅을 시작할 수 없습니다."입니다. 전 세계에서 가장 유용한 오류 메시지가 아닙니다.

연결된 w3wp 프로세스에 직접 연결하면 응용 프로그램이 성공적으로 성공적으로 실행되지 않을 것으로 예상됩니다.

기본 질문은 IIS에서 실행되는 프로젝트의 .NET 3.5에서 .NET 4 로의이 변경에 어떻게 영향을 미칩니 까?

+0

나는 VS에서 프로젝트를 .NET 4로 변환했다고 가정하고 싶다. – mxmissile

+0

@mxmissile - 예, 안전한 가정입니다. :) –

답변

0

처음부터 새로운 프로젝트를 시작하고 거기서 web.config를 사용하십시오. 거기에 3.5 페이지를 모두 복사하고 필요한 web.config 요소 위로 수동으로 이동하십시오. 페이지 자체는 변환을 필요로하지 않으며, 모두 web.config에 있습니다. .net 4.0 페이지의 web.config는 실제로 .net 4.0이 3.5와 같은 .net 2.0의 확장이 아니기 때문에 실제로 더 작습니다.

+0

web.dev와 IIS가 web.config를 처리하는 방법에는 어떤 차이가 있습니까? –

2

동일한 응용 프로그램 풀에서 .NET Framework를 혼합 할 수 없습니다. 따라서 .NET 4.0 웹 사이트 만 응용 프로그램 풀에 있는지 확인하십시오.

웹 사이트/가상 디렉터리도 .NET 4로 설정해야합니다.

4

알아 냈어.

IIS 용으로 .NET 4가 설치되지 않았습니다. 왜 그런지 물어 보지 마라.

Visual Studio 명령 프롬프트 (내 경우에는 x64)의 .NET 4 설치 디렉토리 (\ Windows \ Frameworks \ v4.0.xxxx)에서 asp_net_regiis -i을 실행하면 문제가 해결됩니다.

1

IIS7에는 "웹 사이트"내에 두 가지 옵션이 있습니다. IIS6에서는 하위 응용 프로그램을 "Add Virtual Directory ..."로 추가하여 IIS7에서 동일한 AppPool과 .NET Framework 버전을 유지해야합니다.

그러나 이제 IIS7에는 "Add Application ..."옵션이 있습니다.이 옵션을 사용하면 기본적으로 IIS6에서 허용 한 작업을 수행 할 수 있으므로 AppPool이 실행되도록 명시 적으로 지정할 수 있으며 상위 웹 사이트와 다를 수 있습니다.

관련 문제