[iis] ‘System.ServiceModel’어셈블리에서 ‘System.ServiceModel.Activation.HttpModule’유형을로드 할 수 없습니다.

IIS에서 웹 프로젝트를 실행하고 있습니다.

4.0 Framework APP입니다.

Service.svc가 있고 응용 프로그램을 실행할 때이 오류가 발생합니다.

” ‘System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089’어셈블리에서 ‘System.ServiceModel.Activation.HttpModule’유형을로드 할 수 없습니다.”

나는 많은 포럼에서 찾은-> aspnet_regiis.exe -iru를 시도했지만 내 문제를 해결하지 못했습니다.

누구든지 다른 방법을 알고 있습니까?



답변

시도

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -iru

여러 버전의 .NET Framework가 단일 컴퓨터에서 나란히 실행되는 경우 ASP.NET 응용 프로그램에 매핑 된 ASP.NET ISAPI 버전에 따라 응용 프로그램에 사용되는 CLR (공용 언어 런타임) 버전이 결정됩니다.

위의 명령은 Aspnet_regiis.exe와 연결된 ASP.NET 버전을 설치하고 IIS에 ASP.NET 만 등록합니다.

https://support.microsoft.com/en-us/help/2015129/error-message-after-you-install-the–net-framework-4-0-could-not-load


답변

내 컴퓨터에 Windows 8이 설치되어 있는데 aspnet_regiis.exe 도구도 저에게 효과적이지 않았습니다.

나를 위해 일한 솔루션은 Neha의 대답 인이 링크에 게시되어 있습니다 .System.ServiceModel.Activation.HttpModule 오류

이 솔루션의 모든 문제는 aspnet_regiis.exe를 사용하여 aspNet을 다시 등록하는 것으로 언급되었습니다. 그러나 이것은 나를 위해 작동하지 않았습니다.

이것은 유효한 해결책이지만 (여기에서 아름답게 설명했듯이)

그러나 Windows 8에서는 작동하지 않았습니다.

Windows 8의 경우 Windows 기능이 필요하고 “.Net Framework 3.5″및 “.Net Framework 4.5 Advanced Services”의 모든 기능을 활성화해야합니다.

감사합니다 Neha


답변

안녕하세요 질문 해 주셔서 감사합니다. 해결 방법 : ” ‘System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089’어셈블리에서 ‘System.ServiceModel.Activation.HttpModule’유형을로드 할 수 없습니다.”

Windows 기능에서 .NET 4 고급 서비스 및 .NET 3.5 모두 확인

여기에 이미지 설명 입력

Nicolas Gago처럼 aspnet_regiis.exe -iru를 시도했지만 작동하지 않았습니다. 기능이 켜진 후 노란색 화면 오류가 사라졌습니다. 감사;


답변

다음 명령을 사용하여 powershell이있는 Windows Server 2012에 이러한 기능을 설치할 수 있습니다.

Install-WindowsFeature -Name  NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature -Name  NET-WCF-HTTP-Activation45 -IncludeAllSubFeature

다음 명령을 사용하여 기능 목록을 가져올 수 있습니다.

Get-WindowsFeature | Format-Table


답변

좋아, 드디어 얻었다.

이 줄 변경 %windir%\System32\inetsrv\Config\ApplicationHost.config

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" />

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" />

이것이 충분하지 않다면

Web.config에 다음 줄을 추가합니다.

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>


답변

서버 관리자의 기능 노드에서 일부 다른 역할의 활성화에 의해 설치된 .NET Framework 3.5.1 기능 아래의 일부 하위 항목을 제거 할 수도 있습니다.

예를 들어 다음과 같이 WCF 활성화 기능을 제거하고 웹 사이트를 다시 방문했습니다.

  • [x] .NET Framework 3.5.1 기능
    • [x] .NET Framework 3.5.1
    • [] WCF 활성화
      • [] HTTP 활성화
      • [] 비 HTTP 활성화

참고 :이를 위해 다시 시작할 필요가 없습니다.


답변

Windows 서버 2012에서 ISS-> 모듈-> ServiceModel3-0 제거로 이동합니다.