IIS 서버 풀에서 올바른 .Net 버전을 설정할 수 없습니다.

IIS 서버 풀에서 올바른 .Net 버전을 설정할 수 없습니다.

IIS를 실행하는 Windows Server에서 호스팅되어야 하는 .Net 기반 RestApi를 설정하려고 합니다. 그러나 어떤 이유에서인지 풀이 작동하도록 구성하는 데 운이 없습니다.

이에 대해 판매자가 설명하는 방법은 다음과 같습니다.윈드워드 문서

그것은 다음과 같이 말합니다

"응용 프로그램 풀" 텍스트 필드 옆에 있는 "선택…" 버튼을 클릭합니다. 드롭다운 목록을 클릭하고 다음 옵션 중 하나를 선택합니다.

ASP.NET v4.0 .NET 4.5 또는 .NET 4.0(.NET 4.0 또는 .NET 4.5만 표시될 수 있지만 .NET 4.5.1이 설치되어 있으면 두 옵션 중 하나가 작동합니다.) 그리고 이 옵션이 표시되어야 합니다. 여기에 이미지 설명을 입력하세요

하지만 2012R2, 2016 또는 2019를 설치하는 버전에 관계없이 항상 아래 옵션이 표시되므로 여기서 누락된 것이 무엇인지 잘 모르겠습니다.

여기에 이미지 설명을 입력하세요

답변1

실제로 .NET 릴리스는 2.0과 4.0 두 개뿐이었습니다(*).

3.0과 3.5는 2.0에 추가된 것일 뿐입니다.

4.5, 4.7, 4.8은 4.0에 추가된 것입니다.

그리고 그렇습니다. IIS UI는 훨씬 더 혼란스럽습니다.

어쨌든 4.x는 "4.0에서 앞으로 나아갈 모든 것"을 의미합니다. 4.x 런타임을 선택하기만 하면 문제가 없습니다.


(*) 그것은 얻었다심지어 더 나쁘다나중에.

답변2

Microsoft는 처음에 IIS 7을 설계했을 때 CLR 버전이 .NET Framework 버전을 고수하므로 응용 프로그램 풀이 .NET Framework의 1.0, 1.1 또는 2.0 버전을 가질 수 있다고 생각했습니다.

그러나 .NET Framework 3.0/3.5가 도입되면서 여전히 CLR 2.0을 사용하고 있었기 때문에 규칙이 깨졌습니다. 마찬가지로 모든 .NET Framework 4.x 릴리스는 CLR 4.0을 사용합니다. 따라서 WindWard 기사에서 본 레거시 UI는 안타깝게도 혼란스러웠습니다. 비슷한 배경을 가진 Stack Overflow/ServerFault 스레드를 많이 찾을 수 있습니다.

이제 IIS 관리자에서 관찰할 수 있는 것은 Microsoft가 명시적으로 CLR 버전을 나열하는 최신 UI(처음 도입되었을 때 기억하기 쉽지 않음, 아마도 IIS 10)입니다. 모든 .NET 개발자가 CLR 개념을 자세히 완전히 알고 있는 것은 아니지만 적어도 덜 혼란스럽기 때문에 초보자에게는 여전히 이해하기 어려울 수 있습니다.

관련 정보