在Fleet中调试.NET 8 Web API项目时无法运行求助
.NET 8 Web API调试无Swagger页面问题排查方案
问题现象
创建.NET 8 Web API项目后,通过Ctrl+R+Ctrl+Enter启动调试,仅输出编译相关日志(如下),未自动打开Swagger页面:
3>完成项目 "D:\PracticeC#\fleet\ConfigTest.Service\ConfigTest.Service.csproj" 的生成(默认目标)。 2>GenerateTargetFrameworkMonikerAttribute: 跳过目标 "GenerateTargetFrameworkMonikerAttribute",因为所有输出文件相对于输入文件都是最新的。 CoreGenerateAssemblyInfo: 跳过目标 "CoreGenerateAssemblyInfo",因为所有输出文件相对于输入文件都是最新的。 _DiscoverMvcApplicationParts: 跳过目标 "_DiscoverMvcApplicationParts",因为所有输出文件相对于输入文件都是最新的。 _GenerateSourceLinkFile: Source Link为空,文件 'obj\Debug\net8.0\ConfigTest.API.sourcelink.json' 不存在。 CoreCompile: 跳过目标 "CoreCompile",因为所有输出文件相对于输入文件都是最新的。 _CreateAppHost: 跳过目标 "_CreateAppHost",因为所有输出文件相对于输入文件都是最新的。 _GenerateScopedCssFiles: 跳过目标 "_GenerateScopedCssFiles",因为它没有输出。 _GenerateScopedCssFiles: 跳过目标 "_GenerateScopedCssFiles",因为它没有输出。 _BuildCopyStaticWebAssetsPreserveNewest: 跳过目标 "_BuildCopyStaticWebAssetsPreserveNewest",因为它没有输出。 _CopyOutOfDateSourceItemsToOutputDirectory: 跳过目标 "_CopyOutOfDateSourceItemsToOutputDirectory",因为所有输出文件相对于输入文件都是最新的。 GenerateBuildDependencyFile: 跳过目标 "GenerateBuildDependencyFile",因为所有输出文件相对于输入文件都是最新的。 GenerateBuildRuntimeConfigurationFiles:
排查与解决步骤
1. 确认启动项目是否正确
- 右键解决方案,选择设置启动项目,确保选中的是你的Web API项目(
ConfigTest.API),而非类库项目(ConfigTest.Service)。日志中显示编译的是类库项目,大概率是启动项目选错了。
2. 检查launchSettings.json配置
打开项目根目录下的Properties/launchSettings.json,确认:
launchUrl是否设置为swagger,示例配置:"profiles": { "http": { "commandName": "Project", "launchBrowser": true, "launchUrl": "swagger", "applicationUrl": "http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } }- 确保
launchBrowser为true,applicationUrl配置的端口未被占用。
3. 验证Swagger服务配置
检查Program.cs中是否正确添加了Swagger服务和中间件:
// 添加Swagger服务 builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); // 配置中间件(需在app.UseRouting()之后、app.UseAuthorization()之前) app.UseSwagger(); app.UseSwaggerUI();
注:.NET 8默认Web API模板已包含这些配置,但手动修改后可能被移除。
4. 清理并重新生成项目
- 右键解决方案,选择清理解决方案
- 右键解决方案,选择重新生成解决方案
- 再次尝试启动调试
5. 手动访问Swagger页面
如果上述步骤无效,手动在浏览器中输入launchSettings.json里applicationUrl配置的地址+/swagger,例如http://localhost:5000/swagger,确认服务是否正常运行。
内容的提问来源于stack exchange,提问作者JOYBOY
相关产品推荐
相关产品推荐

