[英]Deploying .NET 4.5 web app with Web Deploy
我有一个有效的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 - 没有运气。
为什么我会收到错误以及如何解决? 这太令人沮丧了......
ps发现类似的问题关于RC但它没有帮助
更新:
看起来这是微软自CTP以来没有修复的错误 。 IgnoreDeployManagedRuntimeVersion
属性可以解决问题。 多可惜!
您可以尝试将此属性添加到项目中:
<IgnoreDeployManagedRuntimeVersion>True</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失败的关键。
@kzu:不尝试,这会奏效。
安装Orchard CMS时遇到同样的问题。 继续定位v2.0。 但是找到简单的解决方案:在IIS中,在应用程序池(包含所有应用程序池的列表)上,您可以找到第二个设置右上角列表:“设置应用程序池默认值...”将默认值从2.0更改为4.0 et,瞧。
为IIS注册ASP.NET
一个。 以管理员身份运行CMD
湾 CD到\\ windows \\ microsoft.net \\ framework \\ v4.x
C。 Aspnet regiis -i
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.