無法在 IIS 伺服器集區中設定正確的 .Net 版本

無法在 IIS 伺服器集區中設定正確的 .Net 版本

我正在嘗試設定一個基於 .Net 的 RestApi,該 API 應該託管在運行 IIS 的 Windows 伺服器上。但由於某種原因,我無法根據需要配置我的池以使其正常工作。

以下是供應商對如何進行操作的描述。風衛文檔

它指出以下內容

按一下「應用程式集區」文字欄位旁的「選擇...」按鈕。點擊下拉列表並選擇選項之一:

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 版本,以便應用程式集區可以具有 1.0、1.1 或 2.0 版本的 .NET Framework。

然而,.NET Framework 3.0/3.5 的引入打破了這個規則,因為它們仍然是基於 CLR 2.0。同樣,所有 .NET Framework 4.x 版本都使用 CLR 4.0。因此,不幸的是,您從 WindWard 文章中看到的舊版 UI 令人困惑。您可以找到很多具有類似背景的 Stack Overflow/ServerFault 執行緒。

現在您在 IIS 管理器中觀察到的是最新的 UI(不太容易回憶起它首次引入時的情況,可能是 IIS 10),其中 Microsoft 明確列出了 CLR 版本。對於初學者來說仍然很難理解,因為並非所有 .NET 開發人員都完全了解 CLR 概念的細節,但至少不會那麼混亂。

相關內容