dotnet / msbuild

The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.

Home Page:https://docs.microsoft.com/visualstudio/msbuild/msbuild

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug]: problem with documentation: it is unclear how to place msbuild into dotnet directory in Linux

ibobak opened this issue · comments

Issue Description

In my linux system I have .NET 8 installed here: /home/ihor/.dotnet/
I have just built the msbuild and I've got this: /home/ihor/Projects/msbuild/artifacts/bin/bootstrap/net8.0/MSBuild/
with contents as in my screenshot below.

This is what is said in documentation in ./Building-Testing-and-Debugging-on-.Net-Core-MSBuild.md :

Alternatively, if you want to test the msbuild binaries in a more realistic environment, 
you can overwrite the dotnet CLI msbuild binaries (found under a path like `~/dotnet/sdk/3.0.100-alpha1-009428/`) 
\with the just-built MSBuild . 

You might have to kill existing `dotnet` processes before doing this. 
You can use [`Deploy-MSBuild.ps1 -runtime Core`](../Deploy-MSBuild.md#.NET-(Core)-SDK) to do the copy. 

From this documentation it is totally unclear what should I overwrite and how.

  • analog of Deploy-MSBuild.ps1 is missing for Linux.
  • In the folder /home/ihor/.dotnet/sdk/8.0.201/ I see many files which match the names with what I've got after building msbuild in my /home/ihor/Projects/msbuild/artifacts/bin/bootstrap/net8.0/MSBuild/ folder, however, there are many of them which differ.

So, should I really just take all files and overwrite them?

image

Steps to Reproduce

  1. build the msbuild on Linux
  2. stuck on what to do next: how to put this all to existing .NET 8 installation

Expected Behavior

expected is a documentation that would state what to do: is it safe to just overwtire the files?
Alternatively, we need a script similar to Deploy-MSBuild.ps1 but for Linux

Actual Behavior

not enough information what to do next after I built the msbuild

Analysis

No response

Versions & Configurations

No response

The ps1 works on Linux, and we should update the docs to say so (and maybe list it as a local tool?)

On my phone now but something like

dotnet tool install -g PowerShell
pwsh scripts/Deploy-MSBuild.ps1 -destination ~/.dotnet/sdk/8.0.201/

Should work.