我有一个 ASP.NET Core 6 Web API,我正在尝试在构建后而不是在运行时生成
swagger.json
文件。
我尝试使用
dotnet new tool-manifest
,然后使用 dotnet tool install --version 6.5.0 Swashbuckle.AspNetCore.Cli
,然后将此行添加到我的 .csproj
文件中:
<Target Name="CreateSwaggerJson" AfterTargets="Build">
<Exec Command="dotnet swagger tofile --output ./swagger/v1/swagger.json $(OutputPath)$(AssemblyName).dll v1" WorkingDirectory="$(ProjectDir)" />
</Target>
但是当我构建项目时出现错误:
命令“dotnet swagger tofile --output ./swagger/v1/swagger.json bin\Debug et6.0\MyProj.dll v1" 退出,代码为 -532462766
除此之外我没有任何其他信息。
我还尝试从 NuGet 包管理器手动下载 Swashbuckle.AspNetCore.Cli,但也出现错误:
包“Swashbuckle.AspNetCore.Cli 6.5.0”具有项目“MyProj”不支持的包类型“DotnetTool”。
还有
Swashbuckle.AspNetCore.Cli 6.5.0 的项目包组合无效。 DotnetToolReference 项目样式只能包含 DotnetTool 类型的引用
我通过将 Swashbuckle 包的版本更改为 6.4.0 解决了我的问题,这是支持 .NET 6.0 的版本