Skip to content

Microsoft.Extensions.ApiDescription.Server 3.0.0-rc1.19457.4 causes build to fail on macOS #14232

@martincostello

Description

@martincostello

Describe the bug

Originally found via domaindrivendev/Swashbuckle.AspNetCore#1266 (comment)

When Microsoft.Extensions.ApiDescription.Server is in the dependency tree of an ASP.NET Core 3.0 application, the application fails to build on macOS with the following error:

/Users/travis/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0-rc1.19457.4/build/Microsoft.Extensions.ApiDescription.Server.targets(62,5): error : System.TimeoutException: Process /Users/travis/build/martincostello/api/.dotnetcli/dotnet timed out after 2 minutes. [/Users/travis/build/martincostello/api/src/API/API.csproj]
/Users/travis/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0-rc1.19457.4/build/Microsoft.Extensions.ApiDescription.Server.targets(62,5): error :    at Microsoft.Extensions.ApiDescription.Tool.Exe.Run(String executable, IReadOnlyList`1 args, IReporter reporter, String workingDirectory, Boolean interceptOutput) [/Users/travis/build/martincostello/api/src/API/API.csproj]
/Users/travis/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0-rc1.19457.4/build/Microsoft.Extensions.ApiDescription.Server.targets(62,5): error :    at Microsoft.Extensions.ApiDescription.Tool.Commands.InvokeCommand.Execute() [/Users/travis/build/martincostello/api/src/API/API.csproj]
/Users/travis/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0-rc1.19457.4/build/Microsoft.Extensions.ApiDescription.Server.targets(62,5): error :    at Microsoft.Extensions.ApiDescription.Tool.Commands.CommandBase.<>c__DisplayClass14_0.<Configure>b__0() [/Users/travis/build/martincostello/api/src/API/API.csproj]
/Users/travis/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0-rc1.19457.4/build/Microsoft.Extensions.ApiDescription.Server.targets(62,5): error :    at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args) [/Users/travis/build/martincostello/api/src/API/API.csproj]
/Users/travis/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0-rc1.19457.4/build/Microsoft.Extensions.ApiDescription.Server.targets(62,5): error :    at Microsoft.Extensions.ApiDescription.Tool.ProgramBase.Run(String[] args, CommandBase command, Boolean throwOnUnexpectedArg) [/Users/travis/build/martincostello/api/src/API/API.csproj]
/Users/travis/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0-rc1.19457.4/build/Microsoft.Extensions.ApiDescription.Server.targets(62,5): error MSB3073: The command "dotnet "/Users/travis/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0-rc1.19457.4/build//../tools/dotnet-getdocument.dll" --assembly "/Users/travis/build/martincostello/api/src/API/bin/Release/netcoreapp3.0/API.dll" --file-list "obj/API.OpenApiFiles.cache" --framework ".NETCoreApp,Version=v3.0" --output "obj" --project "API" --assets-file "/Users/travis/build/martincostello/api/src/API/obj/project.assets.json" --platform "AnyCPU" " exited with code 1. [/Users/travis/build/martincostello/api/src/API/API.csproj]

The issue can be worked around by setting the following MSBuild property:

<OpenApiGenerateDocuments>false</OpenApiGenerateDocuments>

To Reproduce

Add the following NuGet package reference to an ASP.NET Core 3.0 application which has an API controller and build the application on macOS:

<PackageReference Include="Microsoft.Extensions.ApiDescription.Server" Version="3.0.0-rc1.19457.4" />

Expected behavior

The application builds successfully.

Additional context

This issue appears to only affect macOS, and not Windows or Linux. See this PR for different build behaviours: martincostello/api#212

Metadata

Metadata

Labels

ExternalThis is an issue in a component not contained in this repository. It is open for tracking purposes.area-mvcIncludes: MVC, Actions and Controllers, Localization, CORS, most templatesinvestigate

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions