Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A .NET a következő mechanizmusokat biztosítja a .NET-futtatókörnyezet viselkedésének konfigurálásához:
| Mechanizmus | Jegyzetek |
|---|---|
| A runtimeconfig.json fájl | A beállítást egy adott alkalmazásra alkalmazza. Ezt a fájlt akkor használja, ha az alkalmazás több példánya fut egyszerre egyetlen rendszeren, és mindegyiket az optimális teljesítmény érdekében szeretné konfigurálni. |
| MSBuild tulajdonságok | A beállítást egy adott alkalmazásra alkalmazza. Az MSBuild tulajdonságok elsőbbséget élveznek aruntimeconfig.jsonbeállításaival szemben. |
| Környezeti változók | Alkalmazza a beállítást az összes .NET-alkalmazásra. A .NET 9-től kezdve a környezeti változók elsőbbséget élveznek az MSBuild tulajdonságokkal és runtimeconfig.json beállításokkal szemben. További információ: A környezeti változók elsőbbséget élveznek az alkalmazás futtatókörnyezetének konfigurációs beállításai között. |
Bizonyos konfigurációs értékek programozott módon is beállíthatók a AppContext.SetSwitch metódus meghívásával.
Megjegyzés:
Az ebben a szakaszban található cikkek a .NET-futtatókörnyezet konfigurálását érintik. Ha .NET-keretrendszerből .NET-keretrendszerbe migrál egy alkalmazást, és a app.config fájl cseréjét keresi, olvassa el a Modernizálás a .NET-re való frissítés után című témakört. Az egyéni konfigurációs értékek .NET-alkalmazásoknak való megadásáról a .NET-alkalmazások konfigurációja című témakörben olvashat.
A dokumentáció jelen szakaszában található cikkek kategóriák szerint vannak rendszerezve, például hibakeresés és szemétgyűjtés szerint. Szükség esetén a konfigurációs beállítások a következőkhöz vannak megadva: runtimeconfig.json fájlok, MSBuild-tulajdonságok, környezeti változók, és kereszthivatkozás céljából app.config fájlok a .NET-keretrendszer-projektekhez.
runtimeconfig.json
Projekt létrehozásakor [ appname].runtimeconfig.json fájl jön létre a kimeneti könyvtárban. Ha egy runtimeconfig.template.json fájl ugyanabban a mappában található, mint a projektfájl, a benne található konfigurációs beállítások az [alkalmazásnév].runtimeconfig.json fájlba lesznek beszúrva. Ha saját maga készíti el az alkalmazást, tegye a konfigurációs beállításokat a runtimeconfig.template.json fájlba. Ha csak az alkalmazást futtatja, szúrja be közvetlenül az [alkalmazásnév].runtimeconfig.json fájlba.
Megjegyzés:
- Az [alkalmazásnév].runtimeconfig.json fájl felülíródik a későbbi buildeken.
- Ha az alkalmazás nem
OutputTypeExe, és azt szeretné, hogy a konfigurációs opciók átmásolásra kerüljenek runtimeconfig.template.json az [alkalmazásnév].runtimeconfig.json, kifejezetten be kell állítaniaGenerateRuntimeConfigurationFiles-ttrue-ra a projektfájlban. A runtimeconfig.json fájlt igénylő alkalmazások esetében ez a tulajdonság alapértelmezés szerint a következő.true
Adja meg a futtatókörnyezet konfigurációs beállításait a runtimeconfig.json vagy runtimeconfig.template.json fájl configProperties szakaszában. Ez a szakasz a következő formátumú:
"configProperties": {
"config-property-name1": "config-value1",
"config-property-name2": "config-value2"
}
Példa [appname].runtimeconfig.json fájl
Ha a beállításokat a kimeneti JSON-fájlban helyezi el, ágyazhatja be őket a runtimeOptions tulajdonság alá.
{
"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
}
}
}
Példa runtimeconfig.template.json fájlra
Ha a beállításokat a sablon JSON-fájljában helyezi el, hagyja ki a tulajdonságot 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 tulajdonságok
Bizonyos futtatókörnyezet-konfigurációs beállítások az SDK-stílusú .NET-projektek .csproj - vagy .vbproj-fájljának MSBuild tulajdonságaival állíthatók be. Az MSBuild tulajdonságok elsőbbséget élveznek a runtimeconfig.template.json fájlban megadott beállításnál.
Az olyan futtatókörnyezeti konfigurációs beállításokhoz, amelyek nem rendelkeznek adott MSBuild tulajdonságokkal, használhatja helyette az RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet.
Íme egy példa SDK-stílusú projektfájl msBuild tulajdonságokkal a .NET-futtatókörnyezet viselkedésének konfigurálásához:
<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>
Az MSBuild tulajdonság a futtatókörnyezet viselkedésének konfigurálásához az egyes területekre vonatkozó cikkekben, például a szemétgyűjtésben szerepel. Az MSBuild tulajdonságokra vonatkozó referencia futásidejű konfigurációs szakaszában is szerepelnek az SDK-stílusú projektekhez.
Környezeti változók
A környezeti változók felhasználhatók a futtatókörnyezet konfigurációs adatainak megadására. A környezeti változókként megadott konfigurációs gombok általában az előtaggal DOTNET_rendelkeznek. (A .NET-keretrendszer futtatókörnyezetének konfigurációjához használja helyette az COMPlus_ előtagot.)
Megjegyzés:
A .NET 9-től kezdve a környezeti változók elsőbbséget élveznek az MSBuild tulajdonságokkal és runtimeconfig.json beállításokkal szemben. A kompatibilitástörő változással kapcsolatos további információkért lásd: A környezeti változók elsőbbséget élveznek az alkalmazás futtatókörnyezetének konfigurációs beállításai között.
A környezeti változókat a Windows vezérlőpultjáról, a parancssorból, vagy programozott módon is definiálhatja a Environment.SetEnvironmentVariable(String, String) windowsos és Unix-alapú rendszereken.
Az alábbi példák azt mutatják be, hogyan állíthat be környezeti változót a parancssorban:
# Windows
set DOTNET_GCRetainVM=1
# Powershell
$env:DOTNET_GCRetainVM="1"
# Unix
export DOTNET_GCRetainVM=1