GNU/Linux >> Znalost Linux >  >> Linux

Jak zkompilovat aplikaci .NET Core pro Linux na počítači s Windows

Pro každého, komu to nyní již nefunguje, se zdá, že od aktualizace 10. listopadu 2020 musíte nyní specifikovat soubor projektu, protože už nemá rád používání zadaného runtime na řešení (.sln).

Problém o tom byl nastolen zde (https://github.com/dotnet/sdk/issues/14281), ale zjevně se to nevyřeší okamžitě.

Takže dříve, kde by to fungovalo:

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

Teď to chce něco takového:

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

Možnost 1:Příkazový řádek

dotnet build ProjectFile.csproj --runtime linux-x64

Funguje na systémech Linux a Windows a Mac.

Možnost 2:Visual Studio

Pokud chcete, můžete svou aplikaci také „publikovat“ ve Visual Studiu. Zvolte metodu publikování "Systém souborů" a nastavte toto nastavení:


Pomocí příkazu dotnet build můžete zadat --runtime vlajka

-r|--runtime

Cílová doba běhu, pro kterou se má sestavit. Seznam Runtime Identifiers (RID), které můžete použít, naleznete v katalogu RID.

RID, které představují konkrétní operační systémy, se obvykle řídí tímto vzorem [os].[version]-[arch]

Například pro vytvoření projektu a jeho závislostí pro běhové prostředí Ubuntu 16.04:

dotnet build --runtime ubuntu.16.04-x64

Linux
  1. Jak vytvořit testovací balíček Travis CI pro Linux, OS X, Windows?

  2. Jak mohu použít System.Data v konzolové aplikaci .NET Core RC2 (Linux, Debian 8)?

  3. Jak napsat linuxového démona s .Net Core

  1. Jak zakázat vzdálené přihlášení pro uživatele root na počítači se systémem Linux

  2. NuGet pro .NET Core na Linuxu

  3. Jak zjistím, zda vzdálený počítač používá Windows nebo Linux?

  1. Jak nainstalovat Windows 10 do Virtualboxu na Linuxu

  2. Jak spustit Windows 95 v Linuxu

  3. DotNet Core 2.1 hromadění paměti v Linuxu