Variabili di ambiente .NET
Questo articolo si applica a: ✔️ .NET Core 3.1 SDK e versioni successive
In questo articolo verranno fornite informazioni sulle variabili di ambiente usate da .NET. Alcune variabili di ambiente vengono usate dal runtime .NET, mentre altre vengono usate solo da .NET SDK e dall'interfaccia della riga di comando di .NET. Alcune variabili di ambiente vengono usate da tutti e tre i componenti.
Variabili di ambiente .NET
DOTNET_SYSTEM_NET_HTTP_*
Esistono diverse impostazioni delle variabili di ambiente HTTP globali:
DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION
- Indica se abilitare o meno la propagazione dell'attività del gestore di diagnostica per le impostazioni HTTP globali.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT
- Se impostato su
false
o0
, disabilita il supporto HTTP/2, che è abilitato per impostazione predefinita.
- Se impostato su
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
- Se impostato su
true
o1
, abilita il supporto HTTP/3, che è disabilitato per impostazione predefinita.
- Se impostato su
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
- Se impostato su
false
o0
, esegue l'override dell'impostazione predefinita e disabilita l'algoritmo di ridimensionamento delle finestre dinamiche HTTP/2.
- Se impostato su
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE
- Il valore predefinito è 16 MB. In caso di override, le dimensioni massime della finestra di ricezione del flusso HTTP/2 non possono essere inferiori a 65.535.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER
- Il valore predefinito è 1.0. Quando ne viene eseguito l'override, i valori più alti generano una finestra più breve, ma download più lenti. Non può essere minore di 0.
DOTNET_SYSTEM_GLOBALIZATION_*
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
: vedere impostare la modalità invariante.DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY
: specifica se caricare solo le impostazioni cultura predefinite.DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU
: indica se usare i componenti internazionali locali dell'app di Unicode (ICU). Per ulteriori informazioni, vedere ICU locale dell'app.
Impostare la modalità invariante
Le applicazioni possono abilitare la modalità invariante in uno dei modi seguenti:
Nel file di progetto:
<PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup>
Nel file runtimeconfig.json:
{ "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }
Impostando il valore della variabile di ambiente
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
sutrue
o1
.
Importante
Un valore impostato nel file di progetto o runtimeconfig.json ha una priorità più alta rispetto alla variabile di ambiente.
Per altre informazioni, vedere modalità invariante globalizzazione .NET.
DOTNET_SYSTEM_GLOBALIZATION_USENLS
Questo vale solo per Windows. Affinché la globalizzazione usi il supporto per la lingua nazionale (NLS), impostare DOTNET_SYSTEM_GLOBALIZATION_USENLS
su true
o 1
. Per non usarlo, impostare DOTNET_SYSTEM_GLOBALIZATION_USENLS
su false
o 0
.
DOTNET_SYSTEM_NET_SOCKETS_*
Questa sezione è incentrata su due variabili di ambiente System.Net.Sockets
:
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
Le continuazioni socket vengono inviate all'oggetto System.Threading.ThreadPool dal thread dell'evento. In questo modo si evitano continuazioni che bloccano la gestione degli eventi. Per consentire l'esecuzione delle continuazioni direttamente nel thread di eventi, impostare DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
su 1
. Per impostazione predefinita, è disabilitata.
Nota
Questa impostazione può peggiorare le prestazioni se è presente un lavoro costoso che finirà per mantenere il thread di I/O per più tempo del necessario. Testare per assicurarsi che questa impostazione consenta le prestazioni.
Usando benchmark TechEmpower che generano molte letture e scritture socket di piccole dimensioni in un carico molto elevato, un singolo motore socket è in grado di mantenere occupato fino a trenta x64 e otto core CPU Arm64. La maggior parte degli scenari reali non genererà mai un carico così enorme (centinaia di migliaia di richieste al secondo) e avere un singolo produttore è quasi sempre sufficiente. Tuttavia, per assicurarsi che i carichi estremi possano essere gestiti, è possibile usare DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
per eseguire l'override del valore calcolato. Se non viene eseguito l'override, viene usato il valore seguente:
- Quando
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
è1
, viene usato il valore Environment.ProcessorCount. - Quando
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
non è1
, viene valutata RuntimeInformation.ProcessArchitecture :- Quando Arm o Arm64 i core per valore del motore sono impostati su
8
, in caso contrario su30
.
- Quando Arm o Arm64 i core per valore del motore sono impostati su
- Usando i core determinati per motore, il valore massimo di
1
o Environment.ProcessorCount sui core per motore.
DOTNET_SYSTEM_NET_DISABLEIPV6
Consente di determinare se internet Protocol versione 6 (IPv6) è disabilitato. Se impostato su true
o 1
, IPv6 è disabilitato se non diversamente specificato in System.AppContext.
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
È possibile usare uno dei meccanismi seguenti per configurare un processo per l'uso del precedente HttpClientHandler
:
Dal codice usare la classe AppContext
:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
L'opzione AppContext
può essere impostata anche da un file di configurazione. Per altre informazioni sulla configurazione delle opzioni, vedere AppContext per i consumer di librerie.
Lo stesso risultato può essere ottenuto tramite la variabile di ambiente DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
. Per rifiutare esplicitamente, impostare il valore su false
o 0
.
Nota
A partire da .NET 5, questa impostazione per usare HttpClientHandler non è più disponibile.
DOTNET_Jit*
e DOTNET_GC*
Esistono due funzionalità correlate allo stress per le informazioni GC generate da JIT e JIT: JIT Stress e GC Hole Stress. Queste funzionalità offrono un modo durante lo sviluppo per individuare casi perimetrali e scenari più "reali" senza dover sviluppare applicazioni complesse. Sono disponibili le variabili di ambiente seguenti:
DOTNET_JitStress
DOTNET_JitStressModeNamesOnly
DOTNET_GCStress
Stress JIT
L'abilitazione dello stress JIT può essere eseguita in diversi modi. Impostare DOTNET_JitStress
su un valore intero diverso da zero per generare diversi livelli di ottimizzazioni JIT in base a un hash del nome del metodo. Per applicare tutte le ottimizzazioni impostare, ad esempio, DOTNET_JitStress=2
. Un altro modo per abilitare lo stress JIT consiste nell'impostare DOTNET_JitStressModeNamesOnly=1
e quindi richiedere le modalità di stress, delimitate da spazi, nella variabile DOTNET_JitStressModeNames
.
Si consideri ad esempio:
DOTNET_JitStressModeNames=STRESS_USE_CMOV STRESS_64RSLT_MUL STRESS_LCL_FLDS
GC Hole stress
L'abilitazione dello GC Hole stress (stress foro GC) fa sì che i GC si verifichino sempre in posizioni specifiche e che aiutano a tenere traccia dei fori GC. GC Hole Stress può essere abilitato usando la variabile di ambiente DOTNET_GCStress
.
Per altre informazioni, vedere Analisi dello stress jit e del foro GC.
Barriere di memoria JIT
Il generatore di codice per Arm64 consente di rimuovere tutte le istruzioni MemoryBarriers
impostando DOTNET_JitNoMemoryBarriers
su 1
.
DOTNET_RUNNING_IN_CONTAINER
e DOTNET_RUNNING_IN_CONTAINERS
Le immagini .NET ufficiali (Windows e Linux) impostano le variabili di ambiente note:
DOTNET_RUNNING_IN_CONTAINER
DOTNET_RUNNING_IN_CONTAINERS
Questi valori vengono usati per determinare quando i carichi di lavoro ASP.NET Core vengono eseguiti nel contesto di un contenitore.
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
Quando Console.IsOutputRedirected è true
, è possibile generare codice colore ANSI impostando DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
su 1
o true
.
DOTNET_SYSTEM_DIAGNOSTICS
e variabili correlate
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL
: quando1
otrue
, il formato predefinito ID attività è gerarchico.DOTNET_SYSTEM_RUNTIME_CACHING_TRACING
: quando è in esecuzione come debug, la traccia può essere abilitata quando si tratta ditrue
.
DOTNET_DiagnosticPorts
Configura endpoint alternativi in cui gli strumenti di diagnostica possono comunicare con il runtime .NET. Per altre informazioni, vedere la documentazione relativa alla porta di diagnostica.
DOTNET_DefaultDiagnosticPortSuspend
Configura il runtime in modo che venga sospeso durante l'avvio e attenda il comando IPC ResumeStartup di diagnostica dalla porta di diagnostica specificata quando è impostato su 1. Il valore predefinito è 0. Per altre informazioni, vedere la documentazione relativa alla porta di diagnostica.
DOTNET_EnableDiagnostics
Se impostato su 0
, disabilita il debug, la profilatura e altra diagnostica tramite la porta di diagnostica e non può essere sottoposto a override da altre impostazioni di diagnostica. Il valore predefinito è 1
.
DOTNET_EnableDiagnostics_IPC
A partire da .NET 8, se impostato su 0
, disabilita la porta di diagnostica e non può essere sottoposto a override da altre impostazioni di diagnostica. Il valore predefinito è 1
.
DOTNET_EnableDiagnostics_Debugger
A partire da .NET 8, se impostato su 0
, disabilita il debug e non può essere sottoposto a override da altre impostazioni di diagnostica. Il valore predefinito è 1
.
DOTNET_EnableDiagnostics_Profiler
A partire da .NET 8, se impostato su 0
, disabilita la profilatura e non può essere sottoposto a override da altre impostazioni di diagnostica. Il valore predefinito è 1
.
Variabili EventPipe
Per altre informazioni, vedere variabili di ambiente EventPipe.
DOTNET_EnableEventPipe
: se impostato su1
, abilita la traccia tramite EventPipe.DOTNET_EventPipeOutputPath
: percorso di output in cui verrà scritta la traccia.DOTNET_EventPipeOutputStreaming
: se impostato su1
, consente lo streaming al file di output mentre l'app è in esecuzione. Per impostazione predefinita, le informazioni di traccia vengono accumulate in un buffer circolare e il contenuto viene scritto all'arresto dell'app.
Variabili di ambiente di .NET SDK e dell'interfaccia della riga di comando
DOTNET_ROOT
, DOTNET_ROOT(x86)
, DOTNET_ROOT_X86
DOTNET_ROOT_X64
Specifica il percorso dei runtime .NET, se non sono installati nel percorso predefinito. Il percorso predefinito in Windows è C:\Program Files\dotnet
. Il percorso predefinito in macOS è /usr/local/share/dotnet
. Il percorso predefinito per i runtime x64 in un sistema operativo arm64 si trova in una sottocartella x64(così C:\Program Files\dotnet\x64
in windows e /usr/local/share/dotnet/x64
in macOS. Il percorso predefinito in Linux varia a seconda del metodo di distribuzione e installazione. Il percorso predefinito in Ubuntu 22.04 è /usr/share/dotnet
(se installato da packages.microsoft.com
) o /usr/lib/dotnet
(se installato dal feed Jammy). Per ulteriori informazioni, vedi le seguenti risorse:
- Risolvere gli errori di avvio delle app
- Problema di GitHub dotnet/core#7699
- Problema di GitHub dotnet/runtime#79237
Questa variabile di ambiente viene usata solo quando si eseguono app tramite eseguibili generati (apphosts). DOTNET_ROOT(x86)
viene usato invece quando si esegue un eseguibile a 32 bit in un sistema operativo a 64 bit. DOTNET_ROOT_X64
viene invece usato quando si esegue un eseguibile a 64 bit in un sistema operativo ARM64.
DOTNET_HOST_PATH
Specifica il percorso assoluto di un host dotnet
(dotnet.exe
in Windows, dotnet
in Linux e macOS) usato per avviare il processo di dotnet
attualmente in esecuzione. Questa operazione viene usata da .NET SDK per aiutare gli strumenti eseguiti durante i comandi di .NET SDK a garantire che usino lo stesso runtime dotnet
per tutti i processi figlio dotnet
creati per la durata del comando. Gli strumenti e le attività di MSBuild all'interno dell'SDK che richiamano file binari tramite l'host dotnet
devono rispettare questa variabile di ambiente per garantire un'esperienza coerente.
Gli strumenti che richiamano dotnet
durante un comando SDK devono usare l'algoritmo seguente per individuarlo:
- se
DOTNET_HOST_PATH
è impostato, usare direttamente tale valore - in caso contrario, basarsi su
dotnet
tramite il sistemaPATH
Nota
DOTNET_HOST_PATH
non è una soluzione generale per l'individuazione dell'host dotnet
. È destinato solo a essere usato dagli strumenti richiamati da .NET SDK.
DOTNET_LAUNCH_PROFILE
Il comando dotnet run imposta questa variabile sul profilo di avvio selezionato.
Dato il file launchSettings.json seguente:
{
"profiles": {
"First": {
"commandName": "Project",
},
"Second": {
"commandName": "Project",
}
}
}
E il file Program.cs seguente:
var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");
Gli scenari seguenti producono l'output illustrato:
Profilo di avvio specificato ed esistente
$ dotnet run --launch-profile First DOTNET_LAUNCH_PROFILE=First
Profilo di avvio non specificato, primo selezionato
$ dotnet run DOTNET_LAUNCH_PROFILE=First
Profilo di avvio specificato ma non esistente
$ dotnet run --launch-profile Third The launch profile "Third" could not be applied. A launch profile with the name 'Third' doesn't exist. DOTNET_LAUNCH_PROFILE=
Avviare senza profilo
$ dotnet run --no-launch-profile DOTNET_LAUNCH_PROFILE=
NUGET_PACKAGES
La cartella dei pacchetti globali. Se non è impostata, il percorso predefinito è ~/.nuget/packages
in Unix o %userprofile%\.nuget\packages
in Windows.
DOTNET_SERVICING
Specifica il percorso dell'indice di manutenzione che l'host condiviso deve usare durante il caricamento del runtime.
DOTNET_NOLOGO
Specifica se i messaggi di benvenuto e telemetria di .NET vengono visualizzati alla prima esecuzione. Impostare su true
per disattivare questi messaggi (valori true
, 1
o yes
accettati) o impostare su false
per consentire tali messaggi (valori false
, 0
o no
accettati). Se non è impostato, il valore predefinito è false
e i messaggi verranno visualizzati alla prima esecuzione. Questo flag non influisce sui dati di telemetria (vedere DOTNET_CLI_TELEMETRY_OPTOUT
per rifiutare esplicitamente l'invio di dati di telemetria).
DOTNET_CLI_PERF_LOG
Specifica se vengono registrati i dettagli sulle prestazioni relativi alla sessione dell'interfaccia della riga di comando corrente. Abilitata quando è impostata su 1
, true
o yes
. Questa opzione è disabilitata per impostazione predefinita.
DOTNET_GENERATE_ASPNET_CERTIFICATE
Specifica se generare un certificato ASP.NET Core. Il valore predefinito è true
, ma può essere sottoposto a override impostando questa variabile di ambiente su 0
, false
o no
.
DOTNET_ADD_GLOBAL_TOOLS_TO_PATH
Specifica se aggiungere strumenti globali alla variabile di ambiente PATH
. Il valore predefinito è true
. Per non aggiungere strumenti globali al percorso, impostare su 0
, false
o no
.
DOTNET_CLI_TELEMETRY_OPTOUT
Specifica se i dati sull'utilizzo degli strumenti .NET vengono raccolti e inviati a Microsoft. Impostare su true
per rifiutare esplicitamente la funzionalità di telemetria (i valori accettati sono true
, 1
o yes
). In caso contrario, impostare su false
per acconsentire esplicitamente alle funzionalità di telemetria (valori false
, 0
o no
accettati). Se non è impostata, il valore predefinito è false
e quindi la funzionalità di telemetria è attiva.
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
Se DOTNET_SKIP_FIRST_TIME_EXPERIENCE
è impostato su true
, NuGetFallbackFolder
non verrà espanso su disco e verrà visualizzato un messaggio di benvenuto e un avviso di telemetria più breve.
Nota
Questa variabile di ambiente non è più supportata in .NET Core 3.0 e versioni successive.
Usare DOTNET_NOLOGO
come sostituzione.
DOTNET_MULTILEVEL_LOOKUP
Specifica se il runtime .NET, il framework condiviso o l'SDK vengono risolti dal percorso globale. Se non è impostato, il valore predefinito è 1 (true
logico). Impostare il valore su 0 (false
logico ) per non risolvere dal percorso globale e disporre di installazioni .NET isolate. Per altre informazioni sulla ricerca multilivello, vedere Multi-level SharedFX Lookup (Ricerca SharedFX multilivello).
Nota
Questa variabile di ambiente si applica solo alle applicazioni destinate a .NET 6 e versioni precedenti. A partire da .NET 7, .NET cerca solo i framework in un'unica posizione. Per altre informazioni, vedere Ricerca a più livelli disabilitata.
DOTNET_ROLL_FORWARD
Determina il comportamento di roll forward. Per altre informazioni, vedere l'opzione --roll-forward
per il comando dotnet
.
DOTNET_ROLL_FORWARD_TO_PRERELEASE
Se impostato su 1
(abilitato), abilita l'inoltro in sequenza a una versione non definitiva da una versione di rilascio. Per impostazione predefinita (0
- disabilitato), quando viene richiesta una versione di rilascio del runtime .NET, il roll forward considererà solo le versioni di rilascio installate.
Per altre informazioni, vedere l'opzione --roll-forward
per il comando dotnet
DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX
Se impostato su 0
, disabilita il roll forward della versione secondaria. Questa impostazione viene sostituita in .NET Core 3.0 da DOTNET_ROLL_FORWARD
. È consigliabile usare invece le nuove impostazioni.
DOTNET_CLI_FORCE_UTF8_ENCODING
Forza l'uso della codifica UTF-8 nella console, anche per le versioni precedenti di Windows 10 che non supportano completamente UTF-8. Per altre informazioni, vedere SDK non modifica più la codifica della console al termine.
DOTNET_CLI_UI_LANGUAGE
Imposta la lingua dell'interfaccia utente dell'interfaccia della riga di comando usando un valore delle impostazioni locali, ad esempio en-us
. I valori supportati sono gli stessi di Visual Studio. Per altre informazioni, vedere la sezione relativa alla modifica del linguaggio del programma di installazione nella documentazione relativa all'installazione di Visual Studio. Si applicano le regole di Gestione risorse .NET, quindi non è necessario scegliere una corrispondenza esatta. È anche possibile selezionare discendenti nell'albero CultureInfo
. Ad esempio, se si imposta su fr-CA
, l'interfaccia della riga di comando troverà e userà le traduzioni fr
. Se si imposta su una lingua non supportata, l'interfaccia della riga di comando torna all'inglese.
DOTNET_DISABLE_GUI_ERRORS
Per i file eseguibili generati dall'interfaccia utente grafica: disabilita il popup della finestra di dialogo, che in genere viene visualizzato per determinate classi di errori. Scrive solo in stderr
e viene chiuso in tali casi.
DOTNET_ADDITIONAL_DEPS
Equivalente all'opzione dell'interfaccia della riga di comando --additional-deps
.
DOTNET_RUNTIME_ID
Esegue l'override del RID rilevato.
DOTNET_SHARED_STORE
Posizione del "negozio condiviso" a cui la risoluzione della assembly fa riferimento in alcuni casi.
DOTNET_STARTUP_HOOKS
Elenco di assembly da cui caricare ed eseguire hook di avvio.
DOTNET_BUNDLE_EXTRACT_BASE_DIR
Specifica una directory in cui viene estratta un'applicazione a file singolo prima dell'esecuzione.
Per altre informazioni, vedere file eseguibili a file singolo.
DOTNET_CLI_HOME
Specifica il percorso in cui devono essere scritti i file di supporto per i comandi dell'interfaccia della riga di comando .NET. Ad esempio:
- Percorsi scrivibili dall'utente per pacchetti di carico di lavoro, manifesti e altri dati di supporto.
- File sentinel/lock di prima esecuzione per aspetti delle migrazioni e delle notifiche dell'interfaccia della riga di comando di .NET.
- Percorso di installazione predefinito dello strumento locale .NET.
DOTNET_CLI_CONTEXT_*
DOTNET_CLI_CONTEXT_VERBOSE
: per abilitare un contesto dettagliato, impostare sutrue
.DOTNET_CLI_CONTEXT_ANSI_PASS_THRU
: per abilitare un pass-through ANSI, impostare sutrue
.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE
Disabilita il download in background dei manifesti pubblicitari per i carichi di lavoro. Il valore predefinito è false
: non disabilitato. Se impostato su true
, il download è disabilitato. Per altre informazioni, vedere Manifesti pubblicitari.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURS
Specifica il numero minimo di ore tra i download in background dei manifesti pubblicitari per i carichi di lavoro. Il valore predefinito è 24
, che non è più frequente di una volta al giorno. Per altre informazioni, vedere Manifesti pubblicitari.
DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
Specifica se gli strumenti locali di .NET SDK cercano i file manifesto dello strumento nella cartella radice in Windows. Il valore predefinito è false
.
COREHOST_TRACE
Controlla la traccia diagnostica dai componenti di hosting, ad esempio dotnet.exe
, hostfxr
e hostpolicy
.
COREHOST_TRACE=[0/1]
- il valore predefinito è0
: traccia disabilitata. Se impostato su1
, la traccia diagnostica è abilitata.COREHOST_TRACEFILE=<file path>
- ha un effetto solo se la traccia è abilitata impostandoCOREHOST_TRACE=1
. Se impostata, le informazioni di traccia sono scritte nel file specificato; in caso contrario, le informazioni di traccia sono scritte instderr
.COREHOST_TRACE_VERBOSITY=[1/2/3/4]
- il valore predefinito è4
. L'impostazione viene usata solo quando la traccia è abilitata tramiteCOREHOST_TRACE=1
.4
- tutte le informazioni di traccia vengono scritte3
- vengono scritti solo messaggi informativi, di avviso e di errore2
- Vengono scritti solo messaggi di avviso e di errore1
- Vengono scritti solo i messaggi di errore
Il modo tipico per ottenere informazioni di traccia dettagliate sull'avvio dell'applicazione consiste nell'impostare COREHOST_TRACE=1
e COREHOST_TRACEFILE=host_trace.txt
, e poi eseguire l'applicazione. Verrà creato un nuovo file host_trace.txt
nella directory corrente con le informazioni dettagliate.
SuppressNETCoreSdkPreviewMessage
Se impostato su true
, la chiamata dotnet
non genera un avviso quando viene usato un SDK di anteprima.
Configurare MSBuild nell'interfaccia della riga di comando di .NET
Per eseguire MSBuild out-of-process, impostare la variabile di ambiente DOTNET_CLI_RUN_MSBUILD_OUTOFPROC
su 1
, true
o yes
. Per impostazione predefinita, MSBuild eseguirà in-process. Per forzare MSBuild a usare un processo di lunga durata del nodo di lavoro esterno per la compilazione di progetti, impostare DOTNET_CLI_USE_MSBUILDNOINPROCNODE
su 1
, true
o yes
. Verrà impostata la variabile di ambiente MSBUILDNOINPROCNODE
su 1
, denominata MSBuild Server V1, perché il processo di ingresso inoltra la maggior parte del lavoro.
DOTNET_MSBUILD_SDK_RESOLVER_*
Si tratta di sostituzioni usate per forzare le attività e le destinazioni dell'SDK risolte a provenire da una determinata directory di base e segnalare una determinata versione a MSBuild, che può essere null
se sconosciuta. Un caso d'uso chiave per questo è testare le attività e le destinazioni dell'SDK senza distribuirle usando .NET Core SDK.
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR
: esegue l'override della directory .NET SDK.DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER
: esegue l'override della versione di .NET SDK.DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR
: esegue l'override del percorso della directory dotnet.exe.
DOTNET_NEW_PREFERRED_LANG
Configura il linguaggio di programmazione predefinito per il comando dotnet new
quando l'opzione -lang|--language
viene omessa. Il valore predefinito è C#
. I valori validi sono C#
, F#
o VB
. Per altre informazioni, vedere dotnet new.
variabili di ambiente dotnet watch
Per informazioni sulle impostazioni di dotnet watch
disponibili come variabili di ambiente, vedere variabili di ambiente dotnet watch.
Vedi anche
- comando dotnet
- Runtime Configuration Files (File di configurazione di runtime)
- impostazioni di configurazione del runtime .NET