尝试将 ASP.NET 应用程序部署包部署到 IIS 时,我收到错误消息
(您尝试使用的应用程序池将“managedRuntimeVersion”属性设置为“v2.0”。此应用程序需要“v4.0”。
我已经采取了这些步骤:
- 确保我的服务器的默认 .NET Framework 版本为 4(重新启动机器上的 IIS 服务)
- 确保我的 Web 应用程序设置为 .NET 4
- 确保应用程序的 web.config 没有提及需要 .NET 2 或 3.5
此错误的根本原因是什么,如何解决?
尝试将 ASP.NET 应用程序部署包部署到 IIS 时,我收到错误消息
(您尝试使用的应用程序池将“managedRuntimeVersion”属性设置为“v2.0”。此应用程序需要“v4.0”。
我已经采取了这些步骤:
此错误的根本原因是什么,如何解决?
Web 部署在发布时使用默认的 IIS 网站设置。要在您的 IIS 机器上更改/确认这一点:
如果您尝试将此应用程序导入现有站点,请确保其应用程序池是同一版本。我也在尝试相同的方法,但没有意识到我的“新”网站运行在 v2 的应用程序池上。
确保默认情况下您的应用程序池也默认配置为 v4.0。
安装 Visual Studio 时会安装 ASP.NET 4。但是,安装过程不会自动向 IIS 注册 ASP.NET 4,并且现有 IIS 网站不会自动分配给 .NET 4 应用程序池。
要解决此问题,请向 IIS 注册 ASP.NET,并将目标 IIS 网站的应用程序池设置为包所需的 .NET Framework 版本。
为此Command Prompt
,请以管理员身份打开C:\Windows\Microsoft.NET\Framework64\v4.0.30319
并输入:aspnet_regiis -i
我试图在 VSTS/TFS 中使用Continuos 部署,在我的发布定义(这是默认设置)中,我有一个 IIS Web 应用程序管理任务(名为 Manage IISWebApplication),它的父网站名称设置具有正确的网站名称,并且虚拟路径设置也是正确的。
我只需要在部署过程部分修复网站名称,其中还包含环境名称和网站名称。
很傻,但我花了 2 天时间才注意到网站名称出现在发布定义中的两个位置。