如何在 IIS 7 应用程序池中设置 .net Framework 4.5 版本

Posted

技术标签:

【中文标题】如何在 IIS 7 应用程序池中设置 .net Framework 4.5 版本【英文标题】:How to set .net Framework 4.5 version in IIS 7 application pool 【发布时间】:2012-03-04 22:21:21 【问题描述】:

我安装了 Visual Studio 11 Beta,突然间我在 VS 11 Developer 预览版下创建的所有异步操作方法都开始挂起(显然是这个问题:http://blogs.msdn.com/b/pfxteam/archive/2012/03/03/10277166.aspx)。

我的应用程序使用 v4.0.30319 作为框架版本,但没有使用 4.5 的选项。可以肯定的是,我修复了我的 .net 4.5 安装,但没有。有没有办法在 IIS 中配置它?我是否需要对文件进行 bin 部署(如果需要的话)?

【问题讨论】:

链接到服务器的 .Net 4.5 安装,以防有人登陆这里寻找它:microsoft.com/en-us/download/details.aspx?id=30653 离线 .NET Framework 4.5.1 安装程序:microsoft.com/en-us/download/details.aspx?id=40779 .NET 4.5.2:microsoft.com/en-us/download/details.aspx?id=42642 |郎包:microsoft.com/en-us/download/details.aspx?id=42641 .NET 4 和 .NET 4.5(包括 4.5.1 和 4.5.2)在 CLR 4.0 版本上 >>> 更多详情:msdn.microsoft.com/en-us/library/8bs2ecf4(v=vs.110).aspx 【参考方案1】:

没有 4.5 应用程序池。您可以在 4.0 应用程序池中使用任何 4.5 应用程序。 .NET 4.5“只是”一个就地更新而不是主要的新版本。

【讨论】:

谢谢。我也很怀疑,尽管不清楚异步调用失败的原因。我将把它放在另一个问题中。 安装 Visual Studio 2012 和 4.5 以及 Windows 8 后,我在 IIS 中有一个 4.5 应用程序池 是的,Apppool 的名称为“.NET v4.5”,但检查 IIS - 应用程序池屏幕中的 .NET Framework 版本列,它将是 4.0。 (有 3 个基本 CLR:1.0、2.0、4.0。) 这是怎么回事?我没有将 4.5 列为框架版本,但这个 SO QA 说有一个新的 CLR,与 Peter ***.com/questions/8810391/… 相反 msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx - 特性和 IDE 部分;这不是新的 CLR【参考方案2】:

转到“运行”并执行此操作:

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

注意:以管理员身份运行。

【讨论】:

只是想说声谢谢,很高兴我终于找到了这个解决方案 当我尝试使用 VS 2015 运行它时,我的应用程序提醒我没有找到 .net Framework 4.5。执行此命令后,它就像一个魅力。谢谢你。记住在 CMD 上以管理员身份运行。【参考方案3】:

gui 中没有显示 v4.5,通常您不需要手动指定 v4.5,因为它是就地更新。但是,您可以像这样使用 appcmd 显式设置它:

appcmd set apppool /apppool.name: [App Pool Name] /managedRuntimeVersion:v4.5

Appcmd 位于%windir%\System32\inetsrv。这帮助我解决了 Web Deploy 的问题,它在从 v4.0 升级到 v4.5 后抛出 ERROR_APPPOOL_VERSION_MISMATCH 错误。

MS article on setting .Net version for App Pool

【讨论】:

在安装 ASP.Net 4.5 或 4.0 之前安装 IIS 时,您可能会遇到元数据库中缺少注册。使用 aspnet_regiis 可以帮助重置 IIS 服务器范围,但请注意,它会将所有应用程序池升级到所选版本。

以上是关于如何在 IIS 7 应用程序池中设置 .net Framework 4.5 版本的主要内容,如果未能解决你的问题,请参考以下文章

如何在IIS中设置,客户端20分钟不操作,自动断开连接

IIS 7 中的 Kerberos 身份验证

.NET Core API - IIS - 无法使其工作

如何在IIS中设置,客户端20分钟不操作,自动断开连接

如何为 Intranet 预编译 MVC?

如何在 IIS 中设置 HTTPS 服务