HansPetter.no :blogg

Slik installerer du C# og .NET på MacOs

Du er macbruker og trenger å kode i C# og .NET.
Slik gjør du det:

Visual Studio Code

Først installerer du Visual Studio Code. VSCode er Atom-basert og faktisk veldig god, jeg foretrekker den når jeg koder JavaScript.

Så installerer du C#-utvidelsen.

Installer .NET

Du kan laste ned pakken herfra og installere den:
https://www.microsoft.com/net/download

Eller du kan installere med Homebrew:

$ brew cask install dotnet-sdk

Homebrew-kommandoen automatiserer prosessen, men gjør det samme som når du laster ned pakken fra Microsoft og klikker filen i Finder.

Nå kan du (i teorien) åpne terminal og skrive dotnet.

Få det til å fungere

Jeg fikk feilmelding om at kommandoen ikke fantes. Løsningen er å legge til /usr/local/share/dotnet i $PATH.

Obs!: .NET Core sender bruksstatistikk til Microsoft. For å deaktivere datainnsamling setter du DOTNET_CLI_TELEMETRY_OPTOUT til true i .bash_profile. (Hvis du vil dele data med Microsoft så tar du bort linjen fra snutten under).

Legges til hvor som helst i ~/.bash_profile:

### .Net Core
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export PATH="/usr/local/share/dotnet:$PATH"

For at endringene skal tre i kraft og $PATH oppdateres må .bash_profile leses på nytt:

$ source ~/.bash_profile

Eller du kan åpne et nytt terminal-vindu.

Nå kan du bekrefte at det virker med dotnet --version eller bare dotnet:

$ dotnet --version
2.1.400

Hei, Verden!

https://www.microsoft.com/net/learn/get-started-with-dotnet-tutorial

$ cd
$ dotnet new console -o helloWorld
$ cd helloWorld/
$ dotnet run
Hello World!
$

Åpne i VSCode:

$ code .

Oversette Program.cs til Norsk:

using System;

namespace helloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hei, verden!");
        }
    }
}

Når du endrer filen i VSCode så spør programmet deg om du vil installere utvidelser for debugging, mm. Si ja til dette.

Kjør igjen:

$ dotnet run
Hei, Verden!

C# er nå installert og du er klar for koding.