.NET ortam değişkenleri

Bu makale şunlar için geçerlidir: ✔️ .NET Core 3.1 SDK ve sonraki sürümler

Bu makalede, .NET tarafından kullanılan ortam değişkenleri hakkında bilgi edineceksiniz. Bazı ortam değişkenleri .NET çalışma zamanı tarafından kullanılırken, diğerleri yalnızca .NET SDK ve .NET CLI tarafından kullanılır. Bazı ortam değişkenleri üç bileşen tarafından da kullanılır.

.NET çalışma zamanı ortam değişkenleri

DOTNET_SYSTEM_NET_HTTP_*

Çeşitli genel HTTP ortam değişkeni ayarları vardır:

  • DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION
    • Genel HTTP ayarları için tanılama işleyicisinin etkinlik yayılmasının etkinleştirilip etkinleştirilmeymeyeceğini gösterir.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT
    • veya 0olarak ayarlandığındafalse, varsayılan olarak etkin olan HTTP/2 desteğini devre dışı bırakır.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
    • veya 1olarak ayarlandığındatrue, varsayılan olarak devre dışı bırakılan HTTP/3 desteğini etkinleştirir.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
    • veya 0olarak false ayarlandığında, varsayılanı geçersiz kılar ve HTTP/2 dinamik pencere ölçeklendirme algoritmasını devre dışı bırakır.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE
    • Varsayılan değer 16 MB'tır. Geçersiz kılındığında, HTTP/2 akış alma penceresinin en büyük boyutu 65.535'ten küçük olamaz.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER
    • Varsayılan değer 1.0'dır. Geçersiz kılındığında, daha yüksek değerler daha kısa bir pencereyle sonuçlanır ancak indirmeler daha yavaş olur. 0'dan az olamaz.

DOTNET_SYSTEM_GLOBALIZATION_*

  • DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: Bkz . sabit modu ayarlama.
  • DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY: Yalnızca önceden tanımlanmış kültürlerin yüklenip yüklenmeyeceğini belirtir.
  • DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU: Uygulama yerel Uluslararası Unicode Bileşenlerinin (ICU) kullanılıp kullanılmayacağını gösterir. Daha fazla bilgi için bkz . Uygulama yerel ICU.

Sabit modu ayarlama

Uygulamalar sabit modu aşağıdaki yollardan herhangi biriyle etkinleştirebilir:

  1. Proje dosyasında:

    <PropertyGroup>
        <InvariantGlobalization>true</InvariantGlobalization>
    </PropertyGroup>
    
  2. runtimeconfig.json dosyasında:

    {
        "runtimeOptions": {
            "configProperties": {
                "System.Globalization.Invariant": true
            }
        }
    }
    
  3. Ortam değişkeni değerini DOTNET_SYSTEM_GLOBALIZATION_INVARIANT veya 1olarak true ayarlayarak.

Önemli

Proje dosyasında veya runtimeconfig.json ayarlanan bir değer, ortam değişkeninden daha yüksek önceliğe sahiptir.

Daha fazla bilgi için bkz . .NET Genelleştirme Sabit Modu.

DOTNET_SYSTEM_GLOBALIZATION_USENLS

Bu yalnızca Windows için geçerlidir. Genelleştirmenin Ulusal Dil Desteği 'ni (NLS) kullanması için veya 1olarak true ayarlayınDOTNET_SYSTEM_GLOBALIZATION_USENLS. Kullanmamak için veya 0olarak false ayarlayınDOTNET_SYSTEM_GLOBALIZATION_USENLS.

DOTNET_SYSTEM_NET_SOCKETS_*

Bu bölüm iki System.Net.Sockets ortam değişkenine odaklanır:

  • DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
  • DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT

Yuva devamlılıkları, olay iş parçacığından öğesine System.Threading.ThreadPool gönderilir. Bu, olay işlemeyi engelleyen devamlılıkları önler. Devamlılıkların doğrudan olay iş parçacığında çalışmasına izin vermek için olarak 1ayarlayınDOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS. Varsayılan olarak devre dışıdır.

Not

GÇ iş parçacığını gerekenden daha uzun süre tutabilecek pahalı işler varsa bu ayar performansı kötüleştirebilir. Bu ayarın performansa yardımcı olduğundan emin olmak için test edin.

Çok yüksek bir yük altında çok sayıda küçük yuva okuma ve yazma işlemi oluşturan TechEmpower karşılaştırmalarını kullanarak, tek bir yuva motoru otuz x64 ve sekiz Arm64 CPU çekirdeğine kadar meşgul olabilir. Gerçek hayattaki senaryoların büyük çoğunluğu hiçbir zaman böyle büyük bir yük oluşturmaz (saniyede yüz binlerce istek) ve tek bir üreticiye sahip olmak neredeyse her zaman yeterlidir. Ancak, aşırı yüklerin işlenebildiğinden emin olmak için, hesaplanan değeri geçersiz kılmak için kullanabilirsiniz DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT . Geçersiz kılınmadığında aşağıdaki değer kullanılır:

  • olduğunda DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS 1Environment.ProcessorCount, değeri kullanılır.
  • 1RuntimeInformation.ProcessArchitecture olmadığında DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS değerlendirilir:
    • Arm veya Arm64 olduğunda, motor başına çekirdek değeri olarak 8ayarlanır, aksi takdirde 30.
  • Altyapı başına belirlenen çekirdekleri kullanarak, altyapı başına çekirdeklerden birinin 1 veya Environment.ProcessorCount üzerinde maksimum değerin kullanılması.

DOTNET_SYSTEM_NET_DISABLEIPV6

İnternet Protokolü sürüm 6'nın (IPv6) devre dışı bırakılıp bırakılmadığını belirlemeye yardımcı olur. veya 1olarak true ayarlandığında, içinde System.AppContextaksi belirtilmedikçe IPv6 devre dışı bırakılır.

DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER

Bir işlemi eskisini HttpClientHandlerkullanacak şekilde yapılandırmak için aşağıdaki mekanizmalardan birini kullanabilirsiniz:

Koddan sınıfını AppContext kullanın:

AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);

Anahtar AppContext , bir yapılandırma dosyası tarafından da ayarlanabilir. Anahtarları yapılandırma hakkında daha fazla bilgi için bkz . Kitaplık tüketicileri için AppContext.

Aynı şey, ortam değişkeni DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLERaracılığıyla da elde edilebilir. Geri çevirmek için değeri veya 0olarak false ayarlayın.

Not

.NET 5'den başlayarak, kullanılacak HttpClientHandler bu ayar artık kullanılamaz.

DOTNET_Jit* ve DOTNET_GC*

JIT ve JIT tarafından oluşturulan GC bilgileri için stresle ilgili iki özellik vardır: JIT Stresi ve GC Delik Stresi. Bu özellikler, geliştirme sırasında karmaşık uygulamalar geliştirmek zorunda kalmadan uç durumları ve daha fazla "gerçek dünya" senaryolarını keşfetmek için bir yol sağlar. Aşağıdaki ortam değişkenleri kullanılabilir:

  • DOTNET_JitStress
  • DOTNET_JitStressModeNamesOnly
  • DOTNET_GCStress

JIT stresi

JIT Stresi'nin etkinleştirilmesi çeşitli yollarla yapılabilir. Yöntemin adının karmasını temel alan farklı düzeylerde JIT iyileştirmeleri oluşturmak için sıfır olmayan bir tamsayı değerine ayarlayın DOTNET_JitStress . Tüm iyileştirmeler kümesini DOTNET_JitStress=2uygulamak için, örneğin. JIT Stresini etkinleştirmenin bir diğer yolu da değişkende DOTNET_JitStressModeNames boşlukla ayrılmış stres modlarını ayarlayıp DOTNET_JitStressModeNamesOnly=1 istemektir.

Örnek olarak şunları göz önünde bulundurun:

DOTNET_JitStressModeNames=STRESS_USE_CMOV STRESS_64RSLT_MUL STRESS_LCL_FLDS

GC Delik stresi

GC Delik Stresi'nin etkinleştirilmesi, GC'lerin her zaman belirli konumlarda oluşmasına neden olur ve bu da GC deliklerinin izlenmesine yardımcı olur. GC Delik Stresi ortam değişkeni kullanılarak DOTNET_GCStress etkinleştirilebilir.

Daha fazla bilgi için bkz . JIT ve GC Delik stresi araştırma.

JIT bellek engelleri

Arm64 için kod oluşturucu, olarak ayarlanarak DOTNET_JitNoMemoryBarriers tüm MemoryBarriers yönergelerin kaldırılmasına 1izin verir.

DOTNET_RUNNING_IN_CONTAINER ve DOTNET_RUNNING_IN_CONTAINERS

Resmi .NET görüntüleri (Windows ve Linux) iyi bilinen ortam değişkenlerini ayarlar:

  • DOTNET_RUNNING_IN_CONTAINER
  • DOTNET_RUNNING_IN_CONTAINERS

Bu değerler, ASP.NET Core iş yüklerinizin bir kapsayıcı bağlamında ne zaman çalıştığını belirlemek için kullanılır.

DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION

olduğunda Console.IsOutputRedirected true, veya trueolarak ayarlayarak DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION 1 ANSI renk kodu yayabilirsiniz.

  • DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL: veya trueolduğunda1, varsayılan Etkinlik Kimliği biçimi hiyerarşiktir.
  • DOTNET_SYSTEM_RUNTIME_CACHING_TRACING: Hata Ayıklama olarak çalışırken, bu olduğunda trueizleme etkinleştirilebilir.

DOTNET_DiagnosticPorts

Tanılama araçlarının .NET çalışma zamanıyla iletişim kurabileceği alternatif uç noktaları yapılandırılır. Daha fazla bilgi için Tanılama Bağlantı Noktası belgelerine bakın.

DOTNET_DefaultDiagnosticPortSuspend

Çalışma zamanını başlatma sırasında duraklatacak ve 1 olarak ayarlandığında belirtilen tanılama bağlantı noktasından Tanılama IPC ResumeStartup komutunu bekleyecek şekilde yapılandırır. Varsayılan değer 0'dır. Daha fazla bilgi için Tanılama Bağlantı Noktası belgelerine bakın.

DOTNET_EnableDiagnostics

olarak 0ayarlandığında, Tanılama Bağlantı Noktası aracılığıyla hata ayıklamayı, profil oluşturmayı ve diğer tanılamaları devre dışı bırakır ve diğer tanılama ayarları tarafından geçersiz kılınamaz. varsayılan değeridir 1.

DOTNET_EnableDiagnostics_IPC

.NET 8'den başlayarak, olarak 0ayarlandığında Tanılama Bağlantı Noktası devre dışı bırakılır ve diğer tanılama ayarları tarafından geçersiz kılınamaz. varsayılan değeridir 1.

DOTNET_EnableDiagnostics_Debugger

.NET 8'den başlayarak, olarak 0ayarlandığında hata ayıklamayı devre dışı bırakır ve diğer tanılama ayarları tarafından geçersiz kılınamaz. varsayılan değeridir 1.

DOTNET_EnableDiagnostics_Profiler

.NET 8'den başlayarak, olarak ayarlandığında 0profil oluşturmayı devre dışı bırakır ve diğer tanılama ayarları tarafından geçersiz kılınamaz. varsayılan değeridir 1.

EventPipe değişkenleri

Daha fazla bilgi için bkz . EventPipe ortam değişkenleri .

  • DOTNET_EnableEventPipe: olarak 1ayarlandığında, EventPipe aracılığıyla izlemeyi etkinleştirir.
  • DOTNET_EventPipeOutputPath: İzlemenin yazılacağı çıkış yolu.
  • DOTNET_EventPipeOutputStreaming: olarak 1ayarlandığında, uygulama çalışırken çıkış dosyasına akış sağlar. Varsayılan olarak izleme bilgileri döngüsel arabellekte birikir ve içerik uygulama kapatma sırasında yazılır.

.NET SDK ve CLI ortam değişkenleri

DOTNET_ROOT, DOTNET_ROOT(x86), DOTNET_ROOT_X86, DOTNET_ROOT_X64

Varsayılan konumda yüklü olmayan .NET çalışma zamanlarının konumunu belirtir. Windows'ta varsayılan konum şeklindedir C:\Program Files\dotnet. macOS'ta varsayılan konum şeklindedir /usr/local/share/dotnet. Arm64 işletim sistemindeki x64 çalışma zamanları için varsayılan konum, x64 alt klasörünün altındadır (windows ve /usr/local/share/dotnet/x64 macOS'ta da).C:\Program Files\dotnet\x64 Linux'ta varsayılan konum dağıtım ve yükleme yöntemine bağlı olarak değişir. Ubuntu 22.04'te varsayılan konum ( /usr/share/dotnet konumundan packages.microsoft.comyüklendiğinde) veya /usr/lib/dotnet (Jammy akışından yüklendiğinde). Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:

Bu ortam değişkeni yalnızca oluşturulan yürütülebilir dosyalar (apphosts) aracılığıyla uygulamaları çalıştırırken kullanılır. DOTNET_ROOT(x86) bunun yerine 64 bit işletim sisteminde 32 bit yürütülebilir dosya çalıştırırken kullanılır. DOTNET_ROOT_X64 arm64 işletim sisteminde 64 bit yürütülebilir dosya çalıştırırken kullanılır.

DOTNET_HOST_PATH

Şu anda çalışan dotnet işlemi başlatmak için kullanılan bir dotnet konağın (dotnet.exeWindows, dotnet Linux ve macOS üzerinde) mutlak yolunu belirtir. Bu, .NET SDK komutları sırasında çalışan araçların komut süresi boyunca oluşturdukları alt dotnet işlemler için aynı dotnet çalışma zamanını kullandıklarından emin olmalarına yardımcı olmak için .NET SDK tarafından kullanılır. Sdk'da konak aracılığıyla ikili dosyaları çağıran Araçlar ve MSBuild Görevlerinin dotnet tutarlı bir deneyim sağlamak için bu ortam değişkenine uygun olması beklenir.

SDK komutu sırasında çağrılan dotnet araçlar, bu komutu bulmak için aşağıdaki algoritmayı kullanmalıdır:

  • ayarlanırsa DOTNET_HOST_PATH , bu değeri doğrudan kullanın
  • aksi takdirde, dotnet sistemin PATH

Not

DOTNET_HOST_PATH konağı bulmak dotnet için genel bir çözüm değildir. Yalnızca .NET SDK tarafından çağrılan araçlar tarafından kullanılması amaçlanmıştır.

DOTNET_LAUNCH_PROFILE

dotnet run komutu bu değişkeni seçili başlatma profiline ayarlar.

Aşağıdaki launchSettings.json dosyası göz önünde bulundurulduğunda:

{
  "profiles": {
    "First": {
      "commandName": "Project",
    },
    "Second": {
      "commandName": "Project",
    }
  }
}

Ve aşağıdaki Program.cs dosyası:

var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");

Aşağıdaki senaryolar gösterilen çıkışı oluşturur:

  • Başlatma profili belirtildi ve var

    $ dotnet run --launch-profile First
    DOTNET_LAUNCH_PROFILE=First
    
  • Başlatma profili belirtilmedi, ilk profil seçildi

    $ dotnet run
    DOTNET_LAUNCH_PROFILE=First
    
  • Başlatma profili belirtildi ancak yok

    $ 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=
    
  • Profil olmadan başlatma

    $ dotnet run --no-launch-profile
    DOTNET_LAUNCH_PROFILE=
    

NUGET_PACKAGES

Genel paketler klasörü. Ayarlanmadıysa, varsayılan olarak ~/.nuget/packages Unix'te veya %userprofile%\.nuget\packages Windows'da olarak ayarlanır.

DOTNET_SERVICING

Çalışma zamanını yüklerken paylaşılan konak tarafından kullanılacak hizmet dizininin konumunu belirtir.

.NET karşılama ve telemetri iletilerinin ilk çalıştırmada görüntülenip görüntülenmeyeceğini belirtir. true Bu iletilerin sesini kapatmak için (değerler true, 1veya yes kabul edildi) veya izin verecek şekilde false (değerler false, 0veya no kabul edildi) olarak ayarlayın. Ayarlanmamışsa, varsayılan değer budur false ve iletiler ilk çalıştırmada görüntülenir. Bu bayrak telemetriyi etkilemez (bkz DOTNET_CLI_TELEMETRY_OPTOUT . telemetri göndermeyi geri çevirme).

DOTNET_CLI_PERF_LOG

Geçerli CLI oturumuyla ilgili performans ayrıntılarının günlüğe kaydedilip kaydedilmeyeceğini belirtir. , trueveya yesolarak ayarlandığında 1etkinleştirilir. Bu, varsayılan olarak devre dışıdır.

DOTNET_GENERATE_ASPNET_CERTIFICATE

ASP.NET Core sertifikası oluşturulup oluşturulmayacağını belirtir. Varsayılan değer olur true, ancak bu ortam değişkeni 0, falseveya noolarak ayarlanarak geçersiz kılınabilir.

DOTNET_ADD_GLOBAL_TOOLS_TO_PATH

Ortam değişkenine genel araçlar eklenip eklenmeyeceğini PATH belirtir. Varsayılan değer: true. Yola genel araçlar eklememek için , falseveya noolarak 0ayarlayın.

DOTNET_CLI_TELEMETRY_OPTOUT

.NET araçları kullanımıyla ilgili verilerin toplanıp toplanmayacağını ve Microsoft'a gönderilip gönderilmediğini belirtir. true Telemetri özelliğini (değerler true, 1veya yes kabul edildi) geri çevirmek için olarak ayarlayın. Aksi takdirde, telemetri özelliklerini (değerler false, 0veya no kabul edildi) kabul etmek için olarak ayarlayınfalse. Ayarlanmadıysa varsayılan değer budur false ve telemetri özelliği etkindir.

DOTNET_SKIP_FIRST_TIME_EXPERIENCE

olarak ayarlanırsa DOTNET_SKIP_FIRST_TIME_EXPERIENCE true, NuGetFallbackFolder diske genişletilmeyecek ve daha kısa bir karşılama iletisi ve telemetri bildirimi gösterilir.

Not

Bu ortam değişkeni artık .NET Core 3.0 ve sonraki sürümlerde desteklenmiyor. Değiştirme olarak kullanın DOTNET_NOLOGO .

DOTNET_MULTILEVEL_LOOKUP

.NET çalışma zamanının, paylaşılan çerçevenin veya SDK'nın genel konumdan çözümlenip çözümlenmeyeceğini belirtir. Ayarlanmazsa, varsayılan olarak 1 (mantıksal true) olur. Genel konumdan çözümlenmeyecek ve yalıtılmış .NET yüklemelerine sahip olmak için değeri 0 (mantıksal false) olarak ayarlayın. Çok düzeyli arama hakkında daha fazla bilgi için bkz . Çok düzeyli SharedFX Araması.

Not

Bu ortam değişkeni yalnızca .NET 6 ve önceki sürümleri hedefleyen uygulamalar için geçerlidir. .NET 7'den itibaren .NET yalnızca tek bir konumda çerçeveleri arar. Daha fazla bilgi için bkz . Çok düzeyli arama devre dışı bırakıldı.

DOTNET_ROLL_FORWARD

İleri sarma davranışını belirler. Daha fazla bilgi için komut seçeneğine dotnet bakın--roll-forward.

DOTNET_ROLL_FORWARD_TO_PRERELEASE

(etkin) olarak ayarlanırsa 1 , yayın öncesi sürümden yayın öncesi sürüme ileriye doğru ilerlemeyi etkinleştirir. Varsayılan olarak (0 - devre dışı), .NET çalışma zamanının yayın sürümü istendiğinde, ileri sarma yalnızca yüklü sürüm sürümlerini dikkate alır.

Daha fazla bilgi için komut seçeneğine dotnet bakın --roll-forward

DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX

olarak ayarlanırsa ikincil sürümü ileri sarmayı 0devre dışı bırakır. Bu ayarın yerini .NET Core 3.0 ile DOTNET_ROLL_FORWARDalır. Bunun yerine yeni ayarlar kullanılmalıdır.

DOTNET_CLI_FORCE_UTF8_ENCODING

Windows 10'un UTF-8'i tam olarak desteklemeyen eski sürümleri için bile konsolda UTF-8 kodlamasını kullanmaya zorlar. Daha fazla bilgi için bkz. SDK artık tamamlandığında konsol kodlamasını değiştirmez.

DOTNET_CLI_UI_LANGUAGE

CLI kullanıcı arabiriminin dilini gibi en-usbir yerel ayar değeri kullanarak ayarlar. Desteklenen değerler Visual Studio ile aynıdır. Daha fazla bilgi için Visual Studio yükleme belgelerinde yükleyici dilini değiştirme bölümüne bakın. .NET kaynak yöneticisi kuralları geçerlidir, bu nedenle tam bir eşleşme seçmeniz gerekmez; ağaçtaki CultureInfo alt öğeleri de seçebilirsiniz. Örneğin, olarak ayarlarsanız fr-CA, CLI çevirileri bulur ve kullanır fr . Bunu desteklenmeyen bir dile ayarlarsanız CLI, İngilizceye geri döner.

DOTNET_DISABLE_GUI_ERRORS

GUI özellikli oluşturulan yürütülebilir dosyalar için - normalde belirli hata sınıflarında gösterilen iletişim kutusu açılır penceresini devre dışı bırakır. Yalnızca bu durumlarda öğesine yazar stderr ve çıkar.

DOTNET_ADDITIONAL_DEPS

CLI seçeneğine eşdeğerdir --additional-deps.

DOTNET_RUNTIME_ID

Algılanan RID'yi geçersiz kılar.

DOTNET_SHARED_STORE

Bazı durumlarda derleme çözümlemesinin geri geldiği "paylaşılan deponun" konumu.

DOTNET_STARTUP_HOOKS

Başlangıç kancalarını yükleyip yürütecek derlemelerin listesi.

DOTNET_BUNDLE_EXTRACT_BASE_DIR

Tek dosyalı bir uygulamanın yürütülmeden önce ayıklandığı dizini belirtir.

Daha fazla bilgi için bkz . Tek dosyalı yürütülebilir dosyalar.

DOTNET_CLI_HOME

.NET CLI komutları için destekleyici dosyaların yazılması gereken konumu belirtir. Örneğin:

  • İş yükü paketleri, bildirimler ve diğer destekleyici veriler için kullanıcı tarafından yazılabilir yollar.
  • .NET CLI'nın ilk çalıştırılma geçişleri ve bildirim deneyimleri açısından ilk çalıştırma sentinel/kilit dosyaları.
  • Varsayılan .NET yerel aracı yükleme konumu.

DOTNET_CLI_CONTEXT_*

  • DOTNET_CLI_CONTEXT_VERBOSE: Ayrıntılı bir bağlamı etkinleştirmek için olarak trueayarlayın.
  • DOTNET_CLI_CONTEXT_ANSI_PASS_THRU: ANSI geçişini etkinleştirmek için olarak trueayarlayın.

DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE

İş yükleri için reklam bildirimlerini arka planda indirmeyi devre dışı bırakır. Varsayılan: false - devre dışı değil. olarak ayarlanırsa trueindirme devre dışı bırakılır. Daha fazla bilgi için bkz . Reklam bildirimleri.

DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURS

İş yükleri için reklam bildirimlerinin arka plan indirmeleri arasındaki en az saat sayısını belirtir. Varsayılan değer, 24günde bir kezden daha sık olmayan değeridir. Daha fazla bilgi için bkz . Reklam bildirimleri.

DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT

.NET SDK yerel araçlarının Windows'daki kök klasörde araç bildirim dosyalarını arayıp aramayacağını belirtir. Varsayılan değer: false.

COREHOST_TRACE

, hostfxrve hostpolicygibi dotnet.exebarındırma bileşenlerinden tanılama izlemeyi denetler.

  • COREHOST_TRACE=[0/1] - default is 0 - izleme devre dışı bırakıldı. olarak ayarlanırsa 1, tanılama izleme etkinleştirilir.

  • COREHOST_TRACEFILE=<file path> - yalnızca ayarıyla COREHOST_TRACE=1izleme etkinleştirildiğinde bir etkiye sahiptir. Ayarlandığında, izleme bilgileri belirtilen dosyaya yazılır; aksi takdirde, izleme bilgileri öğesine stderryazılır.

  • COREHOST_TRACE_VERBOSITY=[1/2/3/4] - varsayılan değeridir 4. Bu ayar yalnızca aracılığıyla COREHOST_TRACE=1izleme etkinleştirildiğinde kullanılır.

    • 4 - tüm izleme bilgileri yazılır
    • 3 - yalnızca bilgilendirme, uyarı ve hata iletileri yazılır
    • 2 - yalnızca uyarı ve hata iletileri yazılır
    • 1 - yalnızca hata iletileri yazılır

Uygulama başlatma hakkında ayrıntılı izleme bilgileri edinmenin tipik yolu, uygulamayı ayarlayıp COREHOST_TRACE=1COREHOST_TRACEFILE=host_trace.txt çalıştırmaktır. Geçerli dizinde ayrıntılı bilgilerle yeni bir dosya host_trace.txt oluşturulur.

SuppressNETCoreSdkPreviewMessage

olarak ayarlanırsa true, önizleme SDK'sı kullanılırken çağırma dotnet bir uyarı üretmez.

.NET CLI'da MSBuild'i yapılandırma

MSBuild işlem dışı çalıştırmak için ortam değişkenini DOTNET_CLI_RUN_MSBUILD_OUTOFPROC , trueveya yesolarak 1ayarlayın. Varsayılan olarak, MSBuild in-proc yürütür. MSBuild'i proje oluşturmak için dış çalışma düğümü uzun ömürlü bir işlem kullanmaya zorlamak için , trueveya yesolarak 1ayarlayınDOTNET_CLI_USE_MSBUILDNOINPROCNODE. Bu, giriş işlemi işin büyük bölümünü ona ilettiği için ortam değişkenini OLARAK ayarlarMSBUILDNOINPROCNODE. Bu, MSBuild Server V1 olarak adlandırılır.1

DOTNET_MSBUILD_SDK_RESOLVER_*

Bunlar, çözümlenen SDK görevlerini ve hedeflerini belirli bir temel dizinden gelmeye zorlamak ve belirli bir sürümü MSBuild'e raporlamak için kullanılan geçersiz kılmalardır ve bu durum bilinmiyorsa olabilir null . Bunun için önemli bir kullanım örneği, .NET Core SDK'sını kullanarak SDK görevlerini ve hedeflerini dağıtmadan test etmektir.

  • DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR: .NET SDK dizinini geçersiz kılar.
  • DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER: .NET SDK sürümünü geçersiz kılar.
  • DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR: dotnet.exe dizin yolunu geçersiz kılar.

DOTNET_NEW_PREFERRED_LANG

Anahtar atlandığında -lang|--language komutu için dotnet new varsayılan programlama dilini yapılandırılır. Varsayılan değer şudur: C#. Geçerli değerler , F#veya VBdeğerleridirC#. Daha fazla bilgi için bkz . dotnet new.

dotnet watch ortam değişkenleri

Ortam değişkenleri olarak kullanılabilen ayarlar hakkında dotnet watch bilgi için bkz . dotnet watch ortam değişkenleri.

Ayrıca bkz.