IIS7 배포 - '시스템'을 복제합니다.web.extensions/scriptResourceHandler' 섹션
프레임워크 섹션이 4.0으로 설정된 IIS7의 기본 앱 풀에 .net 3.5 웹 사이트를 배포하려고 하면 다음 오류가 발생합니다.
중복된 '시스템'이 있습니다.web.extensions/scripting/scriptResourceHandler' 섹션이 정의되었습니다.
불쾌감을 주는 대사를 코멘트하는 것도 도움이 되지 않았습니다.제가 해야 할 일이나 살펴봐야 할 것에 대한 조언이 있습니까?
.net 4.0에서 실행 중인 응용 프로그램 풀이 있는 IIS에 배포하려는 경우 .net 3.5를 가리키는 모든 섹션 정의가 포함된 web.config를 정리해야 합니다.이 섹션 정의가 모든 시스템을 포함하는 .NET 4.0의 루트 web.config에 이미 포함되어 있기 때문입니다(%windir%\microsoft.net \v4.0.cisco19\config\machine.config 참조).web.extensions가 이미 선언되었습니다.
또 다른 빠른 해결책은 개발 컴퓨터가 가지고 있는 것처럼 애플리케이션 풀을 2.0으로 설정하는 것입니다.
이에 대한 솔루션은 애플리케이션 풀의 .NET 프레임워크 버전을 기본 애플리케이션 풀의 v4.0에서 v2.0으로 변경하는 것이었습니다.
저처럼 v4를 대상으로 해야 하지만 .net 3.5로만 빌드할 수 있다면 여기에 나와 있는 지침을 따르십시오.웹.config의 전체 콘텐츠를 교체하기만 하면 됩니다.<configSections>
매개 변수:
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
애플리케이션 풀을 2.0으로 설정하고, 저는 그것을 하고 일했습니다.
네크로맨싱.
만약 당신이 어떠한 시스템도 가지고 있지 않다면.web.extensions 구성 web.config의 섹션 또는 핸들러/모듈 항목입니다. 이 문제는 숨겨진 파일을 숨긴 채로 VisualStudio-Project(2013/2015/2017)를 복사했기 때문에 발생합니다.
그것때에문그, 을은복사뿐아만할라니것g▁.,▁not아g▁because▁will라,.VS
IIS-Express 응용 프로그램 host.config 파일이 포함되어 있습니다. 이 파일은 존재하지 않는 경로(또는 더 나쁜 경로는 존재하지만 내용은 동일하지 않음)의 web.config 파일을 가리킵니다.
솔루션:
합니다.VS는 applicationhost.config 파일입니다.
아니면 .VS 폴더를 아예 삭제하세요.
비주얼 스튜디오입니다.
제 앱은 ASP.Net 3.5 앱(프레임워크 버전 2 사용)이었습니다.ASP일 때.Net3.5 앱을 만들었습니다. Visual Studio는 scriptResourceHandler를 web.config에 자동으로 추가했습니다.의 최신 버전.넷은 이것을 machine.config에 넣었습니다.ASP를 실행하는 경우.버전 4 앱 풀을 사용하는 Net 3.5 앱(설치 순서에 따라 기본 앱 풀)에서 이 오류가 발생합니다.
버전 2.0 앱 풀 사용으로 이동했을 때.오류가 사라졌습니다.그런 다음 WCF.svc를 제공할 때 오류를 처리해야 했습니다.
HTTP 오류 404.17 - 찾을 수 없음 요청한 내용이 스크립트로 나타나며 정적 파일 처리기에서 제공되지 않습니다.
조사 결과 WCF 핸들러를 등록해야 할 것 같습니다.다음 단계를 사용합니다.
- Visual Studio 명령 프롬프트 열기(관리자 권한)
- C:로 이동합니다.\Windows\Microsoft.NET 프레임워크\v3.0\Windows 통신 재단"
- 서비스 모델 실행 reg -i
분명히 다른 사람들은 이 문제를 가지고 있습니다.그들은 Framework 4.0에서 재구축합니다. 당신은 할 수 있습니까?
또한 IIS가 새로 고쳐졌는지 확인하려면 이 항목을 참조하십시오.
저의 경우 전체 솔루션(Target Framework Migrator라는 확장자 사용)을 4.6.2로 변환한 후 변경 내용을 취소하고 3.5(솔루션 버전은 TFS)로 돌아갑니다.이를 해결하기 위해 문제가 있는 프로젝트(IIS Express를 사용하여 실행하던 프로젝트)만 4.6.2로 변환한 다음 다시 3.5로 변환했습니다.
다른 사용자에게 도움이 될 수 있는 이 문제를 방지하는 또 다른 방법은 가능한 경우 .net 웹 서비스를 버전 4.0 이상으로 구축하는 것입니다.
저의 경우 동일한 앱 풀을 공유하는 두 개의 서로 다른 앱이 있었습니다.첫 번째는 .net 4.5 프레임워크를 사용했고 새로운 것은 2.0을 사용했습니다.제가 두 번째 앱을 자체 앱 풀로 변경했을 때 web.config 변경 없이 정상적으로 작동하기 시작했습니다.
내 결심은 좀 바보같았어요.
.net 3.5의 복사본을 설치했습니다.
다른 앱 풀을 생성하고 .net 3.5를 선택했습니다(드롭다운에 2.0.5077로 표시됨).
해당 앱 풀에 내 웹 사이트를 추가했습니다.
오래된 수영장과 새 수영장을 재활용하고 사이트가 작동하기 시작했습니다.
Windows 기능을 설정하면 3.5가 설치되어 있고 사용할 다른 앱 풀이 생성되었음에도 불구하고 3.5가 설치되어 있지 않습니다.이것이 다른 사람들에게 도움이 되길 바랍니다.
을 수동으로 오류를 수 된 urlrewrite 규칙누을가하었고지백만한오류다를볼다수니니없습었습나락했의명싶추우경동수으로누▁in▁(▁andi▁missedre다니습▁there▁case▁my▁obvious(▁couldn▁i했).<rules>
표시됨):
잘못된 코드:
<rewrite>
<rule name="some rule" stopProcessing="true">
<match url="some-pattenr/(.*)" />
<action type="Redirect" url="/some-ne-pattenr/{R:1}" />
</rule>
</rewrite>
</system.webServer>
</configuration>
올바른 코드(규칙 태그 포함):
<rewrite>
<rules>
<rule name="some rule" stopProcessing="true">
<match url="some-pattenr/(.*)" />
<action type="Redirect" url="/some-ne-pattenr/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
다음 단계를 수행하여 해결했습니다.
- IIS에서 새 응용 프로그램 그룹을 만들었습니다.
- 이 문제가 있는 사이트 또는 웹 응용 프로그램에 대한 고급 설정을 엽니다.
- 새 응용 프로그램의 그룹을 설정합니다.
다음 단계의 이미지가 있습니다.
이 오류 메시지는 다양한 상황에서 나타나는 것 같습니다.
저의 경우, 애플리케이션의 웹 위에 있습니다.구성 파일에 추가 웹이 있었습니다.루트 폴더의 구성 파일(C:\Inetpub\www.root).아마도 몇 가지 테스트 후에 그곳을 떠났을 것이고, 저는 그것에 대해 모두 잊어버렸고, 무엇이 문제인지 알아낼 수 없었습니다.
그것을 제거함으로써 저는 문제를 해결했습니다.
이것은 아마도 당신에게 잘못된 답일 것입니다.하지만 이것은 제가 제 문제를 해결하려고 했을 때 구글에서 첫 번째 히트작이었습니다.그 말이 나온 김에...
Visual Studio를 통해 IIS Express를 실행하려고 할 때도 동일한 오류 메시지가 발생했습니다.
제 문제는 제가 실수로 애플리케이션 host.config를 TFS에 커밋했다는 것입니다.나중에 최신 커밋을 받은 후 노트북에서 프로젝트를 실행하려고 했습니다.그 때 오류가 발생했습니다.
가상 디렉터리 경로가 잘못되었다는 것을 발견했습니다.
<virtualDirectory path="/" physicalPath="C:\Users\user1\Documents\Visual Studio 2015\Projects\ProjectName\ProjectName\ProjectName.Web" />
이것이 누군가에게 도움이 되기를 바랍니다!
저의 첫 게시물이니 친절하게 대해주세요 :)
언급URL : https://stackoverflow.com/questions/3387322/iis7-deployment-duplicate-system-web-extensions-scripting-scriptresourcehandl
'programing' 카테고리의 다른 글
MongoDb에서 15분 간격으로 결과 그룹화 (0) | 2023.05.22 |
---|---|
.net 콘솔 응용 프로그램에 메시지 상자 표시 (0) | 2023.05.22 |
C# LINQ.DocumentDb CreateDocument에서 작업하지 않는 모든 항목쿼리 (0) | 2023.05.17 |
Eclipse 패키지 탐색기에서 계층형 패키지 구조를 보는 방법 (0) | 2023.05.17 |
재시도 로직을 작성하는 가장 깨끗한 방법은 무엇입니까? (0) | 2023.05.17 |