RuntimeCompatibilityOptions Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
La aplicación puede usar esta clase para configurar las opciones de compatibilidad deseadas para Aplicación de Windows comportamiento en tiempo de ejecución de los cambios agregados en las actualizaciones de mantenimiento. Esta clase solo se usa para establecer el comportamiento en tiempo de ejecución y no se puede usar para consultar las opciones aplicadas.
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
- Herencia
- Atributos
Comentarios
Hay dos maneras en las que puede implementar la SDK de Aplicaciones para Windows: dependiente del marco o independiente. Para más información y ventajas y problemas, consulte SDK de Aplicaciones para Windows información general sobre la implementación.
La clase RuntimeCompatibilityOptions proporciona compatibilidad configurable por la aplicación. Está pensado para evitar los problemas con la implementación dependiente del marco de trabajo, lo que permite que la aplicación use esa opción con confianza de que no se interrumpa.
Además, si encuentra un problema de compatibilidad en una versión de mantenimiento, todavía podrá continuar deshabilitando temporalmente los cambios problemáticos. Incluso una aplicación independiente puede actualizar a un nuevo paquete con confianza en que la compatibilidad configurable por la aplicación garantizará una actualización correcta.
RuntimeCompatibilityOptions tiene API para controlar el comportamiento de los cambios de mantenimiento. También hay propiedades que se pueden establecer en el archivo de proyecto de la aplicación para usar automáticamente las nuevas API con los valores especificados.
RuntimeCompatibilityOptions configura los cambios en SDK de Aplicaciones para Windows versiones de mantenimiento habilitadas. De forma predeterminada, todos los cambios están habilitados, pero puede usar RuntimeCompatibilityOptions para bloquear el comportamiento en tiempo de ejecución a un nivel de revisión especificado o para deshabilitar cambios específicos:
- Elija el nivel de revisión: Puede especificar el comportamiento de la versión de mantenimiento que desea usar. Por ejemplo, la aplicación puede especificar que quiere el comportamiento de nivel de revisión 1.7.2, que tendrá el SDK de Aplicaciones para Windows ejecutar en ese nivel de revisión, incluso si se instala 1.7.3 o posterior. Esta funcionalidad te permite controlar cuándo la aplicación obtiene nuevas correcciones o cambios de comportamiento, incluso cuando no usas el modo independiente.
- Deshabilite temporalmente los cambios específicos: Si la aplicación encuentra un problema con un cambio específico en una actualización de mantenimiento, puede deshabilitar solo ese cambio mientras sigue beneficiándose de los demás cambios o características de esa actualización. Todos los cambios están habilitados de forma predeterminada para el nivel de revisión en uso. Deshabilitar un cambio es una medida temporal, que da tiempo para que se publique una corrección en una actualización futura SDK de Aplicaciones para Windows o para que implemente una actualización en la aplicación.
Este es un ejemplo para especificar un nivel de revisión y deshabilitar un cambio específico:
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();
}
Debe aplicar RuntimeCompatibilityOptions al principio del proceso, antes de que se llame a cualquier otra API de SDK de Aplicaciones para Windows; o justo después de inicializar el Aplicación de Windows Runtime.
PatchLevel1 y PatchLevel2 son simplemente dos campos para establecer los niveles de revisión pertinentes. No es necesario que coincidan con ninguna versión específica del Aplicación de Windows Runtime ni estén en un orden específico. Por lo tanto, es válido establecer PatchLevel1 en 1.8.2 y PatchLevel2 en 1.7.3, por ejemplo. Además, en el ejemplo anterior, al actualizar la aplicación a la versión 1.9, puede optar por simplemente actualizar PatchLevel1 a 1.9.3 y dejar PatchLevel2 como 1.8.2.
Especificar RuntimeCompatibilityOptions en el archivo de proyecto de la aplicación
Como alternativa, puedes usar el archivo de proyecto de la aplicación para especificar el nivel de revisión y los cambios deshabilitados, en lugar de usar directamente RuntimeCompatibilityOptions. Este enfoque tiene la ventaja de garantizar que las opciones se apliquen al principio en el momento adecuado. Este es un ejemplo de cómo especificar el nivel de revisión y los cambios deshabilitados en el archivo de proyecto (por ejemplo .csproj , o .vcxproj):
<PropertyGroup>
<WindowsAppSDKRuntimePatchLevel1>1.7.3</WindowsAppSDKRuntimePatchLevel1>
<WindowsAppSDKRuntimePatchLevel2>1.8.2</WindowsAppSDKRuntimePatchLevel2>
<WindowsAppSDKDisabledChanges>SampleApiCrashFix, OtherSampleApiCrashFix</WindowsAppSDKDisabledChanges>
</PropertyGroup>
La propiedad WindowsAppSDKDisabledChanges es una lista separada por comas de valores RuntimeCompatibilityChange que se van a deshabilitar.
Comportamiento sin patchLevel especificado
Si no se especifica PatchLevel1 o PatchLevel2 , o si ninguno de los valores coincide con la versión principal.secundaria del entorno de ejecución que se usa, el tiempo de ejecución usará el nivel de revisión más reciente. En otras palabras, el entorno de ejecución se ejecutará con todos los cambios de mantenimiento habilitados (al igual que cómo funciona el SDK de Aplicaciones para Windows si no usa esta API).
Constructores
| Nombre | Description |
|---|---|
| RuntimeCompatibilityOptions() |
Crea un nuevo objeto RuntimeCompatibilityOptions predeterminado. |
Propiedades
| Nombre | Description |
|---|---|
| DisabledChanges |
Obtiene o establece una lista opcional de cambios de mantenimiento específicos que se van a deshabilitar. En las notas de la versión del canal estable más reciente del SDK de Aplicaciones para Windows se muestra el nombre de cada cambio que se puede deshabilitar. |
| PatchLevel1 |
Obtiene o establece un nivel de revisión opcional que se usará si la versión en tiempo de ejecución coincide con la versión principal.secundaria. Si la aplicación no está en proceso de transición a una nueva versión del SDK de Aplicaciones para Windows, puede establecer solo este nivel de revisión. |
| PatchLevel2 |
Obtiene o establece un nivel de revisión opcional que se usará si la versión en tiempo de ejecución coincide con la versión principal.secundaria. Esta propiedad permite establecer un segundo nivel de revisión para ayudar a la aplicación a realizar la transición a una nueva versión del SDK de Aplicaciones para Windows. Esto es una comodidad para permitir que los niveles de revisión para la versión anterior y nueva se especifiquen durante la transición. Las aplicaciones que no están en el proceso de transición deben establecer solo el nivel de revisión que quieren usar. No se permite establecer ambos niveles de revisión para la misma versión principal.secundaria, como 1.7.3 y 1.7.4, y generará un error al llamar a Apply. |
Métodos
| Nombre | Description |
|---|---|
| Apply() |
Aplica las opciones de compatibilidad al entorno de ejecución. |