在新建的虚拟机中无法运行新的ASP.NET Core应用程序

后端开发 2026-07-09

我最近创建了一台新的虚拟机,运行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
托管管道是 IntegratedEnable 32-Bit Applicationfalse

如果直接运行 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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章