Ce document contient les notes de publications relatives au Kit de développement logiciel Windows Phone 8.0. Le Kit de développement logiciel Windows Phone 8.0 contient les outils nécessaires pour développer des applications Windows Phone. Les présentes notes de publication décrivent des problèmes connus en relation avec le développement d'applications Windows Phone à l'aide du Kit de développement logiciel Windows Phone 8.0.

Elles se composent des sections suivantes.

Nouveautés

Versions précédentes

Problèmes connus

Modifications radicales

Outils clients OData pour Windows Phone

Nouveautés

Versions précédentes

Problèmes connus

Les sections suivantes contiennent des détails sur des problèmes connus en relation avec le Kit de développement logiciel Windows Phone 8.0.

Désinstallation

Émulateur Windows Phone

Visual Studio

Visual Studio Designer

Manifeste de l'application

Voix

Applications natives

Caméra

Localisation

Désinstallation

  • Après la désinstallation du Kit de développement logiciel Windows Phone 8.0, il se peut que l'état du Kit de développement logiciel Windows Phone 7.1 devienne instable.

    Impact sur l'utilisateur : Kit de développement logiciel Windows Phone 7.1 pourrait être instable.

    Solution possible : Après avoir désinstallé le Kit de développement logiciel Windows Phone 8.0, désinstallez la mise à jour du Kit de développement logiciel Windows Phone 7.1.1, désinstallez le Kit de développement logiciel Windows Phone 7.1, réinstallez le Kit de développement logiciel Windows Phone 7.1, puis réinstallez la mise à jour du Kit de développement logiciel Windows Phone 7.1.1.

  • Après avoir désinstallé Visual Studio 2012, il se peut que le profileur natif cesse de fonctionner.

    Impact sur l'utilisateur : Vous ne pourrez plus utiliser le profileur natif.

    Solution possible : Réparez le Kit de développement logiciel Windows Phone 8.0 en le sélectionnant dans la section Programmes et fonctionnalités du Panneau de configuration.

Émulateur Windows Phone

  • L'audio H.264 n'est pas synchronisé avec la vidéo lorsque vous rembobinez ou avancez rapidement sur l'émulateur Windows Phone 7.1.

    Impact sur l'utilisateur : La synchronisation audio-vidéo peut sembler ne pas fonctionner sur l'émulateur Windows Phone 7.1.

    Solution possible :Aucune.

  • Votre application risque de se bloquer en cours d'enregistrement si les API de capture vidéo H.264 (Windows.Phone.Media.Capture.KnownCameraAudioVideoProperties.H264*) sont appelées avant le début de l'enregistrement.

    Impact sur l'utilisateur : L'application se fermera brusquement et l'émulateur reviendra en position Démarrer.

    Solution possible : Déboguez à l'aide d'un appareil Windows Phone 8.

  • L'émulateur ne prend pas en charge la méthode de caméra native ICameraCaptureDeviceNative::GetPreviewBufferTexture.

    Impact sur l'utilisateur : L'erreur 0x80004001 se produit en cas d'appel de la méthode ICameraCaptureDeviceNative::GetPreviewBufferTexture lors de l'exécution sur l'émulateur.

    Solution possible : Déboguez à l'aide d'un appareil Windows Phone 8.

  • L'émulateur ne prend pas en charge la méthode Windows.Phone.Media.Capture.CaptureSequence.Frames[0].AppliedProperties.

    Impact sur l'utilisateur : Lors de l'appel de la méthode AppliedProperties, l'exception ObjectDisposedException est levée.

    Solution possible : Utilisez une instruction try/catch autour de l'appel AppliedProperties pour intercepter l'exception.

  • La caméra de l'émulateur risque d'enregistrer les photos dans une orientation inattendue.

    Impact sur l'utilisateur : Les photos de la caméra de l'émulateur risquent de s'afficher dans une orientation erronée ou retournées verticalement.

    Solution possible : Déboguez à l'aide d'un appareil Windows Phone 8.

  • Si une application crée un périphérique graphique Direct3D et demande un niveau de fonctionnalité supérieur à 9_3, la création du périphérique réussit uniquement sur l'émulateur, pas sur un appareil physique.

    Impact sur l'utilisateur : Lors de l'exécution de l'application sur le téléphone, il n'est pas possible de créer un périphérique graphique Direct3D avec un niveau de fonctionnalité supérieur à 9_3. Dès lors, le code nécessitant un niveau de fonctionnalité supérieur pourrait fonctionner sur l'émulateur, mais pas sur l'appareil physique.

    Solution possible : Testez votre code Direct3D sur un appareil Windows Phone 8. Vous pouvez également créer un projet, modifier Direct3DBase.cpp pour supprimer tous les niveaux de fonctionnalité à l'exception du niveau 9_3 du tableau des valeurs D3D_FEATURE_LEVEL fourni par le paramètre pFeatureLevel à la fonction D3D11CreateDevice.

  • Vous ne pouvez pas déployer une application sur l'émulateur si l'application indique les configurations matérielles requises ID_REQ_GYROSCOPE ou ID_REQ_MAGNETOMETER dans le fichier WMAppManifest.xml.

    Impact sur l'utilisateur : Si vous tentez de déployer sur l'émulateur une application intégrant des fonctions de gyroscope, de boussole ou NFC (communication en champ proche) définies dans le fichier WMAppManifest.xml, le message d'erreur suivant d'affiche : Installation of the application failed. Une erreur d'exécution s'est produite. Modifiez les fonctions dans le fichier WMAppManifest.xml.

    Solution possible : Si l'application a besoin de ces configurations, testez-la sur un appareil Windows Phone 8 plutôt que sur l'émulateur.

Visual Studio

  • Le fichier IntelliSense pour le contrôle de l'application Cartes (espaces de noms Microsoft.Phone.Maps.*) n'est pas inclus dans le Kit de développement logiciel.

    Impact sur l'utilisateur : Aucun code IntelliSense n'apparaît dans l'IDE lorsque vous utilisez des API dans les espaces de noms Microsoft.Phone.Maps.*.

    Solution possible : Téléchargez le fichier IntelliSense .zip pour le contrôle de l'application Map à partir de l'emplacement suivant :

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

    Décompressez le fichier téléchargé, puis sélectionnez le fichier IntelliSense correspondant à la version linguistique du Kit de développement logiciel que vous avez installé.

    Copiez le fichier sélectionné dans l'emplacement suivant du répertoire dans lequel vous avez installé le Kit de développement logiciel :

    <installDir>\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0

  • Un message d'erreur incorrect s'affiche quand vous tentez d'ajouter une référence non prise en charge à un projet de bibliothèque portable à partir d'un projet Windows Phone.

    Impact sur l'utilisateur : Il se peut qu'un message d'erreur incorrect s'affiche, tel le suivant :

    Failed to add reference. Nous n'avons pas pu ajouter de référence à « PortableViewModel40 ». L'utilisateur a annulé dans la boîte de dialogue d'enregistrement (Exception de HRESULT : 0x8004000C (OLE_E_PROMPTSAVECANCELLED))

    Solution possible : Accédez à l'onglet Bibliothèque dans les propriétés du projet Bibliothèque de classes portable, puis modifiez les structures cibles du projet pour prendre en charge la version de Windows Phone que vous voulez référencer.

  • Lorsque vous travaillez sur le code dans Visual Studio 2012, les flèches haut et bas permettant de sélectionner des éléments dans la liste IntelliSense en fonctionnent pas comme prévu.

    Impact sur l'utilisateur : Lorsque vous utilisez IntelliSense dans Visual Studio 2012, il se peut que vous éprouviez des difficultés à sélectionner des éléments dans la liste IntelliSense à l'aide des flèches haut et bas.

    Solution possible : Appuyez sur la touche ÉCHAP pour fermer la liste IntelliSense affichée et libérer le curseur.

  • L'explorateur d'objets n'affiche pas le contenu des fichiers Windows.winmd ou Platform.winmd spécifiques des projets de téléphone.

    Impact sur l'utilisateur : Visual Studio risque de se bloquer, et l'explorateur d'objets de ne pas afficher le contenu des fichiers Windows.winmd ou Platform.winmd. Dans certains scénarios, l'explorateur d'objets peut afficher des informations correctes, mais ne pas permettre d'accéder aux fichiers .winmd.

    Solution possible : Il n'existe actuellement aucune solution. En revanche, une résolution est prévue pour la mise à jour de Visual Studio.

  • La méthode System.Threading.ReaderWriterLockSlim.TryEnterWriteLock lève une exception MethodAccessException en cas de conflit de ressource sur un thread d'arrière-plan.

    Impact sur l'utilisateur : La méthode ReaderWriterLockSlim.TryEnterWriteLock reçoit des exceptions MethodAccessExceptions en cas d'utilisation normale. L'exception suivante s'affiche :

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

    Solution possible : Évitez d'utiliser un objet ReaderWriterLockSlim. Utilisez d'autres primitives de synchronisation, telles que la classe Monitor. Vous pouvez également utiliser un objet System.Threading.SemaphoreSlim au niveau de la classe.

  • La création d'un projet dans Visual Studio échoue lorsque XAML faire référence à des objets contenant les éléments suivants :

    • Une enum WINPRT ou WINPRT a été encapsulée dans un autre type de valeur.

    • Une signature de méthode virtuelle contenant une enum WINPRT ou WINPRT a été encapsulée dans un autre type de valeur.

    Impact sur l'utilisateur : Visual Studio ne peut pas créer le projet.

    Solution possible : Encapsulez les types WINPRT dans les classes managées.

  • En cas de modification de la configuration d'un projet Windows Phone 7.1 WINPRT en ARM\x86, le projet n'est plus contrôlé en relation avec les tâches de génération.

    Impact sur l'utilisateur : Dans Visual Studio, les actions de re-génération et de nettoyage ne s'exécutent pas pour le projet Windows Phone 7.1.

    Solution possible : Pour créer le projet dans Visual Studio, marquez-le pour une génération dans Visual Studio.

Visual Studio Designer

  • Dans l'affichage Visual Studio Designer d'une application Windows Phone 8, une exception est levée quand l'application fait référence à une Bibliothèque de classes portable ciblant une combinaison quelconque des plateformes suivantes : .NET Framework 4.5, .NET Framework pour applications Windows Store et Windows Phone 8. Lorsque cela se produit, l'erreur suivante s'affiche : Error HRESULT E_FAIL has been returned from a call to a COM component.

    Impact sur l'utilisateur : Vous ne pouvez pas utiliser le concepteur Visual Studio si votre application fait référence à une Bibliothèque de classes portable ciblant une combinaison quelconque ce ces trois plateformes.

    Solution possible : Utilisez le concepteur dans Expression Blend plutôt que dans le concepteur Visual Studio. Vous pouvez également modifier les cibles de la bibliothèque portable en incluant les éléments suivants : .NET Framework 4.0.3 ou versions antérieures, Windows Phone 7.5 ou versions antérieures, Silverlight 5 ou versions antérieures, ou encore Xbox 360. Vous pouvez enfin supprimer la référence au projet Bibliothèque de classes portable et la remplacer par une référence à la DLL résultant de la génération de ce projet.

Manifeste de l'application

Voix

  • Les césures de mots des grammaires-listes créées pour les paramètres régionaux JPN risquent d'être incorrectes.

    Impact sur l'utilisateur : Certains mots courants pour les paramètres régionaux JPN ne sont pas reconnus.

    Solution possible : Les développeurs ciblant les paramètres régionaux JPN doivent toujours utiliser les grammaires SRGS (Speech Recognition Grammar Specification) et éviter les grammaires-listes.

  • Si un utilisateur modifie les paramètres régionaux de son Windows Phone, il se peut que les applications utilisant une grammaire de parole génèrent une erreur. Cette dernière se produit parce que la modification des paramètres régionaux entraîne un changement de la valeur de mise en forme spécifique de la région concernée. Les valeurs affectées sont l'épaisseur, la probabilité de répétition, les balises variables flottantes, le volume, les proportions, l'espacement, la plage, l'heure et le contour.

    Impact sur l'utilisateur : Les utilisateurs modifiant les paramètres régionaux risquent de rencontrer des erreurs dans des applications vocales.

    Solution possible : Si vous utilisez le langage SSML (Speech Synthesis Markup Language), évitez les valeurs XML non entières.

Applications natives

  • Dans une application purement native (ne contenant pas de code XAML), l'API CurrentApp::LicenseInformation->IsTrial lève une exception si elle est appelée à partir du thread principal de l'application.

    Impact sur l'utilisateur : Un développeur travaillant sur une application purement native ne peut pas déterminer si cette dernière est en mode Test.

    Solution possible : Appelez l'API à partir d'un autre thread, par exemple :

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

    {

    auto value = CurrentApp::LicenseInformation->IsTrial;

    }));

Caméra

  • Lors de la prise d'une photo alors que le téléphone est en orientation portrait ou portrait inversé, il se peut que l'orientation choisie automatiquement soit le retournement vertical de l'image.

    Impact sur l'utilisateur : Dans la Pellicule de la caméra, les photos s'affichent retournées verticalement.

    Solution possible : Limitez votre application à l'orientation paysage ou utilisez la méthode Windows.Phone.Media.Capture.KnownCameraGeneralProperties.EncodeWithOrientation pour spécifier directement l'orientation de l'image.

    Remarque :

    Des API d'accéléromètre sont nécessaires pour détecter une orientation portrait inversée.

Localisation

Modifications radicales

Vous pouvez trouver des informations concernant les modifications radicales du Kit de développement logiciel dans la section Compatibilité de la plateforme d'applications Windows Phone de la documentation destinée aux développeurs d'applications pour Windows Phone 8.

Outils clients OData pour Windows Phone

Déclarations de copyright et de confidentialité

Ce document est fourni « tel quel ». Les informations qu'il contient, notamment les adresses URL et diverses références à des sites Internet, pourront faire l'objet de modifications sans préavis.

Les exemples décrits dans ce document sont fictifs et fournis à titre purement indicatif. Tout lien ou relation avec la réalité serait purement fortuit.

Ce document ne vous confère aucun droit de propriété intellectuelle en relation avec les produits Microsoft. Vous pouvez copier et utiliser ce document à des fins de référence et d'utilisation internes, mais dans aucun autre but sans l'autorisation écrite de Microsoft Corporation.

© 2012 Microsoft Corporation. Tous droits réservés.

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 et Zune sont des marques commerciales du groupe de sociétés Microsoft.

Toutes les autres marques appartiennent à leurs propriétaires respectifs.