These are the release notes for Windows Phone SDK 8.0. Windows Phone SDK 8.0 contains the tools that you need to develop Windows Phone apps. These release notes provide you with known issues related to developing Windows Phone apps using Windows Phone SDK 8.0.
These release notes contain the following sections.
Find out what’s new in the SDK in What’s new in the Windows Phone SDK 8.0.
Release notes for earlier releases of the Windows Phone SDK are at the following locations.
Windows Phone Developer Tools 7
The following sections contain details about known issues in Windows Phone SDK 8.0.
After uninstalling Windows Phone SDK 8.0, the Windows Phone SDK 7.1 state may become unstable.
User impact: Windows Phone SDK 7.1 might be unstable.
Workaround: After you uninstall Windows Phone SDK 8.0, uninstall Windows Phone SDK 7.1.1 Update, uninstall Windows Phone SDK 7.1, and then reinstall Windows Phone SDK 7.1, and reinstall Windows Phone SDK 7.1.1 Update.
After uninstalling Visual Studio 2012, the native profiler may stop working.
User impact: You won’t be able to use the native profiler.
Workaround: Repair Windows Phone SDK 8.0 by selecting it from Programs and Features in Control Panel.
Windows Phone Emulator
H.264 audio is not synchronized with video when you rewind or fast-forward on the Windows Phone 7.1 emulator.
User impact: Audio and video synchronization may appear disconnected on the Windows Phone 7.1 emulator.
Your app may crash during recording if H.264 video-capture APIs (Windows.Phone.Media.Capture.KnownCameraAudioVideoProperties.H264*) are called before recording begins.
User impact: The app will close unexpectedly and the emulator will return to Start.
Workaround: Debug using a Windows Phone 8 device.
Emulator doesn’t support the ICameraCaptureDeviceNative::GetPreviewBufferTexture native camera method.
User impact: Error 0x80004001 occurs if ICameraCaptureDeviceNative::GetPreviewBufferTexture is called while running on the emulator.
Workaround: Debug using a Windows Phone 8 device.
Emulator doesn’t support Windows.Phone.Media.Capture.CaptureSequence.Frames.AppliedProperties.
User impact: When AppliedProperties is called, an ObjectDisposedException is thrown.
Workaround: Use a try/catch statement around the AppliedProperties call to catch the exception.
Emulator camera may save photos in an unexpected orientation.
User impact: Photos from the emulator camera may appear in the wrong orientation and/or flipped vertically.
Workaround: Debug using a Windows Phone 8 device.
If an app creates a Direct3D graphics device and requests a feature level higher than 9_3, the device will be successfully created only on the emulator and not on a device.
User impact: When the app is run on the phone, it won’t be able to create a Direct3D graphics device with a feature level higher than 9_3, so some code that requires higher feature level functionality could work on the emulator but not work on a physical device.
Workaround: Test your Direct3D-specific code using a Windows Phone 8 device. Optionally, when you create a new project, modify Direct3DBase.cpp to remove all feature levels except 9_3 from the array of D3D_FEATURE_LEVEL values supplied in the pFeatureLevel parameter to the D3D11CreateDevice function.
You can’t deploy an app to the emulator if the app lists ID_REQ_GYROSCOPE or ID_REQ_MAGNETOMETER hardware requirements in the WMAppManifest.xml file.
User impact: You’ll receive the following error message if you try to deploy to the emulator an app that has gyroscope, compass, or Near Field Communication (NFC) capabilities set in the WMAppManifest.xml file: Installation of the application failed. Run time error has occurred. Fix the Capabilities in WMAppManifest.xml file.
Workaround: If the app needs these requirements, test the app on a Windows Phone 8 device instead of on the emulator.
The IntelliSense file for the Map control (Microsoft.Phone.Maps.* namespaces) is not included in the SDK.
User impact: No IntelliSense appears in the IDE when you are using APIs in the Microsoft.Phone.Maps.* namespaces.
Workaround: Download the IntelliSense .zip file for the Map control from the following location:
Unzip the downloaded file and select the IntelliSense file that corresponds to the language version of the SDK you have installed.
Copy the selected file to the following location in the directory where you have installed the SDK:
An incorrect error message is displayed when you attempt to add an unsupported reference to a portable library project from a Windows Phone project.
User impact: You may see an incorrect error message, such as the following:
Failed to add reference. A reference to 'PortableViewModel40' could not be added. User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED))
Workaround: Go to the Library tab in the Portable Class Library project properties and modify the project’s target frameworks to support the version of Windows Phone you want to reference.
When working with code in Visual Studio 2012, using the Up Arrow and Down Arrow keys to select items in the IntelliSense list doesn’t work as intended.
User impact: When using IntelliSense in Visual Studio 2012, you may have difficulty selecting IntelliSense items from the IntelliSense list using the Up Arrow and Down Arrow keys.
Workaround: Press the ESC key to close the current IntelliSense list and free the cursor.
The object browser doesn’t show the contents of Windows.winmd or Platform.winmd specific to phone projects.
User impact: Visual Studio may freeze and the object browser won’t show the contents of Windows.winmd or Platform.winmd. In some scenarios, the object browser may show correct information, however, using the object browser to navigate to either of the .winmd files won’t work.
Workaround: No current workaround is available, however, a resolution is planned in a Visual Studio update.
The System.Threading.ReaderWriterLockSlim.TryEnterWriteLock method throws a MethodAccessException when resource contention occurs on a background thread.
User impact: The ReaderWriterLockSlim.TryEnterWriteLock method will receive MethodAccessExceptions during normal use. The following exception with be displayed:
Attempt by method 'System.Threading.ReaderWriterLockSlim.WaitOnEvent(System.Threading.EventWaitHandle, UInt32 ByRef, TimeoutTracker)' to access method 'System.Threading.WaitHandle.WaitOne(Int32, Boolean)' failed.
Workaround: Avoid using a ReaderWriterLockSlim object. Use other synchronization primitives such the Monitor class. As an additional alternative, use a System.Threading.SemaphoreSlim object at the class level.
Building a project in Visual Studio will fail when XAML refers to objects containing:
A WINPRT enum or a WINPRT enum wrapped in another value type.
A virtual method signature with a WINPRT enum or a WINPRT enum wrapped in another value type.
User impact: Visual Studio can’t build the project.
Workaround: Wrap the WINPRT types in managed classes.
When a Windows Phone 7.1 WINPRT project's configuration is changed to ARM\x86, the project is no longer checked for build tasks.
User impact: In Visual Studio, the rebuild and clean actions don’t occur for the Windows Phone 7.1 project.
Workaround: To build the project in Visual Studio, mark the project for build in Visual Studio.
Visual Studio Designer
In the Visual Studio Designer view in a Windows Phone 8 app, an exception occurs when the app references a Portable Class Library that targets any combination of the following platforms: .NET Framework 4.5, .NET Framework for Windows Store apps, and Windows Phone 8. When this happens, the following error appears: Error HRESULT E_FAIL has been returned from a call to a COM component.
User impact: You can’t use the Visual Studio Designer if your app references a Portable Class library that targets any combination of those three platforms.
Workaround: Use the designer in Expression Blend instead of the Visual Studio designer. Alternatively, change the targets of the portable library to include any of the following: .NET Framework 4.0.3 or earlier versions, Windows Phone 7.5 or earlier versions, Silverlight 5 or earlier versions, or Xbox 360. Alternatively, remove the reference to the Portable Class Library project and replace it with a reference to the DLL that is the result of building that project.
Deploying an app that uses the ID_CAP_WALLET_SECUREELEMENT capability to a dev unlock device fails and displays the following error: Installation of the application failed. Run time error has occurred. Fix the Capabilities in WMAppManifest.xml file.
User impact: You can’t side load an app that uses the ID_CAP_WALLET_SECUREELEMENT capability.
Workaround: To deploy an app using this capability, you must request special permissions and have those permissions applied to your dev account. For more info, and to contact support for assistance, go to Developer support.
Word breaking on list grammars created for the JPN locale might be incorrect.
User impact: Some common words for the JPN locale won’t be recognized.
Workaround: Developers who target the JPN locale should always use Speech Recognition Grammar Specification (SRGS) grammars and avoid list grammars.
If a user changes their Windows Phone locale, apps that use speech grammar may encounter an error. This error occurs because the locale change forces a format change for the related region-specific format value. Values that are affected include weight, repeat-prob, float variant tags, volume, rate, pitch, range, time, and contour.
User impact: Users who change locale may experience errors in speech apps.
Workaround: In Speech Synthesis Markup Language (SSML), don't use non-integer XML values.
In a native-only app—that is, an app that contains no XAML--the CurrentApp::LicenseInformation->IsTrial API throws an exception if it is called from the app’s main thread.
User impact: A developer working with a native-only app won’t be able to tell whether the app is in Trial mode.
Workaround: Call the API from a different thread, such as the following:
ThreadPool::RunAsync( ref new WorkItemHandler( (IAsyncAction^ operation)
auto value = CurrentApp::LicenseInformation->IsTrial;
When a photo is captured when the phone is in an inverted-portrait or portrait orientation, the automatically chosen orientation may be upside-down.
User impact: Photos will appear upside-down in the camera roll.
Workaround: Limit your app to a landscape orientation or use Windows.Phone.Media.Capture.KnownCameraGeneralProperties.EncodeWithOrientation to directly specify the image orientation.
The accelerometer APIs are required to detect an inverted-portrait orientation.
Each localized version of the Windows Phone SDK 8.0 is designed to function with the corresponding localized operating system and localized version of Visual Studio 2012.
User impact: You may experience problems when using the Windows Phone SDK 8.0 that is localized for one language with Visual Studio 2012 that is localized for a different language. For instance, using the Italian version of the Windows Phone SDK 8.0 with the English version of Visual Studio 2012 is not a supported scenario. For more info, see Windows Phone SDK 8.0.
Workaround: Ensure that the Windows Phone SDK 8.0, Visual Studio 2012, and the operating system all support the same localized language.
You’ll find info about breaking changes in the SDK in the Windows Phone app platform compatibility topic in the Windows Phone 8 Developer Documentation.
OData Client Tools for Windows Phone
The OData Client Tools for Windows Phone installer extends the Add Service Reference experience with client-side OData support for developing Windows Phone 7 and Windows Phone 8 apps using Windows Phone SDK 8.0. The tooling adds references that are capable of consuming OData services up to v3. The OData Client Tools for Windows Phone is not included in the SDK. To download and learn more about the OData Client Tools for Windows Phone, see OData Client Tools for Windows Phone.
Copyright and confidentiality statements
This document is provided “as-is”. Information in this document, including URL and other Internet Web site references may change without notice.
Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred.
This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes and for no other purpose without the express written permission of Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved.
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, and Zune are trademarks of the Microsoft group of companies.
All other trademarks are property of their respective owners.