dotnet / format

Home for the dotnet-format command

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dotnet-format 8.0 rc1 is failing on Alpine 3.17

NikolaMilosavljevic opened this issue · comments

It appears that MSBuildLocator is not finding hostfxr library and .NET SDK, thus failing to provide MSBuild path.

Here's the failure output, from source-build tests:

System.InvalidOperationException : Failed to execute /src/git/dotnet4/test/Microsoft.DotNet.SourceBuild.SmokeTests/bin/Release/net8.0/.dotnet/dotnet format /src/git/dotnet4/test/Microsoft.DotNet.SourceBuild.SmokeTests/bin/Release/net8.0/projects-202308231813239264/FormatProject/FormatProject.csproj
  Exit code: 3

  Unable to locate MSBuild. Ensure the .NET SDK was installed with the official installer.

Perhaps getting rid of MSBuildLocator dependency is good option, considering that dotnet-format ships in SDK and should be able to find MSBuild directly.

I've confirmed that this reproes outside of source-build tests.

I've extracted .NET 8 preview tarball and created symlink for dotnet in /usr/bin. dotnet format command is failing.

edb204ed8383:/src/proj8# dotnet new console
The template "Console App" was created successfully.

Processing post-creation actions...
Restoring /src/proj8/proj8.csproj:
  Determining projects to restore...
  Restored /src/proj8/proj8.csproj (in 174 ms).
Restore succeeded.


edb204ed8383:/src/proj8# dotnet format
Unable to locate MSBuild. Ensure the .NET SDK was installed with the official installer.

microsoft/MSBuildLocator#230

Perhaps getting rid of MSBuildLocator dependency is good option, considering that dotnet-format ships in SDK and should be able to find MSBuild directly.

I agree. Maybe keep MSBuildLocator as a fallback for those repos who still install as a local tool (see Roslyn).