RuntimeCompatibilityOptions Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ihre App kann diese Klasse verwenden, um alle gewünschten Kompatibilitätsoptionen für Windows-App Laufzeitverhalten von Änderungen zu konfigurieren, die in Wartungsupdates hinzugefügt wurden. Diese Klasse wird nur zum Festlegen des Laufzeitverhaltens verwendet und kann nicht zum Abfragen der angewendeten Optionen verwendet werden.
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
- Vererbung
- Attribute
Hinweise
Es gibt zwei Möglichkeiten, wie Sie das Windows App SDK bereitstellen können: Framework-abhängig oder eigenständig. Ausführliche Informationen und Vorteile und Probleme finden Sie unter Windows App SDK Bereitstellungsübersicht.
Die RuntimeCompatibilityOptions-Klasse bietet Ihnen app-konfigurierbare Kompatibilität. Es soll verhindert werden, dass die Probleme mit der frameworkabhängigen Bereitstellung auftreten, sodass Ihre App diese Option mit Vertrauen verwenden kann, dass sie nicht unterbrochen wird.
Wenn Sie ein Kompatibilitätsproblem in einer Wartungsversion feststellen, können Sie sich weiterhin vorwärts bewegen, indem Sie problematische Änderungen vorübergehend deaktivieren. Selbst eine eigenständige App kann auf ein neues Paket mit Vertrauen aktualisieren, dass die app-konfigurierbare Kompatibilität ein erfolgreiches Update gewährleistet.
RuntimeCompatibilityOptions verfügt über APIs, um das Verhalten von Wartungsänderungen zu steuern. Es gibt auch Eigenschaften, die in der Projektdatei Ihrer App festgelegt werden können, um die neuen APIs automatisch mit den angegebenen Werten zu verwenden.
RuntimeCompatibilityOptions konfiguriert, welche Änderungen in Windows App SDK Wartungsversionen aktiviert sind. Standardmäßig sind alle Änderungen aktiviert, Aber Sie können RuntimeCompatibilityOptions verwenden, um das Laufzeitverhalten auf einer angegebenen Patchebene zu sperren oder bestimmte Änderungen zu deaktivieren:
- Wählen Sie die Patchebene aus: Sie können angeben, welches Wartungsversionsverhalten Sie verwenden möchten. Ihre App kann z. B. angeben, dass das 1.7.2-Patchebenenverhalten verwendet werden soll, das die Windows App SDK auf dieser Patchebene ausgeführt wird, auch wenn 1.7.3 oder höher installiert ist. Mit dieser Funktion können Sie steuern, wann Ihre App neue Korrekturen oder Verhaltensänderungen erhält, auch wenn Sie keinen eigenständigen Modus verwenden.
- Vorübergehendes Deaktivieren bestimmter Änderungen: Wenn bei Ihrer App ein Problem mit einer bestimmten Änderung in einem Wartungsupdate auftritt, können Sie diese Änderung deaktivieren, während Sie dennoch von den anderen Änderungen oder Features in diesem Update profitieren. Alle Änderungen sind standardmäßig für die verwendete Patchebene aktiviert. Das Deaktivieren einer Änderung ist eine temporäre Maßnahme, die Zeit für die Veröffentlichung eines Fixs in einem zukünftigen Windows App SDK Update oder für die Implementierung eines Updates in Ihrer App gibt.
Hier ist ein Beispiel zum Angeben einer Patchebene und zum Deaktivieren einer bestimmten Änderung:
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();
}
Sie müssen RuntimeCompatibilityOptions früh im Prozess anwenden, bevor andere Windows App SDK-APIs aufgerufen werden; oder direkt nach der Initialisierung der Windows-App Runtime.
PatchLevel1 und PatchLevel2 sind einfach zwei Felder, um relevante Patchebenen festzulegen. Diese müssen weder mit einer bestimmten Version der Windows-App Runtime übereinstimmen noch in einer bestimmten Reihenfolge sein. Es ist also gültig, PatchLevel1 auf 1.8.2 und PatchLevel2 auf 1.7.3 festzulegen, z. B. Und im obigen Beispiel können Sie beim Aktualisieren der App auf 1.9 einfach PatchLevel1 auf 1.9.3 aktualisieren und PatchLevel2 als 1.8.2 verlassen.
Angeben von RuntimeCompatibilityOptions in der Projektdatei Ihrer App
Alternativ können Sie die Projektdatei Ihrer App verwenden, um die Patchebene und deaktivierte Änderungen anzugeben, anstatt die RuntimeCompatibilityOptions direkt zu verwenden. Dieser Ansatz hat den Vorteil, dass die Optionen frühzeitig zum richtigen Zeitpunkt angewendet werden. Hier ist ein Beispiel für das Angeben der Patchebene und deaktivierter Änderungen in Der Projektdatei (z .csproj . B. oder .vcxproj):
<PropertyGroup>
<WindowsAppSDKRuntimePatchLevel1>1.7.3</WindowsAppSDKRuntimePatchLevel1>
<WindowsAppSDKRuntimePatchLevel2>1.8.2</WindowsAppSDKRuntimePatchLevel2>
<WindowsAppSDKDisabledChanges>SampleApiCrashFix, OtherSampleApiCrashFix</WindowsAppSDKDisabledChanges>
</PropertyGroup>
Die WindowsAppSDKDisabledChanges-Eigenschaft ist eine durch Trennzeichen getrennte Liste der zu deaktivierenden RuntimeCompatibilityChange-Werte .
Verhalten ohne PatchLevel angegeben
Wenn kein PatchLevel1 - oder PatchLevel2-Wert angegeben ist oder kein Wert mit der Hauptversion der verwendeten Laufzeit übereinstimmt, verwendet die Laufzeit die neueste Patchebene. Anders ausgedrückt: Die Laufzeit wird mit allen aktivierten Wartungsänderungen ausgeführt (genau wie das Windows App SDK funktioniert, wenn Sie diese API nicht verwenden).
Konstruktoren
| Name | Beschreibung |
|---|---|
| RuntimeCompatibilityOptions() |
Erstellt ein neues, standardmäßiges RuntimeCompatibilityOptions -Objekt. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| DisabledChanges |
Dient zum Abrufen oder Festlegen einer optionalen Liste bestimmter Wartungsänderungen, die deaktiviert werden sollen. Die Versionshinweise zu den neuesten stabilen Kanälen für die Windows App SDK listet den Namen jeder Änderung auf, die Sie deaktivieren können. |
| PatchLevel1 |
Dient zum Abrufen oder Festlegen einer optionalen Patchebene, die verwendet werden soll, wenn die Laufzeitversion mit der Major.Minor-Version übereinstimmt. Wenn Sich Ihre App nicht im Übergang zu einer neuen Version des Windows App SDK befindet, können Sie nur diese Patchebene festlegen. |
| PatchLevel2 |
Dient zum Abrufen oder Festlegen einer optionalen Patchebene, die verwendet werden soll, wenn die Laufzeitversion mit der Major.Minor-Version übereinstimmt. Diese Eigenschaft ermöglicht das Festlegen einer zweiten Patchebene, damit Ihre App zu einer neuen Version der Windows App SDK wechselt. Dies ist eine Bequeme, damit die Patchebenen sowohl für die alte als auch für die neue Version während des Übergangs angegeben werden können. Apps, die nicht im Übergangsprozess ausgeführt werden, sollten nur die patchebene festlegen, die sie verwenden möchten. Das Festlegen beider Patchebenen für dieselbe Major.Minor-Version, z. B. 1.7.3 und 1.7.4, ist nicht zulässig und generiert beim Aufrufen von Apply einen Fehler. |
Methoden
| Name | Beschreibung |
|---|---|
| Apply() |
Wendet die Kompatibilitätsoptionen auf die Laufzeit an. |