IIS의 ".NET Framework 버전"설정은 실제로 무엇을합니까?


19

이것은 명백한 질문처럼 보이지만 최상위 IIS 구성 패널의 ".NET Framework 버전 변경"단추가 실제로 어떻게 변경되는지 확인하려고합니다. 모든 서버에서 항상 v2.0으로 유지되었습니다. 내 응용 프로그램 풀은 v2.0과 v4.0이 혼합되어 있으며 모든 v4.0 응용 프로그램이 올바르게 작동합니다.

이 버전 번호는 무엇을 제어합니까? 응용 프로그램 풀에 할당되지 않은 이것에 의존하는 것은 무엇입니까? 이상해 보인다.

해당 설정은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

답변:


13

IIS가 .NET에 대한 다른 루트 수준 구성 파일을 가리 키도록합니다. 이 루트 레벨 파일은 다음의 프레임 워크 설치 폴더에 있습니다.%systemroot%\Microsoft.NET\Framework\<version>\CONFIG

IIS는 자체 구성 파일 %systemroot%\system32\inetsrv\config\applicationHost.config
과 .NET 구성 파일을 찾습니다 .
%systemroot%\Microsoft.NET\Framework\<version>\CONFIG\machine.config

.NET 버전을 변경하면 machine.config가 사용됩니다. 예를 들어, v2.050727로 변경하면을 볼 수 있습니다 %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config. v4.0.30319로 변경하면%systemroot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config

응용 프로그램은 루트 수준 구성 설정에서 항목을 상속합니다.

구성 시스템을 개략적으로 설명하고 구성 계층 구조를 보여주는 이 기사 를 살펴보십시오 .


3

TechNet에 따르면 이 설정은 "기본".NET Framework 버전을 제어합니다.

응용 프로그램 풀 수준에서이 설정은 풀과 관련된 응용 프로그램을 호스팅하는 데 사용되는 프레임 워크를 제어합니다. 서버 수준 에서이 설정은 테스트 서버에서 실행되는 .NET 4.0 또는 2.0 사이트에 즉각적 또는 명백한 영향을 미치지 않는 것으로 보이지만 아무것도하지 않으면 옵션이 될 것입니다. 작업 창의 배포 섹션에 있으므로 가져 오기 / 내보내기 패키지에 영향을 미치는지 궁금합니다. 나는 이것을 테스트 할 것입니다.

iis.net 에서 관련 스레드 를 찾았 습니다. 이 설정은 파일 상단에 추가하지 않고 기본적으로 지원되는 구성 파일 섹션에 영향을 줄 것입니다.

웹을 검색하는 다른 많은 것을 찾지 못했습니다. 꽤 모호한 설정 인 것 같습니다.

편집 : squillman의 대답이 더 좋습니다.


1
나는 똑같은 방식으로 대답하려고했지만 질문을 다시 읽습니다. 그는 특정 응용 프로그램 풀이 아니라 IIS의 최상위 설정에 대해 이야기하고 있습니다. IIS에는 "전역".NET 버전 이 없기 때문에이 설정은 의미가 없습니다 . 응용 프로그램 풀 전용 설정입니다.
Massimo

네, 당신은 맞습니다, 댓글 주셔서 감사합니다. 답변을 수정해야합니다.
jbuch

2
또한 .NET 4.5는 4.0의 확장이며 새로운 런타임을 도입하지 않습니다.
Richard

결과적으로, 원래의 대답은 응용 프로그램 풀과 관련이 있으며 IIS 관리자에서 서버 노드를 클릭하면 "작업"창에서 ".NET Framework 버전 변경"옵션을 참조하고 있음이 분명합니다. 수단. 따라서 기본적으로 나는 도움이되지 않았습니다. 몇 분 안에 더 나은 답변을 찾지 못하면 답변을 삭제하려고합니다.
jbuch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.