.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
0
olarak ayarlandığındafalse
, varsayılan olarak etkin olan HTTP/2 desteğini devre dışı bırakır.
- veya
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
- veya
1
olarak ayarlandığındatrue
, varsayılan olarak devre dışı bırakılan HTTP/3 desteğini etkinleştirir.
- veya
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
- veya
0
olarakfalse
ayarlandığında, varsayılanı geçersiz kılar ve HTTP/2 dinamik pencere ölçeklendirme algoritmasını devre dışı bırakır.
- veya
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:
Proje dosyasında:
<PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup>
runtimeconfig.json dosyasında:
{ "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }
Ortam değişkeni değerini
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
veya1
olaraktrue
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 1
olarak true
ayarlayınDOTNET_SYSTEM_GLOBALIZATION_USENLS
. Kullanmamak için veya 0
olarak 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 1
ayarlayı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
1
Environment.ProcessorCount, değeri kullanılır. 1
RuntimeInformation.ProcessArchitecture olmadığındaDOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
değerlendirilir:- Arm veya Arm64 olduğunda, motor başına çekirdek değeri olarak
8
ayarlanır, aksi takdirde30
.
- Arm veya Arm64 olduğunda, motor başına çekirdek değeri olarak
- 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 1
olarak 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 HttpClientHandler
kullanacak ş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_USESOCKETSHTTPHANDLER
aracılığıyla da elde edilebilir. Geri çevirmek için değeri veya 0
olarak 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=2
uygulamak 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 1
izin 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 true
olarak ayarlayarak DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
1
ANSI renk kodu yayabilirsiniz.
DOTNET_SYSTEM_DIAGNOSTICS
ve ilgili değişkenler
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL
: veyatrue
olduğunda1
, varsayılan Etkinlik Kimliği biçimi hiyerarşiktir.DOTNET_SYSTEM_RUNTIME_CACHING_TRACING
: Hata Ayıklama olarak çalışırken, bu olduğundatrue
izleme 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 0
ayarlandığı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 0
ayarlandığı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 0
ayarlandığı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 0
profil 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
: olarak1
ayarlandığında, EventPipe aracılığıyla izlemeyi etkinleştirir.DOTNET_EventPipeOutputPath
: İzlemenin yazılacağı çıkış yolu.DOTNET_EventPipeOutputStreaming
: olarak1
ayarlandığı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.com
yüklendiğinde) veya /usr/lib/dotnet
(Jammy akışından yüklendiğinde). Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:
- Uygulama başlatma hatalarını giderme
- GitHub sorunu dotnet/core#7699
- GitHub sorunu dotnet/runtime#79237
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.exe
Windows, 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
sisteminPATH
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.
DOTNET_NOLOGO
.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
, 1
veya yes
kabul edildi) veya izin verecek şekilde false
(değerler false
, 0
veya 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. , true
veya yes
olarak ayarlandığında 1
etkinleş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
, false
veya no
olarak 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 , false
veya no
olarak 0
ayarlayı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
, 1
veya yes
kabul edildi) geri çevirmek için olarak ayarlayın. Aksi takdirde, telemetri özelliklerini (değerler false
, 0
veya 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ı 0
devre dışı bırakır. Bu ayarın yerini .NET Core 3.0 ile DOTNET_ROLL_FORWARD
alı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-us
bir 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 olaraktrue
ayarlayın.DOTNET_CLI_CONTEXT_ANSI_PASS_THRU
: ANSI geçişini etkinleştirmek için olaraktrue
ayarlayı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 true
indirme 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, 24
gü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
, hostfxr
ve hostpolicy
gibi dotnet.exe
barındırma bileşenlerinden tanılama izlemeyi denetler.
COREHOST_TRACE=[0/1]
- default is0
- izleme devre dışı bırakıldı. olarak ayarlanırsa1
, tanılama izleme etkinleştirilir.COREHOST_TRACEFILE=<file path>
- yalnızca ayarıylaCOREHOST_TRACE=1
izleme etkinleştirildiğinde bir etkiye sahiptir. Ayarlandığında, izleme bilgileri belirtilen dosyaya yazılır; aksi takdirde, izleme bilgileri öğesinestderr
yazılır.COREHOST_TRACE_VERBOSITY=[1/2/3/4]
- varsayılan değeridir4
. Bu ayar yalnızca aracılığıylaCOREHOST_TRACE=1
izleme etkinleştirildiğinde kullanılır.4
- tüm izleme bilgileri yazılır3
- yalnızca bilgilendirme, uyarı ve hata iletileri yazılır2
- yalnızca uyarı ve hata iletileri yazılır1
- 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=1
COREHOST_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
, true
veya yes
olarak 1
ayarlayı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 , true
veya yes
olarak 1
ayarlayı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 VB
değ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.