Variabel lingkungan CL
Artikel ini berlaku untuk: ✔️ .NET Core 3.1 SDK dan versi yang lebih baru
Dalam artikel ini, Anda akan mempelajari tentang variabel lingkungan yang digunakan oleh .NET. Beberapa variabel lingkungan digunakan oleh runtime .NET, sementara yang lain hanya digunakan oleh .NET SDK dan .NET CLI. Beberapa variabel lingkungan digunakan oleh ketiga komponen.
Variabel lingkungan runtime .NET
DOTNET_SYSTEM_NET_HTTP_*
Ada beberapa pengaturan variabel lingkungan HTTP global:
DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION
- Menunjukkan apakah akan mengaktifkan penyebaran aktivitas handler diagnostik untuk pengaturan HTTP global atau tidak.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT
- Saat diatur ke
false
atau0
, menonaktifkan dukungan HTTP/2, yang diaktifkan secara default.
- Saat diatur ke
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
- Saat diatur ke
true
atau1
, menonaktifkan dukungan HTTP/3, yang diaktifkan secara default.
- Saat diatur ke
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
- Saat diatur ke
false
atau0
, mengambil alih default dan menonaktifkan algoritma penskalakan jendela dinamis HTTP/2.
- Saat diatur ke
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE
- Men-default-kan ke 16 MB. Jika ditimpa, ukuran maksimum jendela penerima aliran HTTP/2 tidak boleh kurang dari 65.535.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER
- Default ke 1.0. Jika ditimpa, nilai yang lebih tinggi menghasilkan jendela yang lebih pendek tetapi unduhan menjadi lebih lambat. Tidak boleh kurang dari 0.
DOTNET_SYSTEM_GLOBALIZATION_*
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
: Lihat mengatur mode invarian.DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY
: Menentukan apakah hanya akan memuat budaya yang telah ditentukan.DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU
: Menunjukkan apakah akan menggunakan Komponen Internasional Unicode ( ICU) lokal aplikasi. Untuk informasi selengkapnya, lihat ICU lokal-aplikasi.
Atur mode invarian
Aplikasi dapat mengaktifkan mode invarian dengan salah satu cara berikut:
Dalam file proyek:
<PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup>
Dalam file runtimeconfig.json:
{ "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }
Dengan mengatur nilai variabel lingkungan
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
ketrue
atau1
.
Penting
Nilai yang ditetapkan dalam file proyek atau runtimeconfig.json memiliki prioritas yang lebih tinggi daripada variabel lingkungan.
Untuk informasi selengkapnya, lihat Mode Invarian Globalisasi .NET.
DOTNET_SYSTEM_GLOBALIZATION_USENLS
Ini hanya berlaku untuk Windows. Untuk globalisasi menggunakan Dukungan Bahasa Nasional (National Language Support atau NLS), atur DOTNET_SYSTEM_GLOBALIZATION_USENLS
ke true
atau 1
. Untuk tidak menggunakannya, atur DOTNET_SYSTEM_GLOBALIZATION_USENLS
ke false
atau 0
.
DOTNET_SYSTEM_NET_SOCKETS_*
Bagian ini berfokus pada dua variabel System.Net.Sockets
lingkungan:
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
Kelanjutan soket dikirim ke System.Threading.ThreadPool dari utas peristiwa. Ini menghindari kelanjutan yang memblokir penanganan peristiwa. Untuk memungkinkan kelanjutan berjalan langsung di utas peristiwa, atur DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
ke 1
. Ini dinonaktifkan secara default.
Catatan
Pengaturan ini dapat memperburuk performa jika ada pekerjaan mahal yang akhirnya akan disimpan ke utas IO lebih lama dari yang diperlukan. Pengujian untuk memastikan pengaturan ini membantu performa.
Menggunakan tolok ukur TechEmpower yang menghasilkan banyak baca dan tulis soket kecil di bawah beban yang sangat tinggi, satu mesin soket mampu menjaga kesibukan hingga tiga puluh x64 dan delapan inti CPU Arm64. Sebagian besar skenario kehidupan-nyata tidak akan pernah menghasilkan beban yang begitu besar (ratusan ribu permintaan per detik), dan memiliki satu produser tunggal hampir selalu memadai. Namun, untuk memastikan bahwa beban ekstrem dapat ditangani, Anda dapat menggunakan DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
untuk mengambil alih nilai terhitung. Saat tidak ditimpa, nilai berikut digunakan:
- Ketika
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
adalah1
, nilai Environment.ProcessorCount digunakan. - Ketika
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
tidak1
, RuntimeInformation.ProcessArchitecture dievaluasi:- Ketika Arm atau Arm64, core per nilai mesin diatur ke
8
, jika tidak30
.
- Ketika Arm atau Arm64, core per nilai mesin diatur ke
- Menggunakan inti yang ditentukan per mesin, nilai maksimum baik dari
1
atau Environment.ProcessorCount melebihi inti per mesin.
DOTNET_SYSTEM_NET_DISABLEIPV6
Membantu menentukan apakah Protokol Internet versi 6 (IPv6) dinonaktifkan atau tidak. Ketika diatur ke true
atau 1
, IPv6 dinonaktifkan kecuali ditentukan lain dalam System.AppContext.
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
Anda dapat menggunakan salah satu mekanisme berikut untuk mengonfigurasi proses untuk menggunakan HttpClientHandler
yang lebih lama:
Dari kode, gunakan kelas AppContext
:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
Sakelar AppContext
juga dapat diatur oleh file konfigurasi. Untuk informasi selengkapnya tentang mengonfigurasi sakelar, lihat AppContext untuk konsumen pustaka.
Hal yang sama dapat dicapai melalui variabel lingkungan DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
. Untuk menolak, atur nilai ke false
atau 0
.
Catatan
Mulai dari .NET 5, pengaturan yang menggunakan HttpClientHandlerini tidak lagi tersedia.
DOTNET_Jit*
dan DOTNET_GC*
Ada dua fitur terkait-stressing untuk JIT dan informasi GC yang dihasilkan-JIT: Stres JIT dan Stres Lubang GC. Fitur-fitur ini menyediakan cara selama pengembangan untuk menemukan kasus tepi dan skenario yang lebih "dunia nyata" tanpa harus mengembangkan aplikasi yang kompleks. Variabel lingkungan berikut tersedia:
DOTNET_JitStress
DOTNET_JitStressModeNamesOnly
DOTNET_GCStress
Stres JIT
Mengaktifkan Stres JIT dapat dilakukan dengan beberapa cara. Atur DOTNET_JitStress
ke nilai bilangan bulat bukan nol untuk menghasilkan berbagai tingkat pengoptimalan JIT berdasarkan hash nama metode. Untuk menerapkan semua pengoptimalan yang ditetapkan DOTNET_JitStress=2
, misalnya. Cara lain untuk mengaktifkan Stres JIT adalah dengan mengatur DOTNET_JitStressModeNamesOnly=1
dan kemudian meminta mode stres, dibatasi ruang, dalam variabel DOTNET_JitStressModeNames
.
Sebagai contoh, pertimbangkan:
DOTNET_JitStressModeNames=STRESS_USE_CMOV STRESS_64RSLT_MUL STRESS_LCL_FLDS
Stres Lubang GC
Mengaktifkan Stres Lubang GC menyebabkan GC selalu terjadi di lokasi tertentu dan yang membantu melacak lubang GC. Stres Lubang GC dapat diaktifkan menggunakan variabel lingkungan DOTNET_GCStress
.
Untuk informasi selengkapnya, lihat Menyelidiki Stres Lubang JIT dan GC.
Penghalang memori JIT
Generator kode untuk Arm64 memungkinkan semua MemoryBarriers
instruksi dihapus dengan mengatur DOTNET_JitNoMemoryBarriers
ke 1
.
DOTNET_RUNNING_IN_CONTAINER
dan DOTNET_RUNNING_IN_CONTAINERS
Gambar .NET resmi (Windows dan Linux) mengatur variabel lingkungan terkenal:
DOTNET_RUNNING_IN_CONTAINER
DOTNET_RUNNING_IN_CONTAINERS
Nilai-nilai ini digunakan untuk menentukan kapan beban kerja ASP.NET Core Anda berjalan dalam konteks kontainer.
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
Ketika Console.IsOutputRedirected adalah true
, Anda dapat memancarkan kode warna ANSI dengan mengatur DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
ke 1
atau true
.
DOTNET_SYSTEM_DIAGNOSTICS
dan variabel terkait
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL
: Saat1
atautrue
, format Id Aktivitas default bersifat hierarkis.DOTNET_SYSTEM_RUNTIME_CACHING_TRACING
: Saat berjalan sebagai Debug, pelacakan dapat diaktifkan ketika ini adalahtrue
.
DOTNET_DiagnosticPorts
Mengonfigurasi titik akhir alternatif di mana alat diagnostik dapat berkomunikasi dengan runtime .NET. Lihat dokumentasi Port Diagnostik untuk informasi selengkapnya.
DOTNET_DefaultDiagnosticPortSuspend
Mengonfigurasi runtime untuk menjeda selama startup dan menunggu perintah ResumeStartup IPC Diagnostik dari port diagnostik yang ditentukan saat diatur ke 1. Default ke 0. Lihat dokumentasi Port Diagnostik untuk informasi selengkapnya.
DOTNET_EnableDiagnostics
Saat diatur ke 0
, menonaktifkan penelusuran kesalahan, pembuatan profil, dan diagnostik lainnya melalui Port Diagnostik dan tidak dapat ditimpa oleh pengaturan diagnostik lainnya. Default ke 1
.
DOTNET_EnableDiagnostics_IPC
Dimulai dengan .NET 8, saat diatur ke 0
, menonaktifkan Port Diagnostik dan tidak dapat ditimpa oleh pengaturan diagnostik lainnya. Default ke 1
.
DOTNET_EnableDiagnostics_Debugger
Dimulai dengan .NET 8, saat diatur ke 0
, menonaktifkan penelusuran kesalahan dan tidak dapat ditimpa oleh pengaturan diagnostik lainnya. Default ke 1
.
DOTNET_EnableDiagnostics_Profiler
Dimulai dengan .NET 8, saat diatur ke 0
, menonaktifkan pembuatan profil dan tidak dapat ditimpa oleh pengaturan diagnostik lainnya. Default ke 1
.
Variabel EventPipe
Lihat Variabel lingkungan EventPipe untuk informasi selengkapnya.
DOTNET_EnableEventPipe
: Saat diatur ke1
, memungkinkan pelacakan melalui EventPipe.DOTNET_EventPipeOutputPath
: Jalur output tempat jejak akan ditulis.DOTNET_EventPipeOutputStreaming
: Saat diatur ke1
, memungkinkan streaming ke file output saat aplikasi sedang berjalan. Secara default informasi pelacakan diakumulasikan dalam buffer melingkar dan kontennya ditulis pada saat penutupan aplikasi.
Variabel lingkungan .NET SDK dan CLI
DOTNET_ROOT
, , DOTNET_ROOT(x86)
DOTNET_ROOT_X86
,DOTNET_ROOT_X64
Menentukan lokasi runtime .NET, jika tidak diinstal di lokasi default. Lokasi default pada Windows adalah C:\Program Files\dotnet
. Lokasi default di macOS adalah /usr/local/share/dotnet
. Lokasi default untuk runtime x64 pada OS arm64 berada di bawah subfolder x64 (demikian juga C:\Program Files\dotnet\x64
pada jendela dan /usr/local/share/dotnet/x64
di macOS. Lokasi default di Linux bervariasi tergantung pada distro dan metode angsuran. Lokasi default pada Ubuntu 22.04 adalah /usr/share/dotnet
(ketika diinstal dari packages.microsoft.com
) atau /usr/lib/dotnet
(ketika diinstal dari umpan Jammy). Untuk informasi selengkapnya, lihat sumber daya berikut:
- Memecahkan masalah kegagalan peluncuran aplikasi
- Masalah GitHub dotnet/core#7699
- Masalah GitHub dotnet/runtime#79237
Variabel lingkungan ini hanya digunakan saat menjalankan aplikasi melalui aplikasi hasil yang dapat dijalankan (apphost). DOTNET_ROOT(x86)
digunakan sebagai gantinya saat menjalankan aplikasi 32-bit yang bisa berjalan pada OS 64-bit. DOTNET_ROOT_X64
digunakan sebagai gantinya saat menjalankan executable 64-bit pada OS ARM64.
DOTNET_HOST_PATH
Menentukan jalur absolut ke dotnet
host (dotnet.exe
di Windows, dotnet
di Linux dan macOS) yang digunakan untuk meluncurkan proses yang sedang berjalan dotnet
. Ini digunakan oleh .NET SDK untuk membantu alat yang berjalan selama perintah .NET SDK memastikan mereka menggunakan runtime yang sama dotnet
untuk proses anak dotnet
apa pun yang mereka buat selama durasi perintah. Alat dan Tugas MSBuild dalam SDK yang memanggil biner melalui dotnet
host diharapkan untuk menghormati variabel lingkungan ini untuk memastikan pengalaman yang konsisten.
Alat yang dipanggil dotnet
selama perintah SDK harus menggunakan algoritma berikut untuk menemukannya:
- jika
DOTNET_HOST_PATH
diatur, gunakan nilai tersebut secara langsung - jika tidak, mengandalkan
dotnet
melalui sistemPATH
Catatan
DOTNET_HOST_PATH
bukan solusi umum untuk menemukan dotnet
host. Ini hanya dimaksudkan untuk digunakan oleh alat yang dipanggil oleh .NET SDK.
DOTNET_LAUNCH_PROFILE
Perintah dotnet run mengatur variabel ini ke profil peluncuran yang dipilih.
Mengingat file launchSettings.json berikut:
{
"profiles": {
"First": {
"commandName": "Project",
},
"Second": {
"commandName": "Project",
}
}
}
Dan file Program.cs berikut:
var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");
Skenario berikut menghasilkan output yang ditunjukkan:
Luncurkan profil yang ditentukan dan ada
$ dotnet run --launch-profile First DOTNET_LAUNCH_PROFILE=First
Luncurkan profil tidak ditentukan, pertama dipilih
$ dotnet run DOTNET_LAUNCH_PROFILE=First
Luncurkan profil yang ditentukan tetapi tidak ada
$ 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=
Luncurkan tanpa profil
$ dotnet run --no-launch-profile DOTNET_LAUNCH_PROFILE=
NUGET_PACKAGES
Folder paket global. Jika tidak diatur, defaultnya ke ~/.nuget/packages
di Unix atau %userprofile%\.nuget\packages
di Windows.
DOTNET_SERVICING
Menentukan lokasi indeks layanan yang akan digunakan oleh host bersama saat memuat runtime.
DOTNET_NOLOGO
Menentukan apakah pesan selamat datang dan telemetri .NET ditampilkan pada eksekusi pertama. Atur ke true
untuk mematikan pesan suara ini (nilai true
, 1
, atau yes
diterima) atau atur ke false
untuk mengizinkannya (nilai false
, 0
, atau no
diterima). Jika tidak diatur, defaultnya adalah false
dan pesan akan ditampilkan pada eksekusi pertama. Bendera ini tidak memengaruhi telemetri (lihat DOTNET_CLI_TELEMETRY_OPTOUT
untuk memilih tidak mengirim telemetri).
DOTNET_CLI_PERF_LOG
Menentukan apakah detail performa tentang sesi CLI saat ini dicatat. Diaktifkan saat diatur ke 1
, true
, atau yes
. Opsi ini dinonaktifkan secara default.
DOTNET_GENERATE_ASPNET_CERTIFICATE
Menentukan apakah akan membuat sertifikat ASP.NET Core. Nilai defaultnya adalah true
, tetapi ini dapat ditimpa dengan mengatur variabel lingkungan ini ke 0
, false
, atau no
.
DOTNET_ADD_GLOBAL_TOOLS_TO_PATH
Menentukan apakah akan menambahkan alat global ke variabel lingkungan PATH
. Default adalah true
. Untuk tidak menambahkan alat global ke jalur, atur ke 0
, false
, atau no
.
DOTNET_CLI_TELEMETRY_OPTOUT
Menentukan apakah data tentang penggunaan alat .NET dikumpulkan dan dikirim ke Microsoft. Atur ke true
untuk tidak memilih fitur telemetri (nilai true
, 1
, atau yes
diterima). Jika tidak, atur ke false
untuk ikut serta dalam fitur telemetri (nilai false
, , 0
atau no
diterima). Jika tidak diatur, defaultnya adalah false
dan fitur telemetri aktif.
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
Jika DOTNET_SKIP_FIRST_TIME_EXPERIENCE
diatur ke true
, NuGetFallbackFolder
tidak akan diperluas ke disk dan pesan selamat datang yang lebih singkat dan pemberitahuan telemetri akan ditampilkan.
Catatan
Variabel lingkungan ini tidak lagi didukung di .NET Core 3.0 dan yang lebih baru.
Gunakan DOTNET_NOLOGO
sebagai pengganti.
DOTNET_MULTILEVEL_LOOKUP
Menentukan apakah runtime .NET, kerangka kerja bersama, atau SDK diselesaikan dari lokasi global. Jika tidak diatur, defaultnya ke 1 (true
logis). Atur nilai ke 0 (false
logis) agar tidak diselesaikan dari lokasi global dan telah mengisolasi penginstalan .NET. Untuk informasi selengkapnya tentang pencarian multi-tingkat, lihat Pencarian SharedFX Multi-level.
Catatan
Variabel lingkungan ini hanya berlaku untuk aplikasi yang menargetkan .NET 6 dan versi yang lebih lama. Mulai dari .NET 7, .NET hanya mencari kerangka kerja di satu lokasi. Untuk informasi selengkapnya, lihat Pencarian multi-tingkat dinonaktifkan.
DOTNET_ROLL_FORWARD
Menentukan perilaku roll forward. Untuk informasi selengkapnya, lihat --roll-forward
opsi untuk dotnet
perintah .
DOTNET_ROLL_FORWARD_TO_PRERELEASE
Jika diatur ke 1
(diaktifkan), memungkinkan penerusan bergulir ke versi pra-rilis dari versi rilis. Secara default (0
- dinonaktifkan), ketika versi rilis runtime .NET diminta, roll-forward hanya akan mempertimbangkan versi rilis yang diinstal.
Untuk informasi selengkapnya, lihat --roll-forward
opsi untuk dotnet
perintah
DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX
Menonaktifkan roll forward versi minor, jika diatur ke 0
. Pengaturan ini digantikan dalam .NET Core 3.0 oleh DOTNET_ROLL_FORWARD
. Pengaturan baru harus digunakan sebagai gantinya.
DOTNET_CLI_FORCE_UTF8_ENCODING
Memaksa penggunaan pengodean UTF-8 di konsol, bahkan untuk versi Windows 10 yang lebih lama yang tidak sepenuhnya mendukung UTF-8. Untuk informasi selengkapnya, lihat SDK tidak lagi mengubah pengodean konsol setelah selesai.
DOTNET_CLI_UI_LANGUAGE
Mengatur bahasa UI CLI menggunakan nilai lokal seperti en-us
. Nilai yang didukung sama dengan untuk Visual Studio. Untuk informasi selengkapnya, lihat bagian tentang mengubah bahasa penginstal dalam dokumentasi penginstalan Visual Studio. Aturan .NET resource manager berlaku, sehingga Anda tidak perlu memilih kecocokan yang tepat—Anda juga dapat memilih turunan di pohon CultureInfo
. Misalnya, jika Anda mengaturnya ke fr-CA
, CLI akan menemukan dan menggunakan terjemahan fr
. Jika Anda mengaturnya ke bahasa yang tidak didukung, CLI akan kembali ke bahasa Inggris.
DOTNET_DISABLE_GUI_ERRORS
Untuk executable yang dihasilkan yang didukung GUI - menonaktifkan popup dialog, yang biasanya ditampilkan untuk kelas kesalahan tertentu. Ini hanya menulis ke stderr
dan keluar dalam kasus-kasus tersebut.
DOTNET_ADDITIONAL_DEPS
Setara dengan opsi CLI --additional-deps
.
DOTNET_RUNTIME_ID
Mengambil alih RID yang terdeteksi.
DOTNET_SHARED_STORE
Lokasi "penyimpanan bersama" tempat resolusi rakitan kembali dalam beberapa kasus.
DOTNET_STARTUP_HOOKS
Daftar rakitan untuk memuat dan menjalankan pengait startup.
DOTNET_BUNDLE_EXTRACT_BASE_DIR
Menentukan direktori tempat aplikasi file-tunggal diekstrak sebelum dijalankan.
Untuk informasi selengkapnya, lihat Executable file tunggal.
DOTNET_CLI_HOME
Menentukan lokasi tempat file pendukung untuk perintah .NET CLI harus ditulis. Contohnya:
- Jalur yang dapat ditulis pengguna untuk paket beban kerja, manifes, dan data pendukung lainnya.
- File sentinel/kunci yang dijalankan pertama untuk aspek migrasi dan pengalaman pemberitahuan .NET CLI yang dijalankan pertama kali.
- Lokasi penginstalan alat lokal .NET default.
DOTNET_CLI_CONTEXT_*
DOTNET_CLI_CONTEXT_VERBOSE
: Untuk mengaktifkan konteks verbose, atur ketrue
.DOTNET_CLI_CONTEXT_ANSI_PASS_THRU
: Untuk mengaktifkan lintasan ANSI, atur ketrue
.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE
Menonaktifkan pengunduhan latar belakang manifes iklan untuk beban kerja. Defaultnya adalah false
- tidak dinonaktifkan. Jika diatur ke true
, pengunduhan dinonaktifkan. Untuk informasi selengkapnya, lihat Manifes iklan.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURS
Menentukan jumlah jam minimum antar unduhan latar belakang manifes iklan untuk beban kerja. Defaultnya adalah 24
, yang tidak lebih sering daripada sekali sehari. Untuk informasi selengkapnya, lihat Manifes iklan.
DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
Menentukan apakah alat lokal .NET SDK mencari file manifes alat di folder akar di Windows. Default adalah false
.
COREHOST_TRACE
Mengontrol pelacakan diagnostik dari komponen hosting, seperti dotnet.exe
, hostfxr
, dan hostpolicy
.
COREHOST_TRACE=[0/1]
- defaultnya adalah0
- pelacakan dinonaktifkan. Jika diatur ke1
, pelacakan diagnostik diaktifkan.COREHOST_TRACEFILE=<file path>
- memiliki efek hanya jika pelacakan diaktifkan dengan mengaturCOREHOST_TRACE=1
. Jika diatur, informasi pelacakan ditulis ke file yang ditentukan; jika tidak, informasi jejak ditulis kestderr
.COREHOST_TRACE_VERBOSITY=[1/2/3/4]
- defaultnya adalah4
. Pengaturan ini hanya digunakan saat pelacakan diaktifkan melaluiCOREHOST_TRACE=1
.4
- semua informasi pelacakan ditulis3
- hanya pesan informasi, peringatan, dan kesalahan yang ditulis2
- hanya pesan peringatan dan kesalahan yang ditulis1
- hanya pesan kesalahan yang ditulis
Cara umum untuk mendapatkan informasi pelacakan terperinci tentang startup aplikasi adalah dengan mengatur COREHOST_TRACE=1
danCOREHOST_TRACEFILE=host_trace.txt
kemudian menjalankan aplikasi tersebut. File baru host_trace.txt
akan dibuat di direktori saat ini dengan informasi terperinci.
SuppressNETCoreSdkPreviewMessage
Jika diatur ke true
, pemanggilan dotnet
tidak akan menghasilkan peringatan saat SDK pratinjau sedang digunakan.
Mengonfigurasi MSBuild di .NET CLI
Untuk menjalankan MSBuild di luar proses, atur DOTNET_CLI_RUN_MSBUILD_OUTOFPROC
variabel lingkungan ke 1
, true
, atau yes
. Secara default, MSBuild akan menjalankan in-proc. Untuk memaksa MSBuild menggunakan proses jangka panjang simpul kerja eksternal untuk membangun proyek, atur DOTNET_CLI_USE_MSBUILDNOINPROCNODE
ke 1
, true
, atau yes
. Ini akan mengatur variabel lingkungan MSBUILDNOINPROCNODE
ke 1
, yang disebut sebagai MSBuild Server V1, karena proses entri meneruskan sebagian besar pekerjaan ke dalamnya.
DOTNET_MSBUILD_SDK_RESOLVER_*
Ini adalah penimpaan yang digunakan untuk memaksa tugas dan target SDK yang diselesaikan berasal dari direktori dasar tertentu dan melaporkan versi tertentu ke MSBuild, yang mungkin null
jika tidak diketahui. Satu kasus penggunaan utama untuk ini adalah menguji tugas dan target SDK tanpa menyebarkannya dengan menggunakan .NET Core SDK.
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR
: Mengambil alih direktori .NET SDK.DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER
: Mengambil alih versi .NET SDK.DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR
: Mengambil alih jalur direktori dotnet.exe.
DOTNET_NEW_PREFERRED_LANG
Mengonfigurasi bahasa pemrograman default untuk perintah dotnet new
saat sakelar -lang|--language
dihilangkan. Nilai defaultnya adalah C#
. Nilai yang valid adalah C#
, F#
, atau VB
. Untuk informasi selengkapnya, lihat dotnet new.
variabel lingkungan dotnet watch
Untuk informasi tentang pengaturan dotnet watch
yang tersedia sebagai variabel lingkungan, lihat variabel lingkungan pengawasan dotnet.