Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El tema anterior fue Portabilidad del proyecto.
Recomendamos encarecidamente leer esta guía de portabilidad hasta el final, pero también entendemos que está ansioso por avanzar y llegar a la fase en la que su proyecto se compila y se ejecuta. Para ello, puede realizar un progreso temporal comentando o eliminando temporalmente cualquier código no esencial y luego resolver esa deuda más adelante. La tabla de síntomas y soluciones de problemas de este tema puede resultarle útil en este punto, aunque no sustituye la lectura de los próximos temas. Siempre puedes consultar la tabla mientras avanzas en los temas posteriores.
Seguimiento de problemas
Las excepciones de análisis xaml pueden ser difíciles de diagnosticar, especialmente si no hay ningún mensaje de error significativo dentro de la excepción. Asegúrese de que el depurador está configurado para detectar excepciones de primera oportunidad (para intentar detectar la excepción de análisis al principio). Es posible que pueda inspeccionar la variable de excepción en el depurador para determinar si el HRESULT o el mensaje tienen información útil. Además, compruebe la ventana de salida de Visual Studio para ver los mensajes de error que genera el analizador XAML.
Si la aplicación finaliza y todo lo que sabe es que se produjo una excepción no controlada durante el análisis de marcado XAML, podría ser el resultado de una referencia a un recurso que falta (es decir, un recurso cuya clave existe para las aplicaciones de Windows Phone Silverlight, pero no para las aplicaciones de Windows 10, como algunos sistemas TextBlock Claves de estilo). Podría ser una excepción lanzada dentro de un UserControl, un control personalizado o un panel de diseño personalizado.
Un último recurso es una división binaria. Quite aproximadamente la mitad del marcado de una página y vuelva a ejecutar la aplicación. A continuación, sabrá si el error está en algún lugar dentro de la mitad que quitó (que ahora debe restaurar en cualquier caso) o en la mitad que no quitar. Repita el proceso dividiendo la mitad que contiene el error, y así sucesivamente, hasta que hayas identificado el problema.
TargetPlatformVersion
En esta sección se explica qué hacer si, al abrir un proyecto de Windows 10 en Visual Studio, verá el mensaje "Se requiere la actualización de Visual Studio. Uno o varios proyectos requieren un SDK de plataforma <versión> que no está instalado o que se incluye como parte de una actualización futura de Visual Studio".
- En primer lugar, determine el número de versión del SDK para Windows 10 que ha instalado. Vaya a C:\Archivos de programa (x86)\Windows Kits\10\Include\<versionfoldername> y tome nota de <versionfoldername>, que estará en notación cuádruple, "Major.Minor.Build.Revision".
- Abra el archivo del proyecto para editar y busque los elementos
TargetPlatformVersion
yTargetPlatformMinVersion
. Edítelos para que tengan este aspecto, reemplazando <versionfoldername> por el número de versión en notación cuádruple que usted encontró en el disco.
<TargetPlatformVersion><versionfoldername></TargetPlatformVersion>
<TargetPlatformMinVersion><versionfoldername></TargetPlatformMinVersion>
Diagnóstico de síntomas y remedios
La información de remedio de la tabla está pensada para proporcionarle suficiente información para desbloquearse. Encontrará más detalles sobre cada uno de estos problemas a medida que lea los temas posteriores.
Síntoma | Remedio |
---|---|
El analizador o compilador XAML da el error "El nombre "<typename>" no existe en el espacio de nombres [...]." | Si <typename> es un tipo personalizado, en las declaraciones de prefijo del espacio de nombres en el marcado XAML, cambie "clr-namespace" a "using" y quite los tokens de ensamblado. En el caso de los tipos de plataforma, esto significa que el tipo no se aplica a la Plataforma Universal de Windows (UWP), por lo que identifica el equivalente correspondiente y actualiza el marcado. Los ejemplos que puede encontrar inmediatamente son phone:PhoneApplicationPage y shell:SystemTray.IsVisible . |
El analizador o compilador XAML da el error "El miembro "<nombrede miembro>" no se reconoce o no es accesible." o "La propiedad "<propertyname>" no se encontró en el tipo [...].". | Estos errores comenzarán a aparecer después de que hayas transferido algunos nombres de tipo, como la raíz Página. El miembro o la propiedad no se aplican al UWP, por lo que busca el equivalente y actualiza el código. Los ejemplos que puede encontrar inmediatamente son SupportedOrientations y Orientation . |
El analizador o compilador XAML da el error "La propiedad adjuntable [...] no se encontró [...]." o "miembro adjuntable desconocido [...].". | Es probable que esto se deba al tipo en lugar de a la propiedad adjunta; en cuyo caso, ya tendrás un error por el tipo y este desaparecerá una vez que lo corrijas. Los ejemplos que puede encontrar inmediatamente son phone:PhoneApplicationPage.Resources y phone:PhoneApplicationPage.DataContext . |
El analizador o compilador XAML, o una excepción en tiempo de ejecución, da el error "El recurso "<resourcekey>" no se pudo resolver.". | La clave de recurso no se aplica a las aplicaciones de la Plataforma universal de Windows (UWP). Busque el recurso equivalente correcto y actualice el marcado. Algunos ejemplos que puede encontrar inmediatamente son las claves de estilo TextBlock |
El compilador de C# da el error "No se encontró el nombre de tipo o espacio de nombres '<nombre>' [...]" o "El tipo o el nombre del espacio de nombres '<nombre>' no existe en el espacio de nombres [...]" o "El nombre de tipo o espacio de nombres '<nombre>' no existe en el contexto actual". | Es probable que esto significa que el compilador aún no conoce el espacio de nombres de UWP correcto para un tipo. Use el comando Resolver de Visual Studio para corregirlo. Si la API no está en el conjunto de APIs conocidas como la familia universal de dispositivos (es decir, la API se implementa en un SDK de extensión), entonces use los SDK de extensión . Puede haber otros casos en los que el puerto sea menos sencillo. Los ejemplos que puede encontrar inmediatamente son DesignerProperties y BitmapImage . |
Cuando se ejecuta en el dispositivo, la aplicación finaliza o cuando se inicia desde Visual Studio, aparece el error "No se puede activar la aplicación Windows Runtime 8.x [...]. La solicitud de activación falló con el error "Windows no pudo comunicarse con la aplicación de destino." Esto suele indicar que el proceso de la aplicación de destino se interrumpió. [...]". | El problema podría ser el código imperativo que se ejecuta en sus propias páginas o en propiedades enlazadas (u otros tipos) durante la inicialización. O bien, podría ocurrir al analizar el archivo XAML a punto de mostrarse cuando finalice la aplicación (si se inicia desde Visual Studio, será la página de inicio). Busque claves de recursos no válidas o pruebe algunas de las instrucciones de la sección Seguimiento de problemas de este tema. |
Error XamlCompiler WMC0055: No se puede asignar el valor de texto "<tu geometría de flujo>" en la propiedad "Clip" del tipo "RectangleGeometry" | En UWP, el tipo de la aplicación UWP de Microsoft DirectX y XAML C++ . |
Error XamlCompiler WMC0001: Tipo desconocido "RadialGradientBrush" en el espacio de nombres XML [...] | UWP no tiene el tipo RadialGradientBrush. Elimina el RadialGradientBrush del marcado y emplea otro tipo de tecnología de Microsoft DirectX y XAML C++ en una aplicación UWP. |
error xamlCompiler WMC0011: miembro desconocido "OpacityMask" en el elemento "<tipo UIElement>" | La aplicación para UWP Microsoft DirectX y XAML para UWP en C++. |
Se produjo una primera excepción de tipo 'System.Runtime.InteropServices.COMException' en SYSTEM.NI.DLL. Información adicional: La aplicación llamó a una interfaz que se organizó para un hilo diferente. (Excepción de HRESULT: 0x8001010E (RPC_E_WRONG_THREAD)). | El trabajo que está realizando debe realizarse en el hilo de la interfaz de usuario. Llame al CoreWindow.GetForCurrentThread). |
Se está ejecutando una animación, pero no tiene ningún efecto en su propiedad de destino. | Haga que la animación sea independiente o establezca EnableDependentAnimation="True" en ella. Vea Animación. |
Al abrir un proyecto de Windows 10 en Visual Studio, verá el mensaje "Se requiere la actualización de Visual Studio. Uno o varios proyectos requieren un SDK de plataforma <versión> que no está instalado o que se incluye como parte de una actualización futura de Visual Studio". | Consulte la sección TargetPlatformVersion de este tema. |
Se produce una excepción System.InvalidCastException cuando se llama a InitializeComponent en un archivo xaml.cs. | Esto puede ocurrir cuando tienes más de un archivo xaml (al menos uno de los cuales está calificado con MRT) que comparten el mismo archivo y elementos xaml.cs tienen atributos x:Name que son incoherentes entre los dos archivos xaml. Intente agregar el mismo nombre a los mismos elementos en ambos archivos xaml o omita nombres por completo. |
El tema siguiente es Migración de XAML y UI.