수정 방법 : 처리기“PageHandlerFactory-Integrated”의 모듈 목록에“ManagedPipelineHandler”모듈이 잘못되었습니다


543

IIS의 로컬 설치에서 작동하도록 MVC 3 프로젝트를 구성하고 있으며 다음 500 오류가 발생했습니다.

"PageHandlerFactory-Integrated"핸들러의 모듈 목록에 "ManagedPipelineHandler"모듈이 잘못되었습니다.

"기능 추가"대화 상자에서 해당 상자를 선택한 경우에도 IIS와 함께 ASP.Net이 완전히 설치되지 않았기 때문입니다. 이 문제를 해결하기 위해 명령 프롬프트에서 다음 명령을 실행했습니다.

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

내가 32 비트 시스템을 사용했다면 다음과 같을 것입니다.

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

내 질문은이 추가 단계를 수행하지 않고 .NET 4.0 (MVC 3)을 사용하기 위해 Windows 7 상자에 IIS를 설치하는 방법이 있습니까?


2
질문은 실제로 내 문제를 해결했습니다. 가능하다면 질문에 대한 대답으로 대답했을 것입니다. :)
Seregwethrin

예, 질문의 설명은 내 문제도 해결했습니다. 감사합니다 :-)
sramsay

답변:


950

"기능 추가"대화 상자에서 해당 상자를 선택한 경우에도 IIS와 함께 ASP.Net이 완전히 설치되지 않았기 때문입니다. 이 문제를 해결하기 위해 명령 프롬프트에서 다음 명령을 실행했습니다.

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

내가 32 비트 시스템을 사용했다면 다음과 같을 것입니다.

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

관리자 권한으로 명령 프롬프트를 실행해야합니다 ( CTRL+ SHIFT+ ENTER)


"Aspnet_regiis.exe이 (가) 내부 또는 외부 명령, 실행 가능한 프로그램 또는 배치 파일로 인식되지 않을 수 있습니다 ." 오류. 이 경우 .NET 4.0 폴더가 아니라 2.0 폴더에서 실행 파일을 실행할 수 있습니다 (아래 답변 참조)
Nikita G.

일부 사이트에서는 aspnet_regiis.exe를 실행해야한다고 읽었지만 매개 변수가 필요하다고 설명하지 않으면 아무 일도 일어나지 않습니다.
Pimenta

좋은 간단한 답변. 설치가 잘못되었다는 것을 알고 수정 방법을 몰랐습니다.
elcool

Windows Server 2012를 사용하는 경우 관리> 역할 및 기능 추가> 기능을 통해이를 수행해야합니다. 필자의 경우 IIS8에는 ASP.NET 4.5를 설치 / 활성화해야했습니다.
Stark

5
관리자 권한으로 실행하는 기억
리드 에반스에게

17

허용 된 답변은 맞지만 " Aspnet_regiis.exe가 내부 또는 외부 명령, 실행 가능한 프로그램 또는 배치 파일로 인식되지 않습니다. "라는 오류 메시지가 표시되는 경우가 있습니다.

이를 해결하려면 다음을 시도하십시오.

  1. .NET 4.0 설치가 손상되지 않았는지 확인하십시오 (설치 프로그램을 실행하고 '복구'하십시오). 컴퓨터에 전혀 설치되어 있지 않을 수도 있습니다.

  2. .NET 4.0이 설치되어 있지 않고 .NET 2.0으로 실행하려면 다음을 시도 하십시오 .

"Aspnet_regiis.exe가 내부 또는 외부 명령, 실행 가능한 프로그램 또는 배치 파일로 인식되지 않습니다."라는 메시지가 표시되면 C : \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet_regiis.exe -i로 전환하십시오. 명령 프롬프트에서.


Aspnet_regiis.exe -i는 Windows Server 2008 IIS7에서 내 문제를 해결했습니다.
VSB

9

문제를 해결하려면 repair the .net framework 4명령을 실행 한 후 실행하십시오.

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

9

오류 : 처리기“PageHandlerFactory-Integrated”의 모듈 목록에“ManagedPipelineHandler”모듈이 잘못되었습니다

명령 프롬프트에서 다음 명령을 실행하여이 문제를 해결하는 기사를 찾았습니다.

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

시스템이 32 비트 인 경우 다음과 같습니다.

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

그러나 명령 프롬프트를 사용하여 이러한 명령을 실행하려고하면 다음과 같은 오류 / 경고 메시지가 나타납니다.

C : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS 버전 4.0.30319.33440 로컬 컴퓨터에 ASP.NET을 설치 및 제거하는 관리 유틸리티. 저작권 (C) Microsoft Corporation. 판권 소유. ASP.NET (4.0.30319.33440) 설치를 시작하십시오. 이 버전의 운영 체제에서는이 옵션이 지원되지 않습니다. 관리자는 대신 "Turn Win dows 기능 켜기 / 끄기"대화 상자, 서버 관리자 관리 도구 또는 dism.exe 명령 줄 도구를 사용하여 IIS8과 함께 ASP.NET 4.5를 설치 / 제거해야합니다. 자세한 내용은 http://go.microsoft.com/fwlin k /? LinkID = 216771을 참조하십시오 . ASP.NET (4.0.30319.33440) 설치가 완료되었습니다. **

Windows 8.1 에서이 문제를 해결하려면 다음을 수행하는 것이 좋습니다.

해결책:

이동 : Windows 기능 설정 또는 해제-> 인터넷 정보 서비스-> 월드 와이드 웹 서비스-> 응용 프로그램 개발 기능-> ASP.NET 4.5 사용

문제가 해결 될 것입니다.


나는 같은 문제가 있었다. 감사! 나를 위해 "ASP.NET 4.6"을 활성화해야했습니다.
Jenny O'Reilly

4

또한 응용 프로그램 풀이 올바른 프레임 워크로 설정되어 있고 IIS 응용 프로그램이 실제로 파일을 저장 한 폴더를 가리키는 지 확인해야합니다.


너무 분명하지만 간과하기 쉽습니다. 감사!
Paul Lemke

이것은 나에게 문제였다. 어쨌든 나는 이것을 설정 해제하거나 "관리 코드 없음"으로 설정했습니다. v4.0으로 다시 전환하면 내 사이트가로드됩니다.
redOctober13

3

MVC를 설치하지 않고 MVC 응용 프로그램을 배포하려는 경우 응용 프로그램 과 함께 MVC DLL을 배포 할 수 있습니다 . MVC 3을 설치하면됩니다. 비슷한 방법으로 .Net을 설치하지 않고도 일부 .Net 4.0 네임 스페이스의 기능을 사용할 수 있습니다.


4
iis에 asp.net을 등록하는 것은 mvc가 존재하는 것과는 관련이 없습니다. 예, bin 폴더에 필요한 dll을 포함시킬 수 있지만 iis가 asp 파일을 인식하지 못하는 경우 dll이 할 수있는 일이 많지 않습니다
Shekhar

3

.Net 4에 대한 ISAPI / CGI 경로를 추가했지만 문제가 해결되지 않았습니다. 그런 다음 .Net V4 (클라이언트 및 확장) 설치에서 복구를 실행했습니다. 재부팅을 요청했습니다. 이것은 나를 위해 그것을 고쳤다.


2

Windows 8.1 Professional 컴퓨터 에서이 문제를 해결하려면 다음을 수행하십시오.

  1. 웹 플랫폼 설치 프로그램을 설치하십시오. http://www.microsoft.com/web/downloads/platform.aspx

  2. Web Platform Installer에서 ASP.NET 4.5를 설치하십시오 (이 기능은 하나의 종속성이 있습니다).

가장 인기있는 답변에서 위에서 언급 한 cmd prompt 명령을 시도하면 다음과 같은 오류 / 경고 메시지가 표시됩니다.

C : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS 버전 4.0.30319.33440 로컬 컴퓨터에 ASP.NET을 설치 및 제거하는 관리 유틸리티. 저작권 (C) Microsoft Corporation. 판권 소유. ASP.NET (4.0.30319.33440) 설치를 시작하십시오. 이 버전의 운영 체제에서는이 옵션이 지원되지 않습니다 . 관리자는 대신 "Turn Win dows 기능 켜기 / 끄기"대화 상자, 서버 관리자 관리 도구 또는 dism.e xe 명령 줄 도구를 사용하여 IIS8과 함께 ASP.NET 4.5를 설치 / 제거해야합니다. 자세한 내용은 http://go.microsoft.com/fwlin k /? LinkID = 216771을 참조하십시오 . ASP.NET (4.0.30319.33440) 설치가 완료되었습니다.


2

명령 프롬프트에서 aspnet_regiis를 시도했지만 관리자 권한이 없다는 답변을 받았습니다. 그런 다음 인터넷 검색을하고 솔루션을 찾은 후 cmd를 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행하려고했습니다. 대화 상자가 나타나면 예를 확인하고 aspnet_iis를 다시 실행하여 개미가 매력처럼 작동했습니다. 간단히 말해 1. app_pool에서 .NET 프레임 워크를 확인합니다. 2. 관리자로 cmd를 실행합니다. 3. aspnet_regiis -i를 실행합니다.


2

나는 같은 문제가 있었고 내 해결책은 다음과 같습니다.

"Windows 기능 설정 또는 해제"> 인터넷 정보 서비스> 월드 와이드 웹 서비스> 응용 프로그램 개발 기능> ASP.NET 4.5 사용으로 이동하십시오.


이것은 매력처럼 작동하지만 "응용 프로그램 개발 기능"이라는 점에서 프로덕션 서버에서이 작업을 원하지 않는 이유가 있습니까?
Philip Stratford

프로덕션 환경에서 해당 기능을 사용하는 것에 대해 언급 할 기능에 대해 충분히 잘 모릅니다. 그러나 technet.microsoft.com/en-us/library/hh831475.aspx에 도움이 될 수있는이 링크를 찾았습니다 . 또한 명령 프롬프트를 통해 IIS 및 ASP.NET 모듈을 설치하는 데 사용할 수있는 명령도 포함되어 있으며 이는 프로덕션 요구에 더 적합 할 수 있습니다.
Ryan Burbidge

1

Windows Server 2012와 비슷한 문제가 발생 하여 서버 관리자에 " Application Server " 기능을 설치 하면 문제가 해결되었습니다.


1

응용 프로그램 초기화 기능 사용-구성 상속으로 인해 잘못된 페이지 (.asp) 요청

500.21은 첫 번째 사용자 연결에서만 발생합니다. 후속 연결이 작동합니다.

.NET 웹 사이트에서 applicationInitialization url 콜렉션을 수정하여 해결되었습니다.


1
  1. 운영 cmd

  2. Aspnet_regiis.exe다음에서 명령 프롬프트로 끌어서 놓으십시오 .

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
  3. 유형 -i(예 Aspnet_regiis.exe -i:)

  4. 엔터를 치다

  5. 프로세스가 완료 될 때까지 기다리십시오

행운을 빕니다!


0

나는이 문제가 있었고 Express가 아닌 에디션에서도 다음 폴더를 제거하는 것이 도움이된다는 것을 알았습니다.

C:\Users\<user>\Documents\IISExpress


0

이 중 어느 것도 나를 위해 일하지 않았습니다. 다양한 앱 풀과 작동하지 않은 풀을 비교했지만 앱 풀의 고급 설정으로 이동하여

32 비트 응용 프로그램 활성화 = true

그런 다음 잘 작동했습니다!


0

나는 같은 문제가 있었다. 내 경우에는 핸들러가 두 곳에 있었다.

<system.web>
...
<httpHandlers>
 <add verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI" />
  </httpHandlers>
</system.web>

<system.webServer>
<handlers>
   ...
  <add name="FrontController" verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI"/>
</handlers>
</system.webServer>

그리고 [system.webServer]에서 처리기를 제거하면 문제가 사라졌습니다.


0

일부 시나리오에서는 ASP .NET 용 Microsoft .NET Framework 4.0 구성이 손상되어 Visual Studio 2010 또는 Microsoft SQL Server 2008 이전에 Microsoft Visual Studio 2012를 설치 한 경우 발생할 수 있기 때문에이 오류가 발생합니다.

다른 결론을 얻은 후에 결론에 도달하면 다음 명령을 실행하여 .Net 설치를 복구하십시오. 자세한 내용은 링크를 참조하십시오.

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.5.51209\setup.exe /repair /x86 /x64 /ia64 /norestart

https://msdn.microsoft.com/en-us/library/hh168535(v=nav.80).aspx



0

apppool을 클래식에서 통합으로 전환하려고 할 때 웹 서버 중 하나 에서이 문제가 발생했습니다. 이 웹 서버뿐만 아니라 다른 두 웹 서버에서도 제대로 작동했습니다. Server 2012이므로 aspnet_regiis를 수행 할 수 없으며 해당 복구를 시도 할 setupcache 폴더가 없습니다. 기능에서 모든 것이 올바르게 설정되었습니다.

% windir % \ system32 \ inetsrv \ config \ applicationHost.config를 거친 후 하나의 중요한 누락 비트가 발견되었습니다. 내 작동하지 않는 곳에서 다음 두 줄이 누락되었습니다.

        <add name="ManagedEngineV4.0_32bit" image="C:\Windows\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
        <add name="ManagedEngineV4.0_64bit" image="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />

내가 추가하면 모든 것이 잘 작동했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.