Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to install MSBuild on OS X and Linux?

I'm looking to install MSBuild on my Linux laptop so I can build a C# OSS project of mine. How exactly would I go about doing this? I've come across a few guides such as this which suggest installing the MSBuild NuGet package, but it doesn't seem official or actively maintained.

Is there an official package source I can install MSBuild from?

like image 388
James Ko Avatar asked Sep 13 '15 03:09

James Ko


People also ask

Can I install MSBuild on Linux?

MSBuild for LinuxInstalling the pre-built binaries is easy—just grab the . NET Core SDK for Linux (https://dotnet.microsoft.com/download). If you are adventurous and want to compile MSBuild from source, you can find the project at GitHub (https://github.com/dotnet/msbuild).

Does MSBuild work on Mac?

On the Mac, you can use any of the following methods to build your application: Visual Studio for Mac, MSBuild command-line tools, or Azure Pipelines.

How do I install MSBuild?

To install MSBuild on a system that doesn't have Visual Studio, go to Build Tools for Visual Studio 2019, or install the . NET SDK. If you have Visual Studio, then you already have MSBuild installed. With Visual Studio 2022, it's installed under the Visual Studio installation folder.

What is MSBuild Linux?

The Microsoft Build Engine is a platform for building applications. This engine, also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software.


2 Answers

Yes, there is such a package hosted by the CoreFX team as a MyGet feed. To install, run this at a terminal:

#!/bin/sh

packageid="Microsoft.Build.Mono.Debug"
version="14.1.0.0-prerelease" # update as needed

mono path/to/nuget.exe install $packageid -Version \
    $version -Source "https://www.myget.org/F/dotnet-buildtools/"

# run MSBuild
mono $packageid.$version/lib/MSBuild.exe Foo.sln

Technically this should be used only for building the .NET Core repos, but I'll take it as an alternative to an unofficial publisher.

Source.


EDIT: Note that this will only work if your version of Mono is 4.0.1 or above.

like image 154
James Ko Avatar answered Oct 30 '22 01:10

James Ko


A pretty easy way to do it now is using the dotnet docker images: https://hub.docker.com/_/microsoft-dotnet-sdk/

https://github.com/dotnet/dotnet-docker/blob/main/samples/build-in-sdk-container.md

like image 22
jtaylor Avatar answered Oct 29 '22 23:10

jtaylor