Как заставить Swashbuckle.Aspnetcore.Cli использовать netcoreapp3.1? - PullRequest
0 голосов
/ 03 апреля 2020

Я обновляю проект для использования. Net Core 3.1 из 2.2, и я изо всех сил пытаюсь заставить мои инструменты работать.

У меня есть этот раздел в моем файле .csproj, который генерирует файл swagger. json во время публикации sh - он выполняется в нашем конвейере сборки и публикуется как артефакт.

<ItemGroup>
  <DotNetCliToolReference Include="Swashbuckle.AspNetCore.Cli" Version="5.2.1" />
</ItemGroup>
<Target Name="Swagger" AfterTargets="PrepareForPublish" DependsOnTargets="Build" Outputs="$(PublishDir)swagger.json">
  <Exec Command="dotnet swagger tofile --output $(PublishDir)swagger.json $(OutputPath)\$(AssemblyName).dll v1" />
</Target>

Но я получаю следующие ошибки:

Package Swashbuckle.AspNetCore.Cli 5.2.1 is not compatible with netcoreapp2.2 (.NETCoreApp,Version=v2.2). Package Swashbuckle.AspNetCore.Cli 5.2.1 supports:
- netcoreapp2.1 (.NETCoreApp,Version=v2.1) / any
- netcoreapp3.0 (.NETCoreApp,Version=v3.0) / any

и:

Invalid project-package combination for Swashbuckle.AspNetCore.Cli 5.2.1. DotnetToolReference project style can only contain references of the DotnetTool type

Странно то, что мой проект использует 3.1 - я сделал Ctrl + F на «netcoreapp2.2» и «2.2» и не может найти нигде, что было указано. Как заставить мой инструмент CLI использовать правильную версию. NET Базовая версия?

1 Ответ

0 голосов
/ 14 апреля 2020

У меня была та же проблема, и я решил ее, выполнив описанные здесь шаги установки: https://github.com/domaindrivendev/Swashbuckle.AspNetCore#retrieve -swagger-direct-from-a-startup-Assembly и удалив ItemGroup из файла проекта. :

<ItemGroup>
  <DotNetCliToolReference Include="Swashbuckle.AspNetCore.Cli" Version="5.2.1" />
</ItemGroup>
...