为什么我无法让 ASP.NET 4.0 在 Windows Server 2003 R2 上运行?

为什么我无法让 ASP.NET 4.0 在 Windows Server 2003 R2 上运行?

我一直在本地计算机上开发 ASP.NET 4.0 应用程序,今天我尝试将其部署到服务器。部署后,当我尝试在浏览器中访问该网站时收到以下消息:

解析器错误消息:无法识别属性“targetFramework”。请注意,属性名称区分大小写。

好的,没问题。这意味着服务器仍在运行 ASP.NET 2.0。我只需升级它,对吗?

事情并没有那么简单。

首先,我安装了 .NET Framework v4.0。我按照我在以下网址找到的说明进行操作此链接在 IIS 中启用 ASP.NET ISAPI DLL。当我运行“cscript iisext.vbs /listfile”时,我可以看到列出的 ASP.NET 4.0 DLL,并且它们已启用。但是,我的应用程序的行为没有改变。我仍然收到相同的错误消息。

我怀疑我需要在 IIS 的网站配置中更改 ASP.NET 版本。但是,我找不到任何方法。当我右键单击网站、包含我的应用程序的虚拟目录或 IIS 中的应用程序池,然后从上下文菜单中单击“属性”时,我期望在属性页中找到一个“ASP.NET”选项卡,以便我可以更改该网站/应用程序的 ASP.NET 版本。但是,出于某种原因,没有“ASP.NET”选项卡或属性页。为什么没有?我该如何修复此问题并将我的应用程序切换到 .NET 4.0?

再次,这是 Windows Server 2003 R2,我相信 IIS 版本是 6。

答案1

我认为这会引导你走向正确的方向:

如何在Windows Server 2003 IIS6.0中将网站切换到ASP.NET4.0

如果缺少 ASP.NET-tab,请尝试从 .Net 2.0 框架目录运行 aspnet_regiis.exe -i。

编辑:如果 ASP.NET-tab 仍然丢失:

  1. 卸载 IIS(包括 ASP.Net)

  2. 重新启动机器。

  3. 重新安装 IIS + ASP.net

  4. 运行 aspnet_regiis -ir

编辑2:至于为什么缺少 ASP.net 选项卡,这篇文章可能会提供一些线索。

“... 显然,在 Windows Server 2003 64 位版本和 Windows Server 2003 R2 上,IIS 中的 ASP.NET 选项卡没有出现,没有修复,就是这样,它消失了!... ASP.NET 选项卡不会出现在基于 x64 版本的 Windows Server 2003 和 Windows Server 2003 R2 上。如果 Web 服务扩展中只允许一个版本的 ASP.NET,则此选项卡也不会出现。”

答案2

我知道这个问题的答案已经被接受了,但如果您的网站只是使用了错误的应用程序池,也可能会出现同样的错误。确保您已将 .net 4.0 应用程序池或 asp.net 4.0 应用程序池设置为 Web 应用程序的活动池,并确保应用程序池本身已启动。

相关内容