使用Web Deploy部署.NET 4.5 Web应用程序

时间:2012-10-10 13:02:20

标签: asp.net .net iis-7.5 msdeploy webdeploy

我有一个有效的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安装到服务器上。

试图用aspnet_regiis重新注册ASP.NET - 没有运气。

为什么我会收到错误,如何解决?这太令人沮丧......

P.S。 找到关于RC的similar question,但它没有帮助

更新

看起来this is a bug Microsoft自CTP以来没有修复过。 IgnoreDeployManagedRuntimeVersion属性就行了。多么可惜!

4 个答案:

答案 0 :(得分:11)

您可以尝试将此属性添加到项目中:

<IgnoreDeployManagedRuntimeVersion>True</IgnoreDeployManagedRuntimeVersion>

答案 1 :(得分:5)

Windows Server 2012默认包含.NET 4.5,并且(添加Web服务器角色时)IIS具有以下应用程序池: DefaultAppPool .NET v4.5 ,<使用.NET Framework 4.0的em> .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 < / em>的。这就是Web Deploy失败的关键。

答案 2 :(得分:2)

@kzu:没试过,这样可行。

安装Orchard CMS时遇到同样的问题。继续定位v2.0。 但是找到简单的解决方案:在IIS中,在应用程序池(包含所有应用程序池的列表)上,您可以找到第二个设置右上角列表:“设置应用程序池默认值...”将默认值从2.0更改为4.0 et,瞧。

答案 3 :(得分:1)

为IIS注册ASP.NET 一个。以管理员身份运行CMD 湾CD到\ windows \ microsoft.net \ framework \ v4.x
C。 Aspnet regiis -i