Strumenti dell'interfaccia della riga di comando di .NET Core.NET Core command-line interface (CLI) tools

L'interfaccia della riga di comando di .NET Core è una nuova toolchain multipiattaforma per lo sviluppo di applicazioni .NET.The .NET Core command-line interface (CLI) is a new cross-platform toolchain for developing .NET applications. È un elemento di base su cui possono essere costruiti altri strumenti di livello più elevato, come gli ambienti di sviluppo integrato (IDE, Integrated Development Environment), gli editor e gli agenti di orchestrazione della compilazione.The CLI is a foundation upon which higher-level tools, such as Integrated Development Environments (IDEs), editors, and build orchestrators, can rest.

InstallazioneInstallation

È possibile usare programmi di installazione nativi o script della shell di installazione:Either use the native installers or use the installation shell scripts:

  • I programmi di installazione nativi sono destinati essenzialmente ai computer degli sviluppatori e si avvalgono del meccanismo di installazione nativo di ogni piattaforma supportata, ad esempio i pacchetti DEB in Ubuntu o i bundle MSI in Windows.The native installers are primarily used on developer's machines and use each supported platform's native install mechanism, for instance, DEB packages on Ubuntu or MSI bundles on Windows. Questi programmi installano e configurano l'ambiente in modo da poter essere immediatamente usato dallo sviluppatore ma richiedono privilegi amministrativi sul computer.These installers install and configure the environment for immediate use by the developer but require administrative privileges on the machine. È possibile visualizzare le istruzioni di installazione nel sito Web .NET Core installation guide (Guida all'installazione di .NET Core).You can view the installation instructions in the .NET Core installation guide.
  • Gli script vengono usati principalmente per configurare i server di compilazione o quando si vuole installare gli strumenti senza privilegi amministrativi.Shell scripts are primarily used for setting up build servers or when you wish to install the tools without administrative privileges. Con l'installazione degli script non vengono installati nel computer anche i prerequisiti, che devono essere installati manualmente.Install scripts don't install prerequisites on the machine, which must be installed manually. Per altre informazioni, vedere l'argomento di riferimento sugli script di installazione.For more information, see the install script reference topic. Per informazioni su come configurare l'interfaccia della riga di comando nel server di compilazione di integrazione continua (CI, Continuous Integration), vedere Uso di .NET Core SDK e dei relativi strumenti in integrazione continua.For information on how to set up CLI on your continuous integration (CI) build server, see Using .NET Core SDK and tools in Continuous Integration (CI).

Per impostazione predefinita, l'interfaccia della riga di comando viene installata in modalità side-by-side (SxS). Pertanto, in un unico computer possono coesistere più versioni degli strumenti dell'interfaccia della riga di comando.By default, the CLI installs in a side-by-side (SxS) manner, so multiple versions of the CLI tools can coexist on a single machine. La procedura per determinare la versione usata in un computer in cui sono installate più versioni è illustrata nella sezione Driver.Determining which version is used on a machine where multiple versions are installed is explained in more detail in the Driver section.

Comandi dell'interfaccia della riga di comandoCLI commands

Per impostazione predefinita vengono installati i comandi seguenti:The following commands are installed by default:

L'interfaccia della riga di comando adotta un modello di estendibilità che consente di specificare altri strumenti per i progetti.The CLI adopts an extensibility model that allows you to specify additional tools for your projects. Per altre informazioni, vedere l'argomento Modello di estendibilità dell'interfaccia della riga di comando di .NET Core.For more information, see the .NET Core CLI extensibility model topic.

Struttura dei comandiCommand structure

La struttura dei comandi dell'interfaccia della riga di comando è composta dal driver ("dotnet"), dal comando e, in alcuni casi, dagli argomenti e dalle opzioni.CLI command structure consists of the driver ("dotnet"), the command, and possibly command arguments and options. Questo modello può essere osservato nella maggior parte delle operazioni eseguite dalla riga di comando, inclusa la creazione di una nuova app console e la relativa esecuzione dalla riga di comando, come illustrato dai comandi seguenti quando vengono eseguiti da una directory denominata my_app:You see this pattern in most CLI operations, such as creating a new console app and running it from the command line as the following commands show when executed from a directory named my_app:

dotnet new console
dotnet build --output /build_output
dotnet /build_output/my_app.dll

DriverDriver

Il driver, denominato dotnet, ha due compiti: eseguire un'app dipendente dal framework ed eseguire un comando.The driver is named dotnet and has two responsibilities, either running a framework-dependent app or executing a command.

Per eseguire un'applicazione dipendente dal framework, specificare l'app dopo il driver, ad esempio dotnet /path/to/my_app.dll.To run a framework-dependent app, specify the app after the driver, for example, dotnet /path/to/my_app.dll. Se si esegue il comando dalla cartella in cui si trova la DLL dell'app, è sufficiente eseguire dotnet my_app.dll.When executing the command from the folder where the app's DLL resides, simply execute dotnet my_app.dll. Se si vuole usare una versione specifica del runtime .NET Core, usare l'opzione --fx-version <VERSION> (vedere il riferimento per il comando dotnet).If you want to use a specific version of the .NET Core Runtime, use the --fx-version <VERSION> option (see the dotnet command reference).

Nel momento in cui si fornisce un comando al driver, dotnet.exe avvia il processo di esecuzione del comando dell'interfaccia della riga di comando.When you supply a command to the driver, dotnet.exe starts the CLI command execution process. Ad esempio:For example:

> dotnet build

Come prima operazione, il driver determina la versione dell'SDK da usare.First, the driver determines the version of the SDK to use. Se non è presente nessuna voce 'global.json' viene usata la versione più recente disponibile del SDK.If there is no 'global.json', the latest version of the SDK available is used. Può essere una versione di anteprima o una versione stabile, a seconda di qual è la più recente disponibile nel computer.This might be either a preview or stable version, depending on what is latest on the machine. Dopo aver determinato la versione del SDK il driver esegue il comando.Once the SDK version is determined, it executes the command.

ComandoCommand

Il comando esegue un'azione.The command performs an action. Ad esempio, dotnet build compila il codice.For example, dotnet build builds code. dotnet publish pubblica il codice.dotnet publish publishes code. I comandi vengono implementati come un'applicazione console usando una convenzione dotnet {command}.The commands are implemented as a console application using a dotnet {command} convention.

ArgomentiArguments

Gli argomenti passati alla riga di comando sono gli argomenti per il comando richiamato.The arguments you pass on the command line are the arguments to the command invoked. Quando si esegue dotnet publish my_app.csproj, ad esempio, l'argomento my_app.csproj indica il progetto da pubblicare e viene passato al comando publish.For example when you execute dotnet publish my_app.csproj, the my_app.csproj argument indicates the project to publish and is passed to the publish command.

OpzioniOptions

Le opzioni passate alla riga di comando sono le opzioni per il comando richiamato.The options you pass on the command line are the options to the command invoked. Quando si esegue dotnet publish --output /build_output, ad esempio, l'opzione --output e il relativo valore vengono passati al comando publish.For example when you execute dotnet publish --output /build_output, the --output option and its value are passed to the publish command.

Migrazione da project.jsonMigration from project.json

Se si sono usati gli strumenti della Preview 2 per generare progetti basati su project.json, consultare l'argomento dotnet migrate per informazioni sulla migrazione del progetto in MSBuild/ .csproj per l'uso con gli strumenti di rilascio.If you used Preview 2 tooling to produce project.json-based projects, consult the dotnet migrate topic for information on migrating your project to MSBuild/.csproj for use with release tooling. Per i progetti .NET Core creati prima del rilascio degli strumenti della Preview 2, aggiornare manualmente il progetto seguendo le istruzioni disponibili in Migrazione da DNX all'interfaccia della riga di comando di .NET Core (project.json) e usare dotnet migrate o aggiornare direttamente i progetti.For .NET Core projects created prior to the release of Preview 2 tooling, either manually update the project following the guidance in Migrating from DNX to .NET Core CLI (project.json) and then use dotnet migrate or directly upgrade your projects.

Vedere ancheSee also