GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So kompilieren Sie die .NET Core-App für Linux auf einem Windows-Computer

Für alle, die jetzt sehen, dass dies nicht mehr funktioniert, scheint es, dass Sie ab dem Update am 10. November 2020 die Projektdatei jetzt angeben müssen, da sie nicht mehr gerne eine bestimmte Laufzeit auf einer Lösung (.sln) verwendet.

Ein diesbezügliches Problem wurde hier (https://github.com/dotnet/sdk/issues/14281) gemeldet, aber offensichtlich wird das nicht sofort gelöst.

Also früher, wo dies funktionieren würde:

dotnet build --runtime ubuntu.xx.xx-x64

Es will jetzt so etwas wie das:

dotnet build ProjectName.csproj --runtime ubuntu.xx.xx-x64

dotnet publish **path to your solution** --configuration Release --framework netcoreapp3.0 --output .**output path** --self-contained false --runtime linux-x64 --verbosity quiet

Option 1:Befehlszeile

dotnet build ProjectFile.csproj --runtime linux-x64

Funktioniert unter Linux und Windows und Mac.

Option 2:Visual Studio

Sie können Ihre App auch in Visual Studio „veröffentlichen“, wenn Sie dies bevorzugen. Wählen Sie die Veröffentlichungsmethode "Dateisystem" und legen Sie diese Einstellung fest:


Mit dem Befehl dotnet build können Sie --runtime angeben Flagge

-r|--runtime

Ziellaufzeit, für die erstellt werden soll. Eine Liste der Runtime Identifiers (RIDs), die Sie verwenden können, finden Sie im RID-Katalog.

RIDs, die konkrete Betriebssysteme darstellen, folgen normalerweise diesem Muster [os].[version]-[arch]

Um beispielsweise ein Projekt und seine Abhängigkeiten für die Ubuntu 16.04-Laufzeit zu erstellen, verwenden Sie:

dotnet build --runtime ubuntu.16.04-x64

Linux
  1. So deaktivieren Sie die Remote-Anmeldung für Root-Benutzer auf einem Linux-Computer

  2. Wie erstelle ich ein Travis CI-Testpaket für Linux, OS X, Windows?

  3. Wie verwende ich System.Data in einer .NET Core RC2-Konsolen-App (Linux, Debian 8)?

  4. So schreiben Sie einen Linux-Daemon mit .Net Core

  5. Woher weiß ich, ob ein Remote-Computer Windows oder Linux verwendet?

So kompilieren Sie den Linux-Kernel aus der Quelle, um einen benutzerdefinierten Kernel zu erstellen

Offizieller Support für das Remotedebuggen einer .NET Core-Linux-App in WSL2 von Visual Studio unter Windows

Wie man SSH in einen Windows 10-Rechner von Linux ODER Windows ODER überall her einfügt

Remotedebuggen einer .NET Core-Linux-App in WSL2 von Visual Studio unter Windows

So installieren Sie (.NET Core) Dotnet Core auf Linux-Distributionen

So installieren und konfigurieren Sie das Windows-Subsystem für Linux