Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET, .NET çalışma zamanının davranışını yapılandırmak için aşağıdaki mekanizmaları sağlar:
Mekanizma | Notlar |
---|---|
runtimeconfig.json dosyası | Ayarı belirli bir uygulamaya uygular. Uygulamanızın birden çok örneği tek bir sistemde aynı anda çalıştırılırsa ve her birini en iyi performans için yapılandırmak istiyorsanız bu dosyayı kullanın. |
MSBuild özellikleri | Ayarı belirli bir uygulamaya uygular. MSBuild özellikleri ,runtimeconfig.jsonayarlarına göre önceliklidir. |
Ortam değişkenleri | Ayarı tüm .NET uygulamalarına uygular. |
Bazı yapılandırma değerleri, AppContext.SetSwitch yöntemi program aracılığıyla çağrılarak da ayarlanabilir.
Uyarı
Bu bölümdeki makaleler .NET çalışma zamanının yapılandırmasıyla ilgilidir. Bir uygulamayı .NET Framework'ten .NET'e geçiriyorsanız ve app.config dosyasının yerini almak istiyorsanız bkz. .NET'e yükselttikten sonra modernleştirme. .NET uygulamalarına özel yapılandırma değerleri sağlama hakkında bilgi için bkz. .NET'te yapılandırma.
Belgelerin bu bölümündeki makaleler, hata ayıklama ve çöp toplama gibi kategorilere göre düzenlenmiştir. Uygun olduğunda, runtimeconfig.json dosyaları, MSBuild özellikleri, ortam değişkenleri ve karşılaştırma amacıyla .NET Framework projeleri için app.config dosyaları yapılandırma seçenekleri olarak gösterilir.
runtimeconfig.json
Proje oluşturulduğunda çıkış dizininde [appname].runtimeconfig.json dosyası oluşturulur. Proje dosyasıyla aynı klasörde birruntimeconfig.template.json dosyası varsa, içerdiği tüm yapılandırma seçenekleri [appname].runtimeconfig.json dosyasına eklenir. Uygulamayı kendiniz oluşturuyorsanız yapılandırma seçeneklerini runtimeconfig.template.json dosyasına yerleştirin. Uygulamayı yalnızca çalıştırıyorsanız, doğrudan [appname].runtimeconfig.json dosyasına ekleyin.
Uyarı
- [appname].runtimeconfig.json dosyası, sonraki derlemelerde üzerine yazılarak değiştirilir.
- Uygulamanız
OutputType
değilseExe
ve yapılandırma seçeneklerinin runtimeconfig.template.json'den [appname].runtimeconfig.jsonkopyalanmasını istiyorsanız, proje dosyanızda açıkça olarakGenerateRuntimeConfigurationFiles
olarak ayarlamanıztrue
gerekir. runtimeconfig.json dosyası gerektiren uygulamalar için bu özellik varsayılan olarak olaraktrue
gösterilir.
runtimeconfig.json veya runtimeconfig.template.json dosyasının configProperties bölümünde çalışma zamanı yapılandırma seçeneklerini belirtin. Bu bölümde şu form vardır:
"configProperties": {
"config-property-name1": "config-value1",
"config-property-name2": "config-value2"
}
Örnek [appname].runtimeconfig.json dosyası
Çıkış JSON dosyasına seçenekleri yerleştirdiyseniz, bunları özelliğinin runtimeOptions
altına yerleştirin.
{
"runtimeOptions": {
"tfm": "net8.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
"configProperties": {
"System.Globalization.UseNls": true,
"System.Net.DisableIPv6": true,
"System.GC.Concurrent": false,
"System.Threading.ThreadPool.MinThreads": 4,
"System.Threading.ThreadPool.MaxThreads": 25
}
}
}
Örnek runtimeconfig.template.json dosyası
Seçenekleri şablon JSON dosyasına yerleştiriyorsanız, özelliğini runtimeOptions
.
{
"configProperties": {
"System.Globalization.UseNls": true,
"System.Net.DisableIPv6": true,
"System.GC.Concurrent": false,
"System.Threading.ThreadPool.MinThreads": "4",
"System.Threading.ThreadPool.MaxThreads": "25"
}
}
MSBuild özellikleri
Bazı çalışma zamanı yapılandırma seçenekleri, SDK stilindeki .NET projelerinin .csproj veya .vbproj dosyasındaki MSBuild özellikleri kullanılarak ayarlanabilir. MSBuild özellikleri ,runtimeconfig.template.json dosyasında ayarlanan seçeneklerden önceliklidir.
Belirli bir MSBuild özelliği olmayan çalışma zamanı yapılandırma ayarları için bunun yerine MSBuild öğesini kullanabilirsiniz RuntimeHostConfigurationOption
. özniteliğinin ayar adını kullanın.
.NET çalışma zamanının davranışını yapılandırmak için MSBuild özelliklerine sahip sdk stili bir proje dosyası örneği aşağıda verilmiştir:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<ConcurrentGarbageCollection>false</ConcurrentGarbageCollection>
<ThreadPoolMinThreads>4</ThreadPoolMinThreads>
<ThreadPoolMaxThreads>25</ThreadPoolMaxThreads>
</PropertyGroup>
<ItemGroup>
<RuntimeHostConfigurationOption Include="System.Globalization.UseNls" Value="true" />
<RuntimeHostConfigurationOption Include="System.Net.DisableIPv6" Value="true" />
</ItemGroup>
</Project>
Çalışma zamanının davranışını yapılandırmaya yönelik MSBuild özellikleri, atık toplama gibi her alanın tek tek makalelerinde belirtilir. Ayrıca SDK stilindeki projeler için MSBuild özellikleri başvurusunun Çalışma Zamanı yapılandırması bölümünde de listelenirler.
Ortam değişkenleri
Ortam değişkenleri bazı çalışma zamanı yapılandırma bilgilerini sağlamak için kullanılabilir. Ortam değişkenleri olarak belirtilen yapılandırma düğümleri genellikle ön ek DOTNET_ sahiptir.
Uyarı
.NET 6, .NET çalışma zamanı davranışını yapılandıran ortam değişkenleri için DOTNET_
yerine COMPlus_
ön ekini standartlaştırır. Ancak, COMPlus_
ön eki çalışmaya devam eder. .NET çalışma zamanının önceki bir sürümünü kullanıyorsanız, ortam değişkenleri için COMPlus_
ön ekini kullanmaya devam etmelisiniz.
Ortam değişkenlerini Windows Denetim Masası'ndan, komut satırından veya hem Windows hem de Unix tabanlı sistemlerde yöntemini çağırarak Environment.SetEnvironmentVariable(String, String) program aracılığıyla tanımlayabilirsiniz.
Aşağıdaki örneklerde, komut satırında ortam değişkeninin nasıl ayarlanacağı gösterilmektedir:
# Windows
set DOTNET_GCRetainVM=1
# Powershell
$env:DOTNET_GCRetainVM="1"
# Unix
export DOTNET_GCRetainVM=1