Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
.NET fournit les mécanismes suivants pour configurer le comportement du runtime .NET :
| Mécanisme | Remarques |
|---|---|
| Fichier runtimeconfig.json | Applique le paramètre à une application spécifique. Utilisez ce fichier si plusieurs instances de votre application s’exécutent en même temps sur un seul système et que vous souhaitez configurer chacune pour des performances optimales. |
| Propriétés MSBuild | Applique le paramètre à une application spécifique. Les propriétés MSBuild sont prioritaires sur les paramètres de runtimeconfig.json. |
| variables d’environnement | Applique le paramètre à toutes les applications .NET. |
Certaines valeurs de configuration peuvent également être définies par programme en appelant la AppContext.SetSwitch méthode.
Remarque
Les articles de cette section concernent la configuration du runtime .NET lui-même. Si vous migrez une application de .NET Framework vers .NET et que vous recherchez un remplacement du fichier app.config , consultez Moderniser après la mise à niveau vers .NET. Pour plus d’informations sur la fourniture de valeurs de configuration personnalisées aux applications .NET, consultez Configuration dans .NET.
Les articles de cette section de la documentation sont organisés par catégorie, par exemple, débogage et garbage collection. Le cas échéant, les options de configuration sont affichées pour les fichiersruntimeconfig.json , les propriétés MSBuild, les variables d’environnement et, pour les références croisées, les fichiersapp.config pour les projets .NET Framework.
runtimeconfig.json
Lorsqu’un projet est généré, un fichier [appname].runtimeconfig.json est généré dans le répertoire de sortie. Si un fichier runtimeconfig.template.json existe dans le même dossier que le fichier projet, toutes les options de configuration qu’elle contient sont insérées dans le fichier [appname].runtimeconfig.json . Si vous créez l’application vous-même, placez les options de configuration dans le fichier runtimeconfig.template.json . Si vous exécutez simplement l’application, insérez-les directement dans le fichier [appname].runtimeconfig.json .
Remarque
- Le fichier [appname].runtimeconfig.json sera remplacé sur les builds suivantes.
- Si votre application n’est
OutputTypepasExeet que vous souhaitez que les options de configuration soient copiées de runtimeconfig.template.json à [nom_application].runtimeconfig.json, vous devez définirGenerateRuntimeConfigurationFilestrueexplicitement les options de configuration dans votre fichier projet. Pour les applications qui nécessitent un fichier runtimeconfig.json , cette propriété esttruepar défaut .
Spécifiez les options de configuration du runtime dans la section configProperties du fichier runtimeconfig.json ou runtimeconfig.template.json . Cette section comporte le formulaire suivant :
"configProperties": {
"config-property-name1": "config-value1",
"config-property-name2": "config-value2"
}
Exemple [nom_application] fichier.runtimeconfig.json
Si vous placez les options dans le fichier JSON de sortie , imbriquez-les sous la runtimeOptions propriété.
{
"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
}
}
}
Exemple de fichier runtimeconfig.template.json
Si vous placez les options dans le fichier JSON du modèle , omettez la runtimeOptions propriété.
{
"configProperties": {
"System.Globalization.UseNls": true,
"System.Net.DisableIPv6": true,
"System.GC.Concurrent": false,
"System.Threading.ThreadPool.MinThreads": "4",
"System.Threading.ThreadPool.MaxThreads": "25"
}
}
Propriétés MSBuild
Certaines options de configuration du runtime peuvent être définies à l’aide des propriétés MSBuild dans le fichier .csproj ou .vbproj des projets .NET de style SDK. Les propriétés MSBuild sont prioritaires sur les options définies dans le fichier runtimeconfig.template.json .
Pour les paramètres de configuration du runtime qui n’ont pas de propriété MSBuild spécifique, vous pouvez utiliser l'élément MSBuild RuntimeHostConfigurationOption à la place. Utilisez le nom du paramètre runtimeconfig.json comme valeur de l’attribut Include.
Voici un exemple de fichier projet de style SDK avec des propriétés MSBuild pour configurer le comportement du runtime .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>
Les propriétés MSBuild pour la configuration du comportement du runtime sont notées dans les articles individuels pour chaque zone, par exemple, garbage collection. Ils sont également répertoriés dans la section configuration runtime de la référence des propriétés MSBuild pour les projets de style SDK.
Variables d'environnement
Les variables d’environnement peuvent être utilisées pour fournir des informations de configuration d’exécution. Les boutons de configuration spécifiés en tant que variables d’environnement ont généralement le préfixe DOTNET_.
Remarque
.NET 6 standardise le préfixe DOTNET_ au lieu de COMPlus_ pour les variables d’environnement qui configurent le comportement d’exécution de .NET. Toutefois, le préfixe COMPlus_ continuera de fonctionner. Si vous utilisez une version précédente du runtime .NET, vous devez toujours utiliser le préfixe COMPlus_ pour les variables d’environnement.
Vous pouvez définir des variables d’environnement à partir du Panneau de configuration Windows, sur la ligne de commande ou par programmation en appelant la Environment.SetEnvironmentVariable(String, String) méthode sur les systèmes Windows et Unix.
Les exemples suivants montrent comment définir une variable d’environnement sur la ligne de commande :
# Windows
set DOTNET_GCRetainVM=1
# Powershell
$env:DOTNET_GCRetainVM="1"
# Unix
export DOTNET_GCRetainVM=1