June 24, 2011
These are the release notes for the Windows Phone SDK 7.1 Beta 2 (WP SDK 7.1). You can develop apps and games that target Windows Phone OS 7.1 and Windows Phone OS 7.0 with this software. However, it is recommended that you install Windows Phone SDK 7.1 Beta 2 on a secondary computer rather than your primary development computer.
Note: |
---|
The Windows Phone SDK was previously named Windows Phone Developer Tools. |
Caution: |
---|
Applications that target Windows Phone OS 7.1 cannot be submitted to Windows Phone Marketplace. Applications that target Windows Phone OS 7.0 can be submitted to Windows Phone Marketplace, provided that they use only the documented APIs that are supported on Windows Phone OS 7.0. |
Version Information
The following table provides information about the version numbers of the Windows Phone SDK 7.1 Beta 2 and related software.
Release date | Release name | WP SDK 7.1 | XNA® Game Studio | Visual Studio® |
---|---|---|---|---|
Monday June 27, 2011 | Beta 2 | 40219.115 | 4.0.30602.1 | 2010 RTM + SP1 |
What’s New
For information about what’s new in the Windows Phone SDK 7.1, see What's New in the Windows Phone SDK in the MSDN documentation.
Previous Releases
You can find the release notes for previous releases of the Window Phone SDK at the following locations:
Note: |
---|
The Windows Phone SDK was previously named Windows Phone Developer Tools. |
System Requirements
The following table contains the system requirements for Windows Phone SDK 7.1 Beta 2.
Caution: |
---|
Virtual machines are not supported. |
Supported operating systems |
|
Hardware |
|
Platforms not supported |
|
Windows Phone Emulator |
For more information, see Setup and System Requirements for Windows Phone Emulator. |
Installation Prerequisites
Caution: |
---|
If you installed Windows Phone Developer Tools 7.1 Beta 1, you must uninstall it before installing Windows Phone SDK 7.1 Beta 2. |
If you do not have Visual Studio installed, then you can still install Windows Phone SDK 7.1 Beta 2. Microsoft Visual Studio 2010 Express for Windows Phone is installed as part of Windows Phone SDK 7.1 Beta 2, and you can use it for development after installing Windows Phone SDK 7.1 Beta 2.
If you have Visual Studio 2010 Professional edition or higher already installed, you can use it for development after installing Windows Phone SDK 7.1 Beta 2. You must change the language setting of Visual Studio to match the language of Windows Phone SDK 7.1 Beta 2.
If you have Visual Studio 2010 RTM installed, you must install Service Pack 1 RTM before you install Windows Phone SDK 7.1 Beta 2. Please refer to the Service Pack 1 release notes for installation issues.
Visual Studio 2010 SP1 RTM Release Notes
You do not need to uninstall Service Pack 1 Beta before upgrading to Service Pack 1 RTM.
If you install any other Visual Studio 2010 products after you install Windows Phone SDK 7.1 Beta 2, then reinstall Service Pack 1 RTM.
If you installed Visual Basic for Windows Phone Developer Tools 7.0, you must uninstall it before installing Windows Phone SDK 7.1 Beta 2.
Uninstall the item Visual Basic for Windows Phone Developer Tools – RTW from the programs list on your computer.
Note: Visual Basic is now fully integrated into Windows Phone SDK 7.1 Beta 2; you do not need to install it separately.
If you have a localized version of Windows Phone Developer Tools 7.0 installed, you must uninstall it before installing Windows Phone SDK 7.1 Beta 2.
If you have a localized version of Expression Blend installed, you must uninstall it before installing Windows Phone SDK 7.1 Beta 2.
Note: |
---|
If you have Windows Phone Developer Tools 7.0 installed, you do not need to uninstall it before installing Windows Phone SDK 7.1 Beta 2. |
Installation and Uninstallation
Installation
Click the download link vm_web2.exe and follow the instructions.
Installation Issues
Repairing an installation of Windows Phone SDK 7.1 Beta 2 from DVD requires higher privileges than a normal user. You must run the repair with administrator privileges.
Repairing an installation of Windows Phone SDK 7.1 Beta 2 might fail. This can occur if a later version of one of the chained components is already installed. Uninstall the component and restart the repair.
Installation may fail if Windows Update is triggered during the installation. To resolve this issue, restart the installation.
Windows Phone projects appear in Visual Studio LightSwitch and other integrated Shell editions of Visual Studio. However, Windows Phone application development is not supported in these editions.
Repairing an installation of Windows Phone SDK 7.1 Beta 2 does not repair Expression Blend. To repair Expression Blend, locate it in the programs list on your computer and then select repair.
Uninstallation
From Start > Control Panel > Programs > Programs and Features, select Windows Phone SDK 7.1 (Beta2) - ENU, and then click Uninstall.
Known Issues
The following are the known issues in Windows Phone SDK 7.1 Beta 2.
Background Services
Using HttpWebRequest in a background agent can cause an out of memory exception. This can happen especially for audio streaming agents.
Debugging background audio player applications may fail. This can occur when setting breakpoints in the shutdown callback method.
Overriding the OnCancel method in an audio streaming agent may cause resources to remain in memory. To resolve this issue, call base.OnCancel when you override the OnCancel method.
Volume settings may not be retained in background audio player applications. This can occur if you set the Volume property first and then call the Play method and then set the track. To resolve this issue, always set the track before calling the Play method.
The TotalBytesToSend and TotalBytesToReceive properties return Int32-1 for unknown values, but should return Int64-1.
Classes that extend AudioPlayerAgent should remove any calls to the base.OnPlayStateChanged and base.OnUserAction methods. Without removing these calls, the audio playback may not start. These calls were present in the Audio Playback Agent project template in the Beta 1 release.
Sockets
UDP Multicast sockets use Wi-Fi while connected to Zune.
Tiles and Toast Notifications
Applications may stop responding when launched from a Tile while the application is dormant.
A secondary Tile created with multiple name-value pairs in the URI does not update through push notifications. For example, a Tile with the URI /MainPage.xaml?a=1&b=2 does not update.
Windows Phone Emulator
Because Windows Phone Emulator does not contain the full functionality of a physical device, some Launchers and Choosers, such as the EmailComposeTask and SmsComposeTask, do not work as expected in the emulator. For more information, see Launcher and Chooser Support in Windows Phone Emulator.
Localization is incomplete. After you change the language setting, some strings still display in English in the emulator.
H.264 audio is not synchronized with video when rewinding and fast forwarding.
Restarting the emulator, for example by changing the language setting, causes the emulator to stop responding.
The task-switching user interface that is accessed on physical devices by pressing and holding the Back button is not supported on the emulator. To resolve this issue, you can click inside of the emulator to set focus, and then press and hold the F1 key on your keyboard to bring up the task-switching user interface.
If the time zone of the host computer changes while Windows Phone Emulator is running, the time zone of the emulator is not updated. You must update the time zone in the emulator manually.
An existing virtual machine instance of VirtualBox closes when Windows Phone Emulator is launched on a host computer with hardware virtualization enabled.
An existing virtual machine instance of VMWare closes when Windows Phone Emulator is launched on a host computer with hardware virtualization enabled.
Windows Phone Emulator supports GPU peripheral emulation using the host GPU on a computer that supports DDI version 10 and above and DirectX version 10 and above. On all other computers, the emulator reverts to software emulation, which is not supported. For more information, see Setup and System Requirements for Windows Phone Emulator. You can verify that your computer supports the recommended configuration by running ‘dxdiag’ from a command-line window.
On Windows Vista SP2, the four updates that are a part of KB 971644 are also required to support deployment to Windows Phone Emulator.
The following updates referenced in KB 971644 are required for Windows Vista x86-based systems:
The following updates referenced in KB 971644 are required for Windows Vista x64-based systems:
Deploying and Debugging
Pressing the Start button and then the Back button while in break mode causes the debugging session to end. This can happen when the tombstone debugging option is turned off.
Updating a developer-unlocked device to Windows Phone OS 7.1 may cause the device to become relocked. To resolve this issue, use the developer unlock tool to unlock the device again.
Visual Studio Projects
Fluid UI is not supported in Beta 2.
Adding references from XNA Framework applications to the Microsoft.Advertising.* assemblies must be done manually using the Browse tab. The assemblies do not appear on the .NET tab. The assemblies are located at <installation folder>\Advertising for Phone.
Changing the assembly name of a Silverlight application prevents the application from launching. To resolve this issue, perform one of the following:
On the Build menu, click Clean Solution.
- Or -
In Solution Explorer, click the Show All Files button. Delete the obj folder. On the Debug menu, click Build Solution.
The default 3D Graphics Application project template contains the compiler warning “The project <ProjectName> cannot be referenced. The referenced project is targeted to a different framework family (.NETFramework).” This warning does not affect your application and should be left in place.
Adding an image to a resource file causes the compiler error “The type or namespace name 'Drawing' does not exist in the namespace 'System' (are you missing an assembly reference?).” To resolve this issue, you can try the steps described at Images with ResourceManager on the Silverlight forum.
To change the namespace of an application, you need to modify the following files: YourProjectName.csproj, App.xaml, and App.xaml.cs.
In the file YourProjectName.csproj, locate the SILVERLIGHTAPPENTRY element and replace the existing content with the new namespace name. That is, change <SilverlightAppEntry>OldNamespace.App</SilverlightAppEntry> to <SilverlightAppEntry>NewNamespace.App</SilverlightAppEntry>.
In the file App.xaml, locate the x:Class=”OldNamespace.App" attribute and change it to x:Class="NewNamespace.App".
In the file App.xaml.cs, locate the namespace declaration and change namespace OldNamespace to namespace NewNamespace.
In the project property pages, select the correct Startup Object to match the new namespace.
Application Profiling
Texture data is not collected for Image and Media controls.
Only profiling of apps that target Windows Phone OS 7.1 on Windows Phone OS 7.1 devices and emulator is supported.
Profiling on Windows Phone Emulator is supported; however, performance data may not be indicative of an application’s performance on a physical device.
Profiling does not capture data after a storyboard is paused and then resumed. The active storyboard displays data only until the point that the storyboard is paused.
Visual data may not be correct after using Launchers and Choosers while profiling.
Profiling does not capture some of the managed functions in XNA Framework games when the frame rate counters are present. To resolve this issue, turn off the frame rate counters for all functions to be sampled more accurately.
The Stop Profiling button may appear disabled. To resolve this issue, click anywhere in the user interface.
Expression Blend Projects
Projects that target Windows Phone OS 7.1 and that are created in Expression Blend fail to launch on Windows Phone OS 7.1 devices. To resolve this issue, open the file WMAppManifest.xml and delete the following element:
<Capability Name="ID_CAP_INTEROPSERVICES"/>
Applications that target Windows Phone OS 7.1 and that are created in Expression Blend can be deployed to Windows Phone OS 7.0 devices, but should not be. Once deployed, the applications correctly fail to launch.
Controls
Multiline text boxes use \r as the new line character instead of \r\n.
Silverlight and XNA Framework
Using the XmlnsDefinitionAttribute class may cause an application to stop responding.
ListBox controls that use XNA Framework rendering do not scroll correctly. To resolve this issue, set the ManipulationMode of the ScrollViewer to Control in either the XAML or the code-behind.
<ListBox ItemsSource="{Binding Items}" ScrollViewer.ManipulationMode="Control" >
Media
When using the VideoSink class, the frames-per-second performance is approximately 15 – 30 fps.
The audio and video may become unsynchronized for a MediaElement object whose source is set to a MediaStreamSource object. This can occur if the position is changed during playback—for example, by fast forwarding. This behavior occurs only on the emulator.
When Windows Phone Emulator is running on Windows Vista, some audio problems may occur. This issue is caused by lost audio packets when playing audio such as media files or alarms.
Setting the source of a MediaElement object fails every other time.
Miscellaneous
Applications that contain non-ASCII Unicode characters in their name can be deployed successfully but might fail to launch. This can occur for characters such as Ω, and others.
Setting the AllowReadStreamBuffering property of an HttpWebRequest object to true does not actually cause the buffering to occur. This can cause applications to consume more memory than intended.
Breaking Changes
The following are the breaking changes in Windows Phone SDK 7.1 Beta 2.
Change | Description | Rationale | Mitigation | ||||||
---|---|---|---|---|---|---|---|---|---|
Touch input for the ScrollViewer and ListBox controls happens on an independent thread by default, instead of on the UI thread. | In Windows Phone OS 7.0, touch input for the ScrollViewer and ListBox controls happened on the UI thread, causing the user interface responsiveness to suffer. In Windows Phone OS 7.1, touch input for these controls happens on an independent thread by default, allowing the scrolling to occur much faster. | This change enables the user interface to be more responsive. | In situations where background handling of touch input is not suitable, change the ManipulationMode of the control to Control in either the XAML or the code-behind. | ||||||
Image decoding happens on a background thread by default, instead of on the UI thread.
| In Windows Phone OS 7.0, image decoding happened on the UI thread, causing the user interface responsiveness to suffer. In Windows Phone OS 7.1, image decoding happens on a background thread by default. Applications that are upgraded from Windows Phone Developer Tools 7.0 to Windows Phone SDK 7.1 Beta 2 are affected by this change. Applications that target Windows Phone OS 7.0 are not affected by this change.
| This change enables the user interface to be more responsive.
| This change will be reverted in a future release. You should not make any changes to your application code. | ||||||
The response for an asynchronous web client request that was generated on a background thread returns to the background thread pool. | In Windows Phone OS 7.0, if an asynchronous web client request was generated on a background thread, the response was returned to the UI thread. The response now returns to whichever thread pool it was generated on. Applications that are upgraded to target Windows Phone OS 7.1 might be affected if they relied on the response returning on the UI thread. An UnauthorizedAccessException exception can occur with the message “Invalid cross-thread access.” | This change enables complete background processing of downloads, and enables the user interface to be more responsive. | In code that relies on the response returning on the UI thread, marshal the response using Dispatcher.BeginInvoke. | ||||||
The TaiwanCalendar class has been removed from the API. | The TaiwanCalendar class has been removed from the API. It is no longer available in Windows Phone OS 7.0 or Windows Phone OS 7.1. | This is a geopolitical requirement. | Applications that use this class should update their code to remove this class. | ||||||
The OnCancel override method was removed from the ScheduledTaskAgent class. | The OnCancel override method was removed from the ScheduledTaskAgent class. The only remaining override is the OnInvoke method. This is a breaking change with the previous Beta release only. | The OnCancel override method caused issues with the background power model. | Applications that use this method should update their code to remove this method. | ||||||
The IsRunningSlowly property was removed from the GameTimerEventArgs class. | The IsRunningSlowly property was removed from the GameTimerEventArgs class. This is a breaking change with the previous Beta release only. | This property always returns false. | Applications that use this property should update their code to remove this property. | ||||||
IExecuteResult was removed from the Windows Phone OS 7.1 API. | IExecuteResult was removed from the Windows Phone OS 7.1 API. This is a breaking change with the previous Beta release only. | The phone does not support ExecuteMethodCall, and any applications that attempt to use it fail. | Applications that use IExecuteResult or ExecuteMethodCall should update their code to remove the references. | ||||||
The MotionReading property types have changed. | The properties in the MotionReading type have been changed to Vector3. DeviceRotation was renamed DeviceRotationRate. This is a breaking change with the previous Beta release only. | This change eliminates the dependency between MotionReading, AccelerometerReading, and GyroscopeReading. | Code that uses the MotionReading class must change to use the new types and name. | ||||||
The Background Transfer Service folder in isolated storage was renamed. | The Background Transfer Service exchange folder was renamed from \Transfers to \Shared\Transfers. This is a breaking change with the previous Beta release only. | This change groups all services that access files in the isolated storage under “Shared”. | Change all references from DownloadLocation, UploadLocation, and the source URI of the BackgroundTransferRequest constructor to point to Shared\Transfers instead of Transfers. | ||||||
Tile data in isolated storage must use the folder Shared\ShellContent. | StandardTileData.BackBackgroundImage and StandardTileData.BackgroundImage must now use the folder Shared\ShellContent for images stored in isolated storage. This is a breaking change with the previous Beta release only. | This change groups all services that access files in the isolated storage under “Shared”. | Change all references from BackBackgroundImage and BackgroundImage to point to Shared\ShellContent. For example:
| ||||||
The ShellTileEnumerator class was removed. | The ShellTileEnumerator class was removed. This is a breaking change with the previous Beta release only. | The standard IEnumerable<T> interface is all that is needed when using the ShellTile.ActiveTiles property. | Enumerate the ShellTile.ActiveTiles property by using the standard IEnumerable<T> interface. | ||||||
Background agents are not launched in the debugger by using the Add and Find methods. | Previously, background agents were launched in the debugger by using the Add and Find methods. Now they are launched by using the LaunchForTest method. This is a breaking change with the previous Beta release only. | The new LaunchForTest method makes it easier to debug background agents. | Use the LaunchForTest method to debug background agents. | ||||||
The maximum and default database and buffer pool size values are now lower for SQLCE databases. | The maximum value for the database size is lowered from 4 GB to 512 MB. The default value for the database size is lowered from 128 MB to 32 MB. The maximum value for buffer pool size is lowered from 255 MB to 5 MB. The default value for buffer pool size is lowered from 640 KB to 384 KB. This is a breaking change with the previous Beta release only. | This change reduces the memory footprint of SQLCE in default and worst-case scenarios, and ensures that shared memory usage does not threaten device health. | Applications that connect to large databases must set the maximum database size explicitly in the connection string. You may also need to increase the buffer pool size to achieve the same performance. Applications that use large databases and buffer pools may use more than the allowed amount of shared memory, resulting in an exception. In that case, it will need to change the database size and buffer pool size values, or restructure the application to work within the limits. | ||||||
Connection string parameters that are not supported are removed. | Connection string parameters that are not supported are removed. This applies to the following.
This is a breaking change with the previous Beta release only. | This change limits the complexity of the connection string options. | Applications that contain these parameters must remove them from the connection string. | ||||||
Microsoft.Devices.YCrCbPixelLayout was renamed to Microsoft.Devices.YCbCrPixelLayout. | Microsoft.Devices.YCrCbPixelLayout was renamed to Microsoft.Devices.YCbCrPixelLayout. This is a breaking change with the previous Beta release only. | This change reflects industry-standard naming conventions. | Applications that use YCrCbPixelLayout should update their code. | ||||||
Microsoft.Devices.CaptureResolution was removed. | Microsoft.Devices.CaptureResolution was removed. This is a breaking change with the previous Beta release only. | This change replaces the custom CaptureResolution class with the standard Size class to be more consistent with established developer patterns and framework guidelines. | Applications that use CaptureResolution should update their code to use the standard Size class. |
Copyright and Confidentiality Statements
This document supports a preliminary release of a software product that may be changed substantially prior to final commercial release. This document is provided for informational purposes only and Microsoft makes no warranties, either express or implied, in this document. Information in this document, including URL and other Internet Web site references, is subject to change without notice. The entire risk of the use or the results from the use of this document remains with the user. Unless otherwise noted, the companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted in examples herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
© 2011 Microsoft Corporation. All rights reserved.
Microsoft, DirectX, Expression Blend, MSDN, Silverlight, Visual Basic, Visual Studio, Windows, Windows Server, Windows Vista, XNA, and Zune are trademarks of the Microsoft group of companies.
All other trademarks are property of their respective owners.