在新建的虚拟机中无法运行新的ASP.NET Core应用程序
我最近创建了一台新的虚拟机,运行Windows 11。
我安装了以下内容:
IIS v10.0.26
IIS URL Rewrite Module 2
Microsoft .NET 8.0.26 - Windows Server Hosting
Microsoft .NET SDK 8.0.420 (x64)
Microsoft ASP .NET Core 8.0.26 - Shared Framework (x64)
Microsoft Visual Studio C++ 2015-2022 Redistributable (x64)
Microsoft Visual Studio C++ 2015-2022 Redistributable (x86)
web.config 是:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 04B9C452-C6AF-4977-8697-2E518F36FBF6-->
这是在Visual Studio 2022发布时自动生成的。
我尝试创建一个非常简单的 test.html,其主体为 "Hello, World!"。
这个可以通过http://localhost/test.html工作。
但如果我用我新创建的使用.NET 8.0框架的ASP.NET Core Web API项目来替换它。尚无数据库连接,什么都没有,只是从新构建的项目发布的。
如果我仍然把它们拷到IIS并运行,仍然会出现错误:
此本地主机页面无法显示
未找到用于地址http://localhost/ 的网页。
应用程序池 .NET CLR Version 已设置为 No Managed Code。
托管管道是 Integrated。Enable 32-Bit Application 是 false。
如果直接运行 WebApplication1.exe,一切似乎都正常。
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\inetpub\test
综合来看,问题出在哪里?
解决方案
不过如果我把它替换成我新创建的使用.NET 8.0框架的ASP.NET Core Web API项目。尚无数据库连接,什么都没有,只是从新构建的项目发布的。
默认的Web API模板无法处理空路由 /,因此你应该会收到404响应。请检查已注册的处理程序/路径,并使用它们(/weatherforecast 随默认模板一起提供)。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。