以下是 Windows Phone SDK 8.0 的发行说明。Windows Phone SDK 8.0 包含您开发 Windows Phone 应用所需要的工具。该发行说明为您提供与使用 Windows Phone SDK 8.0 开发 Windows Phone 应用相关的已知问题。

发行说明包含下列几节。

新增功能

早期版本

已知问题

重大更改

Windows Phone 的 OData 客户端工具

新增功能

早期版本

已知问题

下列几节包含 Windows Phone SDK 8.0 中已知问题的详细信息。

卸载

Windows Phone 模拟器

Visual Studio

Visual Studio 设计器

应用清单

语音

本机应用

相机

本地化

卸载

  • 卸载 Windows Phone SDK 8.0 后,Windows Phone SDK 7.1 状态可能变得不稳定。

    用户影响: Windows Phone SDK 7.1 可能会不稳定。

    解决方法: 卸载 Windows Phone SDK 8.0 后,卸载 Windows Phone SDK 7.1.1 更新,卸载 Windows Phone SDK 7.1,然后重新安装 Windows Phone SDK 7.1,并重新安装 Windows Phone SDK 7.1.1 更新。

  • 卸载 Visual Studio 2012 后,本机探查器可能会停止工作。

    用户影响: 您无法使用本机探查器。

    解决方法: 通过从“控制面板”“程序和功能”中选择 Windows Phone SDK 8.0 来修复它。

Windows Phone 模拟器

  • 当您在 Windows Phone 7.1 模拟器上后退或快进时,H.264 音频不与视频同步。

    用户影响: 音频和视频同步可能在 Windows Phone 7.1 模拟器上出现断开。

    解决方法: 无。

  • 如果在记录开始前调用 H.264 video-capture API (Windows.Phone.Media.Capture.KnownCameraAudioVideoProperties.H264*),您的应用可能会在记录期间崩溃。

    用户影响: 应用将意外关闭,且模拟器将返回到“开始”

    解决方法: 使用 Windows Phone 8 设备进行调试。

  • 模拟器不支持 ICameraCaptureDeviceNative::GetPreviewBufferTexture 本机相机方法。

    用户影响: 如果在模拟器上运行的同时,调用 ICameraCaptureDeviceNative::GetPreviewBufferTexture,将发生 0x80004001 错误。

    解决方法: 使用 Windows Phone 8 设备进行调试。

  • 模拟器不支持 Windows.Phone.Media.Capture.CaptureSequence.Frames[0].AppliedProperties

    用户影响: 调用 AppliedProperties 时,引发了 ObjectDisposedException

    解决方法: 使用 try/catch 语句围绕 AppliedProperties 调用来捕捉该异常。

  • 模拟器相机可能未以预期的方向保存照片。

    用户影响: 模拟器相机中的照片可能会以错误方向显示和/或被垂直翻转。

    解决方法: 使用 Windows Phone 8 设备进行调试。

  • 如果应用创建了 Direct3D 图形设备并要求高于 9_3 的功能级别,将仅在模拟器上而不是设备上成功创建该设备。

    用户影响: 当应用在手机上运行时,它无法使用高于 9_3 的功能级别创建 Direct3D 图形设备,隐藏要求更高功能级别功能的某些代码可以在模拟器上工作,但却无法在物理设备上工作。

    解决方法: 使用 Windows Phone 8 设备测试特定于 Direct3D 的代码。或者,在创建新项目时,修改 Direct3DBase.cpp,以从 D3D11CreateDevice 函数的 pFeatureLevel 参数提供的 D3D_FEATURE_LEVEL 值的数组中,删除除 9_3 外的所有功能级别。

  • 如果应用在 WMAppManifest.xml 文件中列出了 ID_REQ_GYROSCOPE 或 ID_REQ_MAGNETOMETER 硬件要求,则您无法将应用部署到模拟器中。

    用户影响: 如果您尝试将已在 WMAppManifest.xml 文件中设置了陀螺仪、罗盘或近场通信 (NFC) 功能的应用部署到模拟器,您将收到下列错误信息:Installation of the application failed.发生运行时错误。修复 WMAppManifest.xml 文件中的功能。

    解决方法: 如果应用需要这些要求,请在 Windows Phone 8 设备上,而不是在模拟器上测试该应用。

Visual Studio

  • 地图控件 (Microsoft.Phone.Maps.* namespaces) 的 IntelliSense 文件没有包含在 SDK 中。

    用户影响: 当您正在使用 Microsoft.Phone.Maps.* 命名空间中的 API 时,IDE 中未显示任何的 IntelliSense。

    解决方法: 从下列位置下载用于Map控件的 IntelliSense .zip 文件:

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

    解压缩已下载文件并选择与已安装的 SDK 语言版本相对应的 IntelliSense 文件。

    将选定的文件复制到 SDK 安装目录中的以下位置:

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

  • 当您尝试将不受支持的引用添加到 Windows Phone 项目的可移植库项目时,会显示不正确的错误消息。

    用户影响: 您可能会看到不正确的错误信息,如下所示:

    Failed to add reference.无法添加指向‘PortableViewModel40’的引用。用户已取消并退出保存对话框(来自 HRESULT 的异常:0x8004000C (OLE_E_PROMPTSAVECANCELLED))

    解决方法: 转到可移植类库项目属性中的“库”选项卡,并修改项目目标框架以支持您想要引用的 Windows Phone 版本。

  • 使用 Visual Studio 2012中的代码时,请使用向上键和向下键在未按预期工作的 IntelliSense 列表中选择项目。

    用户影响: 使用 Visual Studio 2012 中的 IntelliSense 时,您可能很难使用向上键和向下键在 IntelliSense 列表中选择 IntelliSense 项目。

    解决方法: 请按 ESC 键关闭当前的 IntelliSense 列表并释放光标。

  • 对象浏览器不会显示特定于手机项目的 Windows.winmd 或 Platform.winmd 内容。

    用户影响: Visual Studio 可能会冻结,对象浏览器不显示 Windows.winmd 或 Platform.winmd 的内容。在某些情况下,对象浏览器可能会显示正确信息,然而,使用对象浏览器导航到 Windows.winmd 或 Platform.winmd 文件无法正常工作。

    解决方法: 当前无可用解决方法,但 Visual Studio 更新已计划了一种解决方案。

  • 当后台线程上发生资源争用时,System.Threading.ReaderWriterLockSlim.TryEnterWriteLock 方法将引发 MethodAccessException

    用户影响: ReaderWriterLockSlim.TryEnterWriteLock 方法将在正常使用期间接收 MethodAccessExceptions。将显示以下异常:

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

    解决方法: 避免使用 ReaderWriterLockSlim 对象。使用其他同步基元,如Monitor类。作为一种替代方法,可在类级别上使用 System.Threading.SemaphoreSlim 对象。

  • 当 XAML 引用的对象包含以下内容,在 Visual Studio 中生成项目将失败:

    • 已包装在另一个值类型中的 WINPRT enum 或 WINPRT enum。

    • 其 WINPRT enum 或 WINPRT enum 已包装在另一个值类型中的虚方法签名。

    用户影响: Visual Studio 无法生成该项目。

    解决方法: 在托管类中包装 WINPRT 类型。

  • 当 Windows Phone 7.1 WINPRT 项目的配置已更改为 ARM\x86 时,该项目将不再接受生成任务检查。

    用户影响: 在 Visual Studio 中,Windows Phone 7.1 项目不发生重新生成和清除操作。

    解决方法: 若要在 Visual Studio 中生成项目,请在 Visual Studio 中标记要生成的项目。

Visual Studio 设计器

  • 在 Windows Phone 8 应用的 Visual Studio 设计器视图中,当应用引用面向以下平台的任何组合的可移植类库时将发生异常:适用于 Windows Store 应用和 Windows Phone 8 的 .NET Framework 4.5、.NET Framework。当发生这种情况时,将显示以下错误:Error HRESULT E_FAIL has been returned from a call to a COM component.

    用户影响: 如果您的应用引用了面向这三个平台任意组合的可移植类库,您将无法使用 Visual Studio 设计器。

    解决方法: 在 Expression Blend 中,而不是在 Visual Studio 设计器中使用设计器。或者,更改可移植库的目标以包括以下任何一项:.NET Framework 4.0.3 或更早版本、Windows Phone 7.5 或更早版本、Silverlight 5 或更早版本或 Xbox 360。或者,删除对可移植类库项目的引用,并使用生成项目时所产生的 DLL 的引用来替代它。

应用清单

语音

  • 为 JPN 区域设置创建的列表语法上的断词可能不正确。

    用户影响: 无法识别 JPN 区域设置的某些常用单词。

    解决方法: 面向 JPN 区域设置的开发人员应始终使用语音识别语法规范 (SRGS) 语法,并避免使用列表语法。

  • 如果用户更改了他们的 Windows Phone 区域设置,使用语音语法的应用可能会遭遇错误。出现此错误是因为,区域设置对相关的区域特定的格式值进行了强制性地格式更改。受影响的值包括重量、重复概率、浮动变量标记、体积、比率、间距、时间和轮廓线。

    用户影响: 更改了区域设置的用户可能在语音应用中遇到错误。

    解决方法: 在语音合成标记语言 (SSML) 中,不要使用非整数 XML 值。

本机应用

  • 在仅限本机应用(即,不包含 XAML 的应用)中,如果从应用的主线程中调用 CurrentApp::LicenseInformation->IsTrial API,将引发异常。

    用户影响: 使用仅限本机的开发人员将不能判断应用是否处于试用模式。

    解决方法: 从不同线程中调用 API,如下所示:

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

    {

    auto value = CurrentApp::LicenseInformation->IsTrial;

    }));

相机

  • 如果照片是在手机处于反转向或纵向方向时捕获的,自动选择的方向可能会倒置。

    用户影响: 在本机拍照中,照片将倒置。

    解决方法: 将应用限制为横向或使用 Windows.Phone.Media.Capture.KnownCameraGeneralProperties.EncodeWithOrientation 直接指定图像方向。

    注意:

    加速度计 API 需要检测反转向。

本地化

重大更改

您将在 Windows Phone 8 开发人员文档的 Windows Phone 应用平台兼容性主题中找到关于 SDK 中重大更改的信息。

Windows Phone 的 OData 客户端工具

版权和保密性声明

本文档按原样提供。本文档中的信息,包括 URL 和其他 Internet 网站引用,如有更改,恕不另行通知。

此处列举的一些示例纯属虚构,仅用于说明目的。它们不指示任何实际联系,也不应做出此推断。

本文档不向您提供对任何 Microsoft 产品中的知识产权的任何法律权利。您可以出于内部原因、参考目的和无任何目的复制并使用本文档,无需 Microsoft Corporation 明确的书面许可。

© 2012 Microsoft Corporation. 保留所有权利。

Microsoft、ActiveX、Authenticode、Bing、Calibri、Direct3D、DirectX、DreamSpark、Excel、Expression、Expression Blend、Georgia、Hyper-V、InPrivate、IntelliSense、Internet Explorer、Jscript、Kinect、MS、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 和 Zune 都是 Microsoft 集团公司的商标。

所有其他商标是其各自所有者的财产。