使用 Web Deploy 部署 .NET 4.5 Web 應用程序
我有一個工作的 ASP.NET MVC 3 應用程序。該項目使用 VS 2010 建構,面向 .NET 4.0。現在我將它重新定位到 .NET 4.5 並成功重新編譯。嘗試將其部署到我們的測試伺服器(Windows 2008 R2 SP1)現在失敗:
錯誤程式碼:ERROR_APPPOOL_VERSION_MISMATCH 更多資訊:您嘗試使用的應用程序池的“managedRuntimeVersion”屬性設置為“v4.0”。此應用程序需要“v4.5”。了解更多資訊:http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_APPPOOL_VERSION_MISMATCH 。
伺服器安裝了 .NET 4.5,但沒有應用程序池 4.5(因為它是就地升級,據我了解 4.0 池應該沒問題)。客戶端機器有 VS 2012 和 Web Deploy 3(之前是 Web Deploy 2)。我還在伺服器上安裝了 Web Deploy 3。
試圖重新註冊 ASP.NET
aspnet_regiis- 沒有運氣。為什麼我會收到錯誤,我該如何解決?這太令人沮喪了……
ps 發現了關於 RC 的類似問題,但沒有幫助
更新:
看起來這是微軟自 CTP 以來尚未修復的錯誤。
IgnoreDeployManagedRuntimeVersion財產成功了。真可惜!
Windows Server 2012 預設包括 .NET 4.5,並且(當添加 Web 伺服器角色時)IIS 具有以下應用程序池:使用 .NET Framework 4.0 的DefaultAppPool、.NET v4.5、.NET v4.5 Classic(因為 4.5 是就地升級4.0)。但是,如果我們在安裝了 .NET 4.0 的 Windows Server 2008 上安裝 .NET 4.5 可再發行組件,則不會重命名池:ASP.NET v4.0、ASP.NET v4.0 Classic。這就是 Web Deploy 失敗的關鍵。
您可以嘗試將此屬性添加到項目中:
<IgnoreDeployManagedRuntimeVersion>True</IgnoreDeployManagedRuntimeVersion>