You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6构建时生成Swagger.json遇CLI安装错误,求解决方案

解决构建时生成Swagger.json的Swashbuckle CLI安装错误

问题分析

你遇到的NU1212错误核心原因是:在WebApi项目目录下执行dotnet tool install命令,导致工具被尝试添加为项目的PackageReference,但Swashbuckle.AspNetCore.Cli是DotnetTool类型,不能作为项目依赖包引用,必须通过解决方案级别的工具清单安装。

修复步骤

1. 确保工具清单在解决方案根目录创建

如果之前是在WebApi项目子目录执行的dotnet new tool-manifest,先删除该目录下的.config文件夹,然后切换到解决方案根目录执行:

dotnet new tool-manifest

执行后会在解决方案根目录生成.config/dotnet-tools.json文件,用于管理本地工具。

2. 正确安装Swashbuckle CLI工具

保持在解决方案根目录,执行安装命令:

dotnet tool install --version 6.4.0 Swashbuckle.AspNetCore.Cli

此时工具会被添加到本地工具清单,而非项目依赖。

3. 移除项目中错误的包引用(如果存在)

检查WebApi项目的.csproj文件,若存在以下类似内容,直接删除:

<PackageReference Include="Swashbuckle.AspNetCore.Cli" Version="6.4.0" />

4. 配置构建时自动生成Swagger.json

编辑WebApi项目的.csproj文件,添加以下目标配置,实现构建后自动生成Swagger.json到输出目录:

<Target Name="GenerateSwagger" AfterTargets="Build">
  <Exec Command="dotnet swagger tofile --output $(OutputPath)swagger.json $(AssemblyName).dll v1" />
</Target>
  • v1是你的API版本,可根据实际情况修改;
  • 若需要生成yaml格式,可替换为dotnet swagger toyaml命令。

验证安装

执行以下命令确认工具安装成功:

dotnet swagger --version

内容的提问来源于stack exchange,提问作者S2K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:39:38