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:
-
Pubblica la tua applicazione come applicazione autonoma:
dotnet publish -c release -r ubuntu.16.04-x64 --self-contained
-
Copia il
publish
cartella sulla macchina Ubuntu -
Apri il terminale della macchina Ubuntu (CLI) e vai alla directory del progetto
-
Fornisci i permessi di esecuzione:
chmod 777 ./appname
-
Eseguire l'applicazione
./appname
Autore: Harit Kumar
Risposta originale qui: Come eseguire un'applicazione console .NET Core su Linux