Bagikan melalui


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 atau 0, menonaktifkan dukungan HTTP/2, yang diaktifkan secara default.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
    • Saat diatur ke true atau 1, menonaktifkan dukungan HTTP/3, yang diaktifkan secara default.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
    • Saat diatur ke false atau 0, mengambil alih default dan menonaktifkan algoritma penskalakan jendela dinamis HTTP/2.
  • 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:

  1. Dalam file proyek:

    <PropertyGroup>
        <InvariantGlobalization>true</InvariantGlobalization>
    </PropertyGroup>
    
  2. Dalam file runtimeconfig.json:

    {
        "runtimeOptions": {
            "configProperties": {
                "System.Globalization.Invariant": true
            }
        }
    }
    
  3. Dengan mengatur nilai variabel lingkungan DOTNET_SYSTEM_GLOBALIZATION_INVARIANT ke true atau 1.

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:

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_DEFAULTACTIVITYIDFORMATISHIERARCHIAL: Saat 1 atau true, format Id Aktivitas default bersifat hierarkis.
  • DOTNET_SYSTEM_RUNTIME_CACHING_TRACING: Saat berjalan sebagai Debug, pelacakan dapat diaktifkan ketika ini adalah true.

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 ke 1, memungkinkan pelacakan melalui EventPipe.
  • DOTNET_EventPipeOutputPath: Jalur output tempat jejak akan ditulis.
  • DOTNET_EventPipeOutputStreaming: Saat diatur ke 1, 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:

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 sistem PATH

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.

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, , 0atau 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 ke true.
  • DOTNET_CLI_CONTEXT_ANSI_PASS_THRU: Untuk mengaktifkan lintasan ANSI, atur ke true.

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 adalah 0 - pelacakan dinonaktifkan. Jika diatur ke 1, pelacakan diagnostik diaktifkan.

  • COREHOST_TRACEFILE=<file path> - memiliki efek hanya jika pelacakan diaktifkan dengan mengatur COREHOST_TRACE=1. Jika diatur, informasi pelacakan ditulis ke file yang ditentukan; jika tidak, informasi jejak ditulis ke stderr.

  • COREHOST_TRACE_VERBOSITY=[1/2/3/4] - defaultnya adalah 4. Pengaturan ini hanya digunakan saat pelacakan diaktifkan melalui COREHOST_TRACE=1.

    • 4 - semua informasi pelacakan ditulis
    • 3 - hanya pesan informasi, peringatan, dan kesalahan yang ditulis
    • 2 - hanya pesan peringatan dan kesalahan yang ditulis
    • 1 - 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.

Lihat juga