14 messaggi dal 14 marzo 2019
Ciao a tutti,

sto incontrando qualche problema nel tentativo di ottenere il .exe di un progetto console app in .NET Core 2.1. Sebbene una volta ci sia riuscito facendo una pubblicazione in locale di una "self-contained app", ora seguendo lo stesso procedimento il .exe non viene generato. Forse tralascio qualche passaggio.

Tra l'altro non ricordo se quando ci sono riuscito, giorni fa, prima ho dato alcuni comandi da console, come spiegato qui.

Potreste suggerirmi come creare il file .exe di un progetto console app?

Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


tra l'altro non ricordo se quando ci sono riuscito, giorni fa, prima ho dato alcuni comandi da console, come spiegato qui.

Sì, esatto, hai eseguito il comando dotnet build oppure dotnet publish con la flag -r, che causa la creazione di un'eseguibile per una precisa piattaforma di destinazione. Ad esempio:
dotnet build -r win10-x64

Oppure
dotnet publish -r win10-x64


Se usi dotnet publish come in quest'ultimo esempio, otterrai una cartella che contiene sia l'.exe ma anche tutti i file del runtime di .NET Core per la piattaforma indicata (win10-x64, in questo caso). Questa si chiama pubblicazione "self-contained" perché così tu puoi copiare tutti i file su un altro PC con Windows 10 a 64bit ed eseguire l'applicazione anche se non era stato installato .NET Core a livello di sistema.

Qui trovi l'elenco dei runtime identifiers, cioè i valori tipo win10-x64 che ti permettono di scegliere la piattaforma di destinazione.
https://docs.microsoft.com/it-it/dotnet/core/rid-catalog

ciao,
Moreno
Modificato da BrightSoul il 07 aprile 2019 16:44 -

Enjoy learning and just keep making
14 messaggi dal 14 marzo 2019
Grazie mille Moreno per la dettagliata risposta. Poi provo e vi faccio sapere, ma ricordo di aver dato il comando:

dotnet publish -r win10-x64


sicuramente risolverò.

Grazie :)
14 messaggi dal 14 marzo 2019
mee ha scritto:
Grazie mille Moreno per la dettagliata risposta. Poi provo e vi faccio sapere, ma ricordo di aver dato il comando:

dotnet publish -r win10-x64


sicuramente risolverò.

Grazie :)


Ho risolto. Sono riuscito ad ottenere l'exe, ed è stato necessario risolvere anche un errore di compilazione dovuto ad un pacchetto NuGet non compatibile con .NET Core.

Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ok, perfetto.
Quando uscirà .NET Core 3.0, l'eseguibile per la piattaforma corrente verrà generato automaticamente sia lanciando dotnet build che dotnet publish. La flag -r resterà comunque necessaria per la cross-compilazione (esempio: generare su Windows l'eseguibile che poi vai a mettere su una Raspberry PI).
https://docs.microsoft.com/it-it/dotnet/core/whats-new/dotnet-core-3-0#default-executables

ciao,
Moreno

Enjoy learning and just keep making
14 messaggi dal 14 marzo 2019
BrightSoul ha scritto:
Ok, perfetto.
Quando uscirà .NET Core 3.0, l'eseguibile per la piattaforma corrente verrà generato automaticamente sia lanciando dotnet build che dotnet publish. La flag -r resterà comunque necessaria per la cross-compilazione (esempio: generare su Windows l'eseguibile che poi vai a mettere su una Raspberry PI).
https://docs.microsoft.com/it-it/dotnet/core/whats-new/dotnet-core-3-0#default-executables

ciao,
Moreno


Grazie mille Moreno, utilissimo.

Grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.