'System.ServiceModel'어셈블리에서 'System.ServiceModel.Activation.HttpModule'유형을로드 할 수 없습니다.


91

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를 시도했지만 내 문제를 해결하지 못했습니다.

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

답변:


159

시도

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


1
또한 우리는 CMD를 사용할 수 있습니다 : 주소, cd \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319를 입력하고 다음으로 설치합니다 : aspnet_regiis.exe -iru 명령, 다음으로 iisreset에 의해 ISS를 다시 시작하는 것이 좋습니다
Harry Sarshogh

2
이것은 오늘날에도 여전히 도움이되고 있습니다. 나는 지금까지 MS가 이것을 고칠 것이라고 바랬을 것입니다. 제 경우에는 이미 ASP.net 4.0 프레임 워크를 사용하여 실행중인 IIS 응용 프로그램이 있습니다. 고객이 4.5.1로 업그레이드하고 다른 많은 업데이트를 수행하는 것 외에 무엇을했는지 정확히 알 수는 없지만이 명령을 다시 실행해야했습니다. 지원 엔지니어는 그렇게 할 필요가 없었기 때문에 생각하지 못했습니다. 얼마 동안.
ebol2000

답변 해주셔서 감사합니다. 그러나 이것은 나를 위해 작동하지 않았습니다. 그러나 아래 답변에서 언급했듯이 Windows 기능에서 '.Net Framework 3.5'및 '.Net Framework 4.5'의 모든 것을 활성화하면 트릭이 발생했습니다.
Ozgur Bar

Windows 서버 2008 x64 R2가 있고 제대로 작동했지만 한 달 후에이 오류가 발생했습니다.이 게시물을 발견하고 내 서버 에서이 명령을 실행하면 문제가 해결되었습니다. 나는 내 서버에 아무것도 설치하거나 업데이트하지 않습니다. 이제 질문은 왜 발생 했습니까?, 정상입니까 아니면 해킹 유형입니까?
motevalizadeh

1
AND 버전으로 실행 aspnet_regiis.exe -iru하는 경우에만 저에게 효과적입니다! v4.0.XXXXX v2.0.XXXXX
1_bug dec.

51

내 컴퓨터에 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


4
이 조언은 Windows Server 2012에도 필요합니다.
Chris O

전달해 주셔서 감사합니다. 윈 8.1에이 문제를 해결하기 위해 좋은 일했다
JJMpls

2
모든 것을 활성화 할 필요는 없습니다. Http 활성화 만하면됩니다!
Marius Stănescu 2014

마리우스 말한, 단지 HTTP를 활성화 .NET에서 3.5 특징
C. 리들리

당신과 네하 내 남아있는 머리카락 저장
카림 AG를

36

안녕하세요 질문 해 주셔서 감사합니다. 해결 방법 : " '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를 시도했지만 작동하지 않았습니다. 기능이 켜진 후 노란색 화면 오류가 사라졌습니다. 감사;


3
이것은 Windows Server 2012 R2에서 저에게 효과적이었습니다. 감사합니다!
NickG 2014 년

Windows 8에서도 마찬가지입니다. 감사합니다!
NikitaBaksalyar 2014 년

이것은 나를 위해 Win8을 수정했습니다. 감사! +1
Darbio 2014 년

1
IIS에서 서비스를 호스팅 할 때 "Http Activation"만 활성화하면됩니다. 그것은 나를 위해 일했습니다, 감사합니다.
Dhanuka777 2014

3
Windows 10에서 나를 위해 일했습니다.
Justin

10

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

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

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

Get-WindowsFeature | Format-Table

6

좋아, 드디어 얻었다.

이 줄 변경 %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>

ApplicationHost.config 변경은 Windows Server 2016에서 저에게 효과적이었습니다. 다른 모든 답변은 도움이되지 않았습니다. 감사!
Tobias

5

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

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

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

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




1

실수로 한 웹 사이트를 다른 웹 사이트의 디렉토리에 게시 한 후이 오류가 발생했습니다. 두 웹 사이트에는 서로 다른 버전의 .net이 있습니다. 나를 위해 수정 한 것은 응용 프로그램 풀을 변경하는 것입니다. 이를 수행하려면 IIS 관리자에서 다음을 수행하십시오.

웹 사이트 클릭 => 고급 설정 ... (오른쪽) => 애플리케이션 풀 오른쪽 클릭 => "..."버튼이 표시되어야 함 => ".NET v4.5 클래식"선택

해당 응용 프로그램 풀이 작동하지 않으면 다른 풀을 시도해보십시오.


0

우리는 웹 사이트와 함께 웹 서비스를 사용하고 있으며 웹 사이트를 게시 할 때 동일한이 오류를 반환합니다. IIS로 이동하여 모듈에서 ServiceModel을 제거하고 처리기 매핑에서 svc-Integrated를 제거하면 오류가 해결되었음을 알았습니다.


0

나는 늦었습니다. 누군가를 도울 수 있기를 바랍니다 .... 이것은 IIS 8.0의 알려진 문제입니다.

해결책은 IIS 관리자에서 3.x 모듈과 처리기를 삭제하는 것입니다. applicationHost.config에 보관하려는 경우 응용 프로그램 또는 사이트 수준에서 삭제할 수 있습니다. 하지만 applicationHost.config에서 삭제하고 싶었습니다. 다음 단계를 수행하십시오.

IIS 관리자에서 컴퓨터 이름 노드를 클릭합니다. "기능보기"에서 "모듈"을 두 번 클릭합니다. “ServiceModel”을 찾아 제거합니다. IIS 8 오류 해결에 대한 이미지 1 : 'System.ServiceModel.Activation.HttpModule'유형을로드 할 수 없습니다.

컴퓨터 이름 노드의 "기능보기"로 돌아가서 "처리기 매핑"을 두 번 클릭합니다. "svc-Integrated"를 찾아 제거합니다. IIS 8 오류 해결에 대한 이미지 2 : 'System.ServiceModel.Activation.HttpModule'유형을로드 할 수 없습니다.


0

IIS 기능 설정을 변경할 수 있습니다. 관리자 권한으로 실행 (Windows Server 2008의 경우)을 사용하여 명령 프롬프트를 열고 C : \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe 명령을 실행하여 쉽게 해결할 수있는 단계 - iru 는 ASP.Net 4.0을 설정 한 다음 iisreset 명령으로 IIS를 재설정합니다.

참조 : https://support.plesk.com/hc/en-us/articles/213392249-ASP-website-shows-error-Could-not-load-type-System-ServiceModel-Activation-HttpModule-from-assembly


-1

.Net 오류 메시지에서 식별 된 모듈 삭제, 1 개의 반대표

Windows 서버 2012에서 ISS-> 모듈-> ServiceModel3-0 제거로 이동합니다. (번호없이 나를 위해 일했습니다)


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