使用 WIndows Server 2020 在 IIS 10 中运行 .net 4.8 站点

问题描述 投票:0回答:1

我想知道是否有人可以帮助我,我正在尝试在带有 IIS 10(虚拟机)的 Windows Server 2020 上运行使用 .net 4.8 的 asp.net 站点。我可以看到其他问题,但它们是 IIS 和 Windows Server 的旧版本,并且不能解决问题。 IIS 似乎无法识别或拒绝运行 .net 4.8。当我将站点部署到 IIS 然后运行它时,它显示“HTTP 错误 403.14 - 禁止”,日志没有说明存在错误。只是(主要 IIS 日志)

2024-02-03 16:41:54 ::1 GET / - 80 - ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/121.0.0.0+Safari/537.36 - - localhost 403 14 0 1  

现在我部署了一个简单的模板化 Web 应用程序,它在 Visual Studio 和 IIS Express 中运行良好。

我尝试添加一个简单的 Index.html 文件,该文件工作正常,安装 .NET Core Hosting Bundle 后,IIS 可以正常运行 .Net Core 应用程序,但仍然无法运行 .net 4.8 应用程序。我也关注了

配置步骤 1:安装 IIS 和 ASP.NET 模块也没有成功,并且我无法启用 NET Extensibility 4.5,如下面的屏幕截图所示:

IIS 设置:

站点 IIS 日志:(没有帮助)

#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2024-02-03 17:09:27
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status time-taken
2024-02-03 17:09:27 ::1 GET / - 80 - ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/121.0.0.0+Safari/537.36 - - localhost 403 14 0 17
2024-02-03 17:09:27 ::1 GET / - 80 - ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/121.0.0.0+Safari/537.36 - - localhost 403 14 0 4

为了涵盖所有角度,我在服务器上安装了 Visual Studio,看看它是否能够运行 .Net 4.8 项目,但它仍然无法在 IIS 10 中运行。

我什至尝试在 web.config 中显示详细错误,但结果仍然相同

然后,我尝试使用配置步骤 1:安装 IIS 和 ASP.NET 模块中的命令行安装 ASP.NET 模块,但仍然不起作用。

我想知道是否有人可以帮助我让 IIS 10 运行 .net 4.8 应用程序

asp.net windows configuration windows-server iis-10
1个回答
0
投票

您的项目类型设置为 4.8,还是 4.81 之类的其他值??

例如这:

所以,如果我上面设置为 4.8.1,那么我需要在服务器上安装该版本。

另一个问题?您以 x32 位还是 x64 位运行该网站?

换句话说,您是否使用任何 CPU,或者项目设置使用 x32 或 x64 位?

我会考虑强制您的项目以 x64 位运行。既然您安装了 VS,并且 IIS Express 可以工作,那么我敢打赌这是一个配置问题,并且您在此处的 IIS 设置中错过了一些问题。

如果您构建为 x32 位,那么当然在应用程序池中,您希望启用 x32 位应用程序(我看到您已经这样做了)。

请记住,vs2022 之前的任何版本的 Visual studio 都是 x32 位项目。因此,使用任何 CPU 都会(默认情况下)生成 x32 位版本的软件

使用 vs2022,项目设置的任何 CPU 现在都将生成项目的 x64 位版本。这意味着并表明您不想使用任何 CPU,因此“猜测”项目将以什么位大小运行,但强制并“确定”这个问题。因此,尝试将您的项目强制为 x64 位并构建它。如果有效,则使用发布向导发布到本地文件夹,然后将该文件夹复制到服务器上的根站点文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.