Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
.NET poskytuje následující mechanismy pro konfiguraci chování modulu runtime .NET:
Mechanismus | Poznámky |
---|---|
Souborruntimeconfig.json | Použije nastavení pro konkrétní aplikaci. Tento soubor použijte, pokud v jednom systému běží více instancí aplikace současně a chcete je nakonfigurovat pro optimální výkon. |
vlastnosti nástroje MSBuild | Použije nastavení pro konkrétní aplikaci. Vlastnosti nástroje MSBuild mají přednost před nastavením v runtimeconfig.json. |
Proměnné prostředí | Použije nastavení pro všechny aplikace .NET. |
Některé hodnoty konfigurace lze také nastavit programově voláním AppContext.SetSwitch metody.
Poznámka:
Články v této části se týkají konfigurace samotného modulu runtime .NET. Pokud migrujete aplikaci z rozhraní .NET Framework do .NET a hledáte náhradu souboru app.config , přečtěte si téma Modernizace po upgradu na .NET. Informace o poskytování vlastních konfiguračních hodnot aplikacím .NET naleznete v tématu Konfigurace v .NET.
Články v této části dokumentace jsou uspořádané podle kategorií, například ladění a uvolňování paměti. Pokud je to možné, zobrazí se možnosti konfigurace pro soubory runtimeconfig.json, vlastnosti MSBuild, proměnné prostředí a pro vzájemné propojení soubory app.config v projektech rozhraní .NET Framework.
runtimeconfig.json
Při sestavení projektu se ve výstupním adresáři vygeneruje soubor [appname].runtimeconfig.json . Pokud souborruntimeconfig.template.json existuje ve stejné složce jako soubor projektu, všechny možnosti konfigurace, které obsahuje, se vloží do souboru [appname].runtimeconfig.json . Pokud vytváříte aplikaci sami, vložte do souboruruntimeconfig.template.json všechny možnosti konfigurace. Pokud aplikaci právě spouštíte, vložte je přímo do souboru [appname].runtimeconfig.json .
Poznámka:
- Soubor [appname].runtimeconfig.json se přepíše v následných buildech.
-
OutputType
Pokud aplikace neníExe
a chcete, aby se možnosti konfigurace zkopírovaly z runtimeconfig.template.json do [appname].runtimeconfig.json, musíte explicitně nastavitGenerateRuntimeConfigurationFiles
natrue
ve vašem souboru projektu. U aplikací, které vyžadují souborruntimeconfig.json , má tato vlastnost výchozí hodnotutrue
.
V části configProperties v souboruruntimeconfig.json nebo runtimeconfig.template.json zadejte možnosti konfigurace modulu runtime. Tento oddíl má formulář:
"configProperties": {
"config-property-name1": "config-value1",
"config-property-name2": "config-value2"
}
Příklad souboru [appname].runtimeconfig.json
Pokud umístíte možnosti do výstupního souboru JSON, vnořte je do runtimeOptions
vlastnosti.
{
"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říklad souboru runtimeconfig.template.json
Pokud umísťujete možnosti do souboru JSON šablony, tuto vlastnost vynecháteruntimeOptions
.
{
"configProperties": {
"System.Globalization.UseNls": true,
"System.Net.DisableIPv6": true,
"System.GC.Concurrent": false,
"System.Threading.ThreadPool.MinThreads": "4",
"System.Threading.ThreadPool.MaxThreads": "25"
}
}
Vlastnosti nástroje MSBuild
Některé možnosti konfigurace modulu runtime lze nastavit pomocí vlastností MSBuild v souboru .csproj nebo .vbproj projektů .NET ve stylu sady SDK. Vlastnosti nástroje MSBuild mají přednost před možnostmi nastavenými v souboruruntimeconfig.template.json .
Pro nastavení konfigurace modulu runtime, která nemají konkrétní vlastnost MSBuild, můžete místo toho použít položku MSBuild. Jako hodnotu atributu použijte název nastavení runtimeconfig.json.Include
Tady je příklad souboru projektu ve stylu SDK s vlastnostmi nástroje MSBuild pro konfiguraci chování runtime prostředí .NET.
<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>
Vlastnosti nástroje MSBuild pro konfiguraci chování běhového prostředí jsou zmíněny v jednotlivých článcích pro každou oblast, například garbage collection. Jsou také uvedeny v části Konfigurace za běhu v referenci vlastností nástroje MSBuild pro projekty ve stylu SDK.
Proměnné prostředí
Proměnné prostředí lze použít k poskytnutí některých informací o konfiguraci běhového prostředí. Knoby konfigurace zadané jako proměnné prostředí mají obecně předponu DOTNET_.
Poznámka:
.NET 6 standardizuje předponu DOTNET_
místo COMPlus_
pro proměnné prostředí, které konfigurují chování za běhu .NET. Předpona COMPlus_
ale bude i nadále fungovat. Pokud používáte předchozí verzi modulu runtime .NET, měli byste stále používat předponu COMPlus_
pro proměnné prostředí.
Proměnné prostředí můžete definovat z Ovládacích panelů Systému Windows, na příkazovém řádku nebo programově voláním Environment.SetEnvironmentVariable(String, String) metody v systémech Windows i Unix.
Následující příklady ukazují, jak nastavit proměnnou prostředí na příkazovém řádku:
# Windows
set DOTNET_GCRetainVM=1
# Powershell
$env:DOTNET_GCRetainVM="1"
# Unix
export DOTNET_GCRetainVM=1