Estas notas de la versión corresponden al SDK de Windows Phone 8.0. El SDK de Windows Phone 8.0 contiene las herramientas necesarias para desarrollar aplicaciones para Windows Phone. En estas notas de la versión encontrarás información sobre problemas conocidos relacionados con el desarrollo de aplicaciones para Windows Phone con el SDK de Windows Phone 8.0.

La información está dividida en los siguientes apartados:

Novedades

Versiones anteriores

Problemas conocidos

Cambios importantes

Herramientas cliente de OData para Windows Phone

Novedades

Versiones anteriores

Problemas conocidos

En los apartados siguientes se describen algunos problemas conocidos del SDK de Windows Phone 8.0.

Desinstalación

Windows Phone Emulator

Visual Studio

Visual Studio Designer

Manifiesto de la aplicación

Voz

Aplicaciones nativas

Cámara

Traducción

Desinstalación

  • Si se desinstala el SDK de Windows Phone 8.0, el SDK de Windows Phone 7.1 puede quedar en un estado inestable.

    Efectos para el usuario: El SDK de Windows Phone 7.1 podría ser inestable.

    Solución: Tras desinstalar el SDK de Windows Phone 8.0, desinstala la actualización del SDK de Windows Phone 7.1.1, desinstala el SDK de Windows Phone 7.1 y, a continuación, vuelve a instalar el SDK de Windows Phone 7.1 y vuelve a instalar la actualización del SDK de Windows Phone 7.1.1.

  • Si se desinstala Visual Studio 2012, el generador de perfiles puede dejar de funcionar.

    Efectos para el usuario: El generador de perfiles nativo no se podrá usar.

    Solución: Repara el SDK de Windows Phone 8.0 seleccionándolo en Programas y características en el Panel de control.

Windows Phone Emulator

  • El audio de H.264 no está sincronizado con el vídeo al rebobinar o avanzar rápidamente en Windows Phone 7.1 Emulator.

    Efectos para el usuario: El audio y el vídeo pueden aparecer mal sincronizados en Windows Phone 7.1 Emulator.

    Solución:Ninguna.

  • La aplicación puede bloquearse durante la grabación si se llama a las API de captura de vídeo de H.264 (Windows.Phone.Media.Capture.KnownCameraAudioVideoProperties.H264*) antes de que empiece la grabación.

    Efectos para el usuario: La aplicación se cerrará inesperadamente y el emulador volverá a Inicio.

    Solución: Depurar con un dispositivo Windows Phone 8.

  • Emulator no admite el método de cámara nativa ICameraCaptureDeviceNative::GetPreviewBufferTexture.

    Efectos para el usuario: Se produce el error 0x80004001 si se llama a ICameraCaptureDeviceNative::GetPreviewBufferTexture cuando se está ejecutando en el emulador.

    Solución: Depurar con un dispositivo Windows Phone 8.

  • El emulador no admite Windows.Phone.Media.Capture.CaptureSequence.Frames[0].AppliedProperties.

    Efectos para el usuario: Cuando se llama a AppliedProperties, se produce una excepción ObjectDisposedException.

    Solución: Usa una instrucción try/catch en torno a la llamada a AppliedProperties para detectar la excepción.

  • La cámara del emulador puede guardar fotos con una orientación no prevista.

    Efectos para el usuario: Las fotos de la cámara del emulador pueden aparecer con la orientación equivocada y/o volteadas en vertical.

    Solución: Depurar con un dispositivo Windows Phone 8.

  • Si una aplicación crea un dispositivo de gráficos Direct3D y solicita un nivel de característica superior a 9_3, el dispositivo solo se creará correctamente en el emulador y no en un dispositivo.

    Efectos para el usuario: Cuando la aplicación se ejecute en el teléfono, no podrá crear un dispositivo de gráficos Direct3D con un nivel de característica superior a 9_3. En consecuencia, algún código que requiera funcionalidad de nivel de característica superior podría funcionar en el emulador pero no funcionar en un dispositivo físico.

    Solución: Prueba el código específico de Direct3D en un dispositivo Windows Phone 8. También puedes, cuando crees un proyecto nuevo, modificar Direct3DBase.cpp para quitar todos los niveles de característica excepto 9_3 de la matriz de valores D3D_FEATURE_LEVEL que se proporciona en el parámetro pFeatureLevel para la función D3D11CreateDevice.

  • No se puede implementar una aplicación en el emulador si la aplicación menciona los requisitos de hardware ID_REQ_GYROSCOPE o ID_REQ_MAGNETOMETER en el archivo WMAppManifest.xml.

    Efectos para el usuario: Recibirás un mensaje de error similar al siguiente si tratas de implementar en el emulador una aplicación que tiene funciones de giroscopio, brújula o Near Field Communication (NFC) definidas en el archivo WMAppManifest.xml: Installation of the application failed. Se ha producido un error de tiempo de ejecución. Arregla las funciones en el archivo WMAppManifest.xml.

    Solución: Si la aplicación necesita esos requisitos, pruébala en un dispositivo Windows Phone 8 en lugar del emulador.

Visual Studio

  • El archivo de IntelliSense para el control de mapas (espacios de nombres Microsoft.Phone.Maps.*) no está incluido en el SDK.

    Efectos para el usuario: IntelliSense no aparece en el IDE cuando se utilizan API de los espacios de nombres Microsoft.Phone.Maps.*.

    Solución: Descarga el archivo .zip de IntelliSense para el control Map desde:

    http://go.microsoft.com/fwlink/?LinkId=267924

    Descomprime el archivo descargado y selecciona el archivo de IntelliSense correspondiente al idioma de la versión del SDK que hayas instalado.

    Copia el archivo seleccionado en la ubicación siguiente del directorio en que hayas instalado el SDK:

    <directorioInstalación>\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0

  • Recibes un mensaje de error incorrecto al tratar de agregar una referencia no admitida a un proyecto de biblioteca portable desde un proyecto de Windows Phone.

    Efectos para el usuario: Podrías recibir un mensaje de error parecido al siguiente:

    Failed to add reference. No se ha podido agregar una referencia a 'PortableViewModel40'. Se ha cerrado el cuadro de diálogo de guardado (Excepción de HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED))

    Solución: En la pestaña Biblioteca de las propiedades del proyecto de biblioteca de clases portable, modifica la versión de .NET Framework de destino del proyecto para que admita la versión de Windows Phone a la que deseas hacer referencia.

  • Al trabajar con código en Visual Studio 2012, el uso de las teclas de flecha hacia arriba y abajo para seleccionar elementos de la lista IntelliSense no funciona correctamente.

    Efectos para el usuario: Al usar IntelliSense en Visual Studio 2012, puede resultar complicado seleccionar elementos de IntelliSense en la lista IntelliSense con las teclas de flecha hacia arriba y abajo.

    Solución: Presiona la tecla ESC para cerrar la lista IntelliSense actual y liberar el cursor.

  • En el examinador de objetos no aparece el contenido de Windows.winmd ni Platform.winmd específico de los proyectos del teléfono.

    Efectos para el usuario: Visual Studio puede bloquearse y el contenido de Windows.winmd o Platform.winmd no aparece en el examinador de objetos. En algunos casos, el examinador de objetos puede mostrar información correcta, pero no se puede usar para ir a uno de los archivos .winmd.

    Solución: En la actualidad no hay solución, pero se espera que la haya en una actualización de Visual Studio.

  • El método System.Threading.ReaderWriterLockSlim.TryEnterWriteLock produce una excepción MethodAccessException cuando se produce una contención de recursos en un subproceso en segundo plano.

    Efectos para el usuario: El método ReaderWriterLockSlim.TryEnterWriteLock produce excepciones MethodAccessExceptions en el uso normal. Se mostrará la siguiente excepción:

    Attempt by method 'System.Threading.ReaderWriterLockSlim.WaitOnEvent(System.Threading.EventWaitHandle, UInt32 ByRef, TimeoutTracker)' to access method 'System.Threading.WaitHandle.WaitOne(Int32, Boolean)' failed.

    Solución: No uses un objeto ReaderWriterLockSlim. Usa otras primitivas de sincronización, por ejemplo la clase Monitor. Otra opción es usar un objeto System.Threading.SemaphoreSlim en el nivel de clase.

  • Al compilar proyectos en Visual Studio se produce un error cuando XAML hace referencia a objetos que contengan:

    • Una enumeración WINPRT o WINPRT encapsulada en otro tipo de valor.

    • Una firma de método virtual con una enumeración WINPRT o WINPRT encapsulada en otro tipo de valor.

    Efectos para el usuario: El proyecto no se puede compilar en Visual Studio.

    Solución: Encapsula los tipos WINPRT en clases administradas.

  • Cuando se cambia la configuración de un proyecto WINPRT de Windows Phone 7.1 a ARM\x86, no se vuelve a comprobar si en el proyecto hay tareas de compilación.

    Efectos para el usuario: Las acciones de recompilación y limpieza del proyecto de Windows Phone 7.1 no se realizan en Visual Studio.

    Solución: Para compilar el proyecto en Visual Studio, márcalo para su compilación en Visual Studio.

Visual Studio Designer

  • En la vista del diseñador de Visual Studio Designer de una aplicación de Windows Phone 8 se produce una excepción si la aplicación hace referencia a una biblioteca de clases portable que tenga como destino alguna combinación de las siguientes plataformas: .NET Framework 4.5, .NET Framework para aplicaciones de Windows Store y Windows Phone 8. En ese caso se muestra un mensaje similar al siguiente: Error HRESULT E_FAIL has been returned from a call to a COM component.

    Efectos para el usuario: El diseñador de Visual Studio no se puede usar si una aplicación hace referencia a una biblioteca de clases portable que tenga como destino alguna combinación de las plataformas mencionadas.

    Solución: Usa el diseñador en Expression Blend en lugar del diseñador de Visual Studio. Otra opción es cambiar los destinos de la biblioteca portable a alguno de los siguientes: .NET Framework 4.0.3 o versiones anteriores, Windows Phone 7.5 o versiones anteriores, Silverlight 5 o versiones anteriores, o Xbox 360. También se puede quitar la referencia al proyecto de biblioteca de clases portable y sustituirla con una referencia a la DLL que se genera al compilar el proyecto.

Manifiesto de la aplicación

Voz

  • La separación de palabras puede ser incorrecta en gramáticas de listas creadas para la configuración regional JPN.

    Efectos para el usuario: No se reconocen algunas palabras frecuentes de la configuración regional JPN.

    Solución: Los desarrolladores que trabajen para la configuración regional JPN deben usar siempre gramáticas de tipo SRGS (especificación de la gramática de reconocimiento de voz) y no usar gramáticas de listas.

  • Si un usuario cambia la configuración regional de Windows Phone, se puede producir un error en las aplicaciones que usen la gramática de voz. El error se debe a que el cambio de configuración regional fuerza un cambio de formato del valor de formato específico de la región relacionado. Los valores que se ven afectados son peso, probabilidad de repetición, etiquetas de variante flotante, volumen, velocidad, giro, intervalo, tiempo y contorno.

    Efectos para el usuario: Los usuarios que cambian la configuración regional pueden encontrar errores en las aplicaciones de voz.

    Solución: En lenguaje de marcado de síntesis de voz (SSML), no uses valores XML que no sean enteros.

Aplicaciones nativas

  • En una aplicación solo nativa, es decir, una aplicación que no contiene XAML, la API CurrentApp::LicenseInformation->IsTrial produce una excepción cuando se le llama desde el subproceso principal de la aplicación.

    Efectos para el usuario: Un desarrollador que trabaje con una aplicación solo nativa no podrá determinar si la aplicación está en modo de prueba.

    Solución: Llamar a la API desde otro subproceso, como el siguiente:

    ThreadPool::RunAsync( ref new WorkItemHandler( [](IAsyncAction^ operation)

    {

    auto value = CurrentApp::LicenseInformation->IsTrial;

    }));

Cámara

  • Si se hace una foto con el teléfono en orientación vertical o vertical invertida, la orientación que se elige automáticamente puede estar al revés (de arriba a abajo).

    Efectos para el usuario: Las fotos se verán al revés en el álbum de la cámara.

    Solución: Limitar la aplicación a la orientación horizontal o usar Windows.Phone.Media.Capture.KnownCameraGeneralProperties.EncodeWithOrientation para especificar directamente la orientación de las imágenes.

    Nota:

    Se necesitan las API del acelerómetro para detectar la orientación vertical invertida.

Traducción

Cambios importantes

Encontrarás información sobre los cambios importantes del SDK en el tema sobre compatibilidad de plataformas de las aplicaciones de Windows Phone de la documentación de desarrollo de Windows Phone 8.

Herramientas cliente de OData para Windows Phone

Copyright y declaración de confidencialidad

Este documento se proporciona “tal cual”. La información de este documento, incluidas las referencias a URL y otros sitios web, puede cambiar sin previo aviso.

Algunos de los ejemplos del documento tienen carácter meramente informativo y son ficticios. No se pretende dar a entender ni se debe asumir asociación ni conexión ninguna con situaciones reales.

El presente documento no otorga derecho legal alguno sobre la propiedad intelectual de ningún producto de Microsoft. El documento se puede copiar y usar como referencia solo internamente, pero con ninguna otra finalidad sin el permiso expreso por escrito de Microsoft Corporation.

© 2012 Microsoft Corporation. Reservados todos los derechos.

Microsoft, ActiveX, Authenticode, Bing, Calibri, Direct3D, DirectX, DreamSpark, Excel, Expression, Expression Blend, Georgia, Hyper-V, InPrivate, IntelliSense, Internet Explorer, Jscript, Kinect, MS, MS-DOS, MSDN, MSN, Outlook, PlayReady, Segoe, SQL Azure, SQL Server, Tahoma, Verdana, Visual Basic, Visual C#, Visual C++, Visual Studio, Win32, Windows, Windows Azure, Windows Live, Windows Server, Windows Vista, WinFX, Xbox, Xbox 360, Xbox LIVE, XNA y Zune son marcas comerciales del grupo de empresas Microsoft.

Todas las demás marcas comerciales pertenecen a sus respectivos propietarios.