RuntimeCompatibilityOptions Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Votre application peut utiliser cette classe pour configurer toutes les options de compatibilité souhaitées pour application Windows comportement d’exécution des modifications ajoutées dans les mises à jour de maintenance. Cette classe est utilisée uniquement pour définir le comportement du runtime et ne peut pas être utilisée pour interroger les options appliquées.
public ref class RuntimeCompatibilityOptions sealed
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.Windows.ApplicationModel.WindowsAppRuntime.RuntimeCompatibilityContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Windows.ApplicationModel.WindowsAppRuntime.RuntimeCompatibilityContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RuntimeCompatibilityOptions final
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.Windows.ApplicationModel.WindowsAppRuntime.RuntimeCompatibilityContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Windows.ApplicationModel.WindowsAppRuntime.RuntimeCompatibilityContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RuntimeCompatibilityOptions
function RuntimeCompatibilityOptions()
Public NotInheritable Class RuntimeCompatibilityOptions
- Héritage
- Attributs
Remarques
Il existe deux façons de déployer le SDK d'application Windows : dépendant de l’infrastructure ou autonome. Pour plus d’informations et des avantages et des problèmes, consultez SDK d'application Windows vue d’ensemble du déploiement.
La classe RuntimeCompatibilityOptions vous offre une compatibilité configurable par l’application. Il est destiné à empêcher les problèmes liés au déploiement dépendant du framework, ce qui permet à votre application d’utiliser cette option avec confiance qu’elle ne sera pas rompue.
En outre, si vous trouvez un problème de compatibilité dans une version de maintenance, vous pourrez toujours avancer en désactivant temporairement les modifications problématiques. Même une application autonome peut être mise à jour vers un nouveau package avec confiance que la compatibilité configurable par l’application garantit une mise à jour réussie.
RuntimeCompatibilityOptions a des API pour contrôler le comportement des modifications de maintenance. Il existe également des propriétés qui peuvent être définies dans le fichier projet de votre application pour utiliser automatiquement les nouvelles API avec les valeurs spécifiées.
RuntimeCompatibilityOptions configure les modifications apportées aux versions de maintenance SDK d'application Windows activées. Par défaut, toutes les modifications sont activées, mais vous pouvez utiliser RuntimeCompatibilityOptions pour verrouiller le comportement d’exécution à un niveau de correctif spécifié ou pour désactiver des modifications spécifiques :
- Choisissez le niveau de correctif : Vous pouvez spécifier le comportement de la version de maintenance que vous souhaitez utiliser. Par exemple, votre application peut spécifier qu’elle souhaite le comportement de niveau de correctif 1.7.2, ce qui aura la SDK d'application Windows s’exécuter dans ce niveau de correctif, même si la version 1.7.3 ou ultérieure est installée. Cette fonctionnalité vous permet de contrôler quand votre application obtient de nouveaux correctifs ou modifications de comportement, même si vous n’utilisez pas le mode autonome.
- Désactivez temporairement des modifications spécifiques : Si votre application rencontre un problème avec une modification spécifique dans une mise à jour de maintenance, vous pouvez désactiver cette modification tout en bénéficiant toujours des autres modifications ou fonctionnalités de cette mise à jour. Toutes les modifications sont activées par défaut pour le niveau de correctif utilisé. La désactivation d’une modification est une mesure temporaire, qui donne le temps à un correctif d’être publié dans une prochaine mise à jour SDK d'application Windows, ou pour vous permettre d’implémenter une mise à jour dans votre application.
Voici un exemple pour spécifier un niveau de correctif et désactiver une modification spécifique :
void ApplyRuntimeCompatibilityOptions()
{
var compatibilityOptions = new RuntimeCompatibilityOptions();
compatibilityOptions.PatchLevel1 = new WindowsAppRuntimeVersion(1,7,3);
compatibilityOptions.PatchLevel2 = new WindowsAppRuntimeVersion(1,8,2);
compatibilityOptions.DisabledChanges.Add(RuntimeCompatibilityChange.SampleApiCrashFix);
compatibilityOptions.Apply();
}
Vous devez appliquer RuntimeCompatibilityOptions au début du processus, avant que d’autres API SDK d'application Windows soient appelées ; ou juste après l’initialisation du runtime application Windows.
PatchLevel1 et PatchLevel2 sont simplement deux champs pour définir les niveaux de correctif appropriés. Celles-ci ne correspondent pas à une version spécifique du runtime application Windows, ni à un ordre spécifique. Par conséquent, il est valide pour définir PatchLevel1 sur 1.8.2 et PatchLevel2 sur 1.7.3, par exemple. Dans l’exemple ci-dessus, lors de la mise à jour de l’application vers la version 1.9, vous pouvez choisir de simplement mettre à jour PatchLevel1 vers 1.9.3 et de laisser PatchLevel2 comme 1.8.2.
Spécification de RuntimeCompatibilityOptions dans le fichier projet de votre application
Vous pouvez également utiliser le fichier projet de votre application pour spécifier le niveau de correctif et les modifications désactivées, au lieu d’utiliser directement RuntimeCompatibilityOptions. Cette approche présente l’avantage de s’assurer que les options sont appliquées tôt au bon moment. Voici un exemple de spécification du niveau de correctif et de désactivation des modifications dans votre fichier projet (par .csproj.vcxprojexemple) :
<PropertyGroup>
<WindowsAppSDKRuntimePatchLevel1>1.7.3</WindowsAppSDKRuntimePatchLevel1>
<WindowsAppSDKRuntimePatchLevel2>1.8.2</WindowsAppSDKRuntimePatchLevel2>
<WindowsAppSDKDisabledChanges>SampleApiCrashFix, OtherSampleApiCrashFix</WindowsAppSDKDisabledChanges>
</PropertyGroup>
La propriété WindowsAppSDKDisabledChanges est une liste séparée par des virgules des valeurs RuntimeCompatibilityChange à désactiver.
Comportement sans PatchLevel spécifié
Si aucun PatchLevel1 ou PatchLevel2 n’est spécifié, ou si aucune valeur ne correspond à la version principale.minor du runtime utilisée, le runtime utilise le dernier niveau de correctif. En d'autres termes, le runtime s'exécute avec toutes les modifications de maintenance activées (tout comme le fonctionnement du SDK d'application Windows si vous n'utilisez pas cette API).
Constructeurs
| Nom | Description |
|---|---|
| RuntimeCompatibilityOptions() |
Crée un objet RuntimeCompatibilityOptions par défaut. |
Propriétés
| Nom | Description |
|---|---|
| DisabledChanges |
Obtient ou définit une liste facultative de modifications de maintenance spécifiques à désactiver. Les dernières notes de publication du canal stable pour le SDK d'application Windows répertorient le nom de chaque modification que vous pouvez désactiver. |
| PatchLevel1 |
Obtient ou définit un niveau de correctif facultatif à utiliser si la version du runtime correspond à la version major.minor. Si votre application n'est pas en cours de transition vers une nouvelle version du SDK d'application Windows, vous ne pouvez définir qu'un seul niveau de correctif. |
| PatchLevel2 |
Obtient ou définit un niveau de correctif facultatif à utiliser si la version du runtime correspond à la version major.minor. Cette propriété permet de définir un deuxième niveau de correctif pour aider votre application à passer à une nouvelle version du SDK d'application Windows. Il s’agit d’une commodité permettant de spécifier les niveaux de correctif pour l’ancienne et la nouvelle version pendant la transition. Les applications qui ne sont pas en cours de transition doivent définir uniquement le niveau de correctif qu’ils souhaitent utiliser. La définition des deux niveaux de correctif pour la même version principale.minor, telle que 1.7.3 et 1.7.4, n’est pas autorisée et génère une erreur lors de l’appel d’Apply. |
Méthodes
| Nom | Description |
|---|---|
| Apply() |
Applique les options de compatibilité au runtime. |