11

我有一个工作的 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财产成功了。真可惜!

4

4 回答 4

11

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

<IgnoreDeployManagedRuntimeVersion>True</IgnoreDeployManagedRuntimeVersion>
于 2013-07-20T20:53:19.153 回答
5

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.0ASP.NET v4.0 Classic。这就是 Web Deploy 失败的关键。

于 2012-10-19T10:13:17.293 回答
2

@kzu:不尝试,这会起作用。

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

于 2013-11-23T19:51:56.883 回答
1


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

于 2015-04-01T09:51:00.847 回答