Iis

無法在 IIS 伺服器池中設置正確的 .Net 版本

  • May 1, 2022

我正在嘗試設置一個基於 .Net 的 RestApi,它應該託管在執行 IIS 的 Windows Server 上。但是由於某種原因,我沒有運氣將我的池配置為需要它以使其工作。

這是供應商對如何進行的描述。WindWard 文件

它說明了以下內容

點擊“應用程序池”文本欄位旁邊的“選擇…”按鈕。點擊下拉列表並選擇以下選項之一:

ASP.NET v4.0 .NET 4.5 或 .NET 4.0(雖然您可能只會看到 .NET 4.0 或 .NET 4.5,但如果您安裝了 .NET 4.5.1,則任何一個選項都可以。)我應該看到這個選項 在此處輸入圖像描述

但無論我安裝什麼版本 2012R2、2016 或 2019,我從來沒有看到過,我總是得到以下選項,所以不確定我在這裡缺少什麼

在此處輸入圖像描述

實際上只有 (*) 兩個 .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 執行時,就可以了。


()後來變得更糟*了。

微軟最初設計 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 概念的詳細資訊,但至少不那麼令人困惑。

引用自:https://serverfault.com/questions/1099639