June 24, 2011

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

Previous Releases

System Requirements

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.

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.

Back to Top

Installation and Uninstallation

Known Issues

The following are the known issues in Windows Phone SDK 7.1 Beta 2.

Background Services

Sockets

  • UDP Multicast sockets use Wi-Fi while connected to Zune.

Back to Top

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.

Back to Top

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:

Back to Top

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.

Back to Top

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.

Back to Top

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.

Back to Top

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.

Back to Top

Controls

  • Multiline text boxes use \r as the new line character instead of \r\n.

Back to Top

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" >

Back to Top

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.

Back to Top

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.

Back to Top

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.

Caution:

This change will be reverted in a future release.

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.

Caution:

This change will be reverted in a future release.

This change enables the user interface to be more responsive.

Caution:

This change will be reverted in a future release.

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:

 
BackgroundImage     = new Uri("isostore:/Shared/ShellContent/TileBackground.jpg", UriKind.Absolute),
BackBackgroundImage = new Uri("isostore:/Shared/ShellContent/BackTileBackground.jpg", UriKind.Absolute)

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.

  • Flush interval

  • Temp path / temp file directory

  • Persist security info

  • Locale identifier

  • Default lock timeout

  • Default Lock escalation

  • Encrypt database

  • Encryption mode

  • Enlist

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.

Back to Top

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.