GNU/Linux >> Linux Esercitazione >  >> Linux

Esecuzione di un'applicazione ASP.NET Core autonoma su Ubuntu

Rispondi

Ora, come eseguo la mia applicazione? La mia comprensione è che, poiché si tratta di un'applicazione .NET Core autonoma, non è necessario scaricare e installare .NET Core qualsiasi cosa. La mia applicazione dovrebbe contenere tutto ciò di cui ha bisogno.

Hai ragione. Esegui l'eseguibile.

Quando crei un'app autonoma, l'output di pubblicazione "contiene il set completo di file (sia i file dell'app che tutti i file .NET Core) necessari per avviare l'app". Ciò include l'eseguibile.

Esempio di distribuzione autonoma

Ecco l'output di dotnet publish -c release -r ubuntu.14.04-x64 per una semplice applicazione autonoma. Copia la directory di pubblicazione su Ubuntu ed esegui l'eseguibile.

C:\MyApp\bin\release\netcoreapp1.0\ubuntu.14.04-x64\publish\

...

libsos.so
libsosplugin.so
libuv.so
Microsoft.CodeAnalysis.CSharp.dll
Microsoft.CodeAnalysis.dll
Microsoft.CodeAnalysis.VisualBasic.dll
Microsoft.CSharp.dll
Microsoft.VisualBasic.dll
Microsoft.Win32.Primitives.dll
Microsoft.Win32.Registry.dll
mscorlib.dll
mscorlib.ni.dll
MyApp                        <------- On Ubuntu, run this executable
MyApp.deps.json                       and you will see Hello World!
MyApp.dll
MyApp.pdb
MyApp.runtimeconfig.json
sosdocsunix.txt
System.AppContext.dll
System.Buffers.dll
System.Collections.Concurrent.dll
System.Collections.dll

...

C:\MyApp\project.json

{
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
  },
  "dependencies": {},
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": "1.0.1"
      }
    }
  },
  "runtimes": {
    "ubuntu.14.04-x64" : {},
    "win10-x64" : {}
  }
}

C:\MyApp\Program.cs

public class Program
{
    public static void Main(string[] args)
    {
        System.Console.WriteLine("Hello World!");
    }
}

Vedi anche

Questo documento distingue tra deployment dipendenti dal framework e self-contained.


Segui i passaggi seguenti per eseguire la tua applicazione:

  1. Pubblica la tua applicazione come applicazione autonoma:

    dotnet publish -c release -r ubuntu.16.04-x64 --self-contained
    
  2. Copia il publish cartella sulla macchina Ubuntu

  3. Apri il terminale della macchina Ubuntu (CLI) e vai alla directory del progetto

  4. Fornisci i permessi di esecuzione:

    chmod 777 ./appname
    
  5. Eseguire l'applicazione

    ./appname
    

Autore: Harit Kumar

Risposta originale qui: Come eseguire un'applicazione console .NET Core su Linux


Linux
  1. Installazione di .Net Core in Ubuntu 20.04 - Una guida passo passo?

  2. Come installare .NET Core (dotnet) su Ubuntu 22.04 LTS

  3. Esecuzione di un sito Web Asp classico su Ubuntu 12.04?

  4. Esecuzione di ASP.NET Core sull'hosting Linux condiviso più economico di GoDaddy:non provarlo a casa

  5. php_soap.dll mancante in Ubuntu 16

Come modificare il pool di applicazioni ASP.Net da SolidCP?

Come modificare il pool di applicazioni ASP.Net da WebsitePanel 2.1?

Creazione, esecuzione e test di .NET Core e ASP.NET Core 2.1 in Docker su un Raspberry Pi (ARM32)

Installazione di PowerShell Core su un Raspberry Pi (con tecnologia .NET Core)

Pubblicazione di un sito Web ASP.NET Core su un host di macchine virtuali Linux economico

Come far funzionare tutti i processi su ciascun core della CPU in Ubuntu?