使用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。

尝试使用aspnet_regiis重新注册ASP.NET-没有成功。

为什么会出现错误,如何修复?这太令人沮丧了。。。

p.s。发现了关于RC的类似问题,但它对没有帮助

更新:

看起来这是微软自CTP以来一直没有修复的错误。IgnoreDeployManagedRuntimeVersion属性起了作用。真遗憾!

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

<IgnoreDeployManagedRuntimeVersion>True</IgnoreDeployManagedRuntimeVersion>

Windows Server 2012默认情况下包括.NET 4.5,并且(添加Web服务器角色时)IIS具有以下应用程序池:使用.NET Framework 4.0的DefaultAppPool.NET v4.5.NETv4.5 Classic(因为4.5是4.0的就地升级)。但是,如果在安装了.NET 4.0的Windows Server 2008上安装.NET 4.5可再发行版,则不会重命名池:ASP.NET v4.0.NET v4.0 Classic。这就是Web Deploy失败的关键。

@kzu:不尝试,这会成功的。

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

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

最新更新