使用 Visual Studio 生成通用的 XAML 应用程序

[原文发表地址] Using Visual Studio to build Universal XAML Apps

[原文发表时间] 4/14/2014

在Build会议上,我们发布了新的版本---Windows Phone 8.1、 Windows 8.1 平台。作为开发人员,这意味着您现在可以生成 XAML 和 HTML 的通用程序,并通过分享大量的代码和内容使其运行在手机和平板电脑上。为了使构建通用程序可用,我们在Visual Studio中添加了许多新功能作为Visual Studio 更新 2 RC的一部分.

您有两种方式来了解关于这些功能的更多信息。一种方法是通过这篇博客。另一个方式是收看我的Build talk视频,它涵盖了所有的资料,你将看到更多详细信息:

在这里没有对或错的方式,所以选择视频或博客取决于你的时间。不要再耽搁了,让我们快点来看看通用应用程序吧!

创建通用的应用程序

为了帮助您用 C#、 c + + 和 JS 建立通用程序,我们创建了新的项目模板,包含基本结构和后台的配置,使您可以共享代码和内容:

如果您已经有一个存在的 Windows 8.1 应用程序,你可以使用"添加 Windows Phone 8.1"命令在解决方案中添加一个新的 Windows Phone 8.1 项目和共享的项目。而如果你已有一个 Windows Phone 8.1 的应用程序,并想要添加 Windows 8.1 的支持,也可以用类似的选项。

通用应用程序的结构

一个通用应用程序是三个项目的集合 — — Windows Store 项目、 Windows Phone 项目和共享项目——包含在解决方案文件夹中,是可选的。Windows Store 和 Windows Phone 是平台项目,并且负责创建针对各自平台的应用程序包 (.appx) 。这些项目包含特定的目标平台的资产。

共享项目包含 Windows Store 和 Windows Phone 项目之间共享的资产。共享项目支持的项目类型 (.cs、 xaml、.xml、.png、.resw 等) 和平台项目相同。共享的工程本身不具有二进制输出,但它们的内容是由平台项目导入,并作为Windows Store和 Windows Phone 应用程序包 (.appx)生成过程的一部分来使用。

在共享项目中编写代码

在开发通用应用程序时,您主要是将写的代码运行在这两个平台上。假如需要,您也可以在共享项目中使用 #if 和 #endif 指令编写平台特定的代码。默认情况下,我们预定义了如下的条件编译常数,你可以利用它们编写特定的平台代码。

C#

WINDOWS_APP

WINDOWS_PHONE_APP

C + +

WINAPI_FAMILY_PC_APP

WINAPI_FAMILY_PHONE_APP

在编辑器中的上下文切换器

在一个共享项目中编写代码时,可以使用导航栏中的项目上下文切换器选择您正在操作的目标,进而在代码编辑器中推动相应平台的智能感知体验。

使用调试目标下拉列表切换启动项目

我们还增加了在调试目标下拉列表中快速切换启动项目的功能,可以在解决方案中列举出所有你可能想部署到设备或仿真程序/仿真的解决方案中所有可能的项目。

在通用的应用程序之间共享代码

您可以在不同的通用应用程序间使用类库来共享您的代码。对于 C# 和 Visual Basic,我们改善了现有的便携式类库 (PCLs) ,使我们在指定的 Windows 8.1 和 Windows Phone 8.1 平台上支持 Windows Runtime和 XAML 。阅读此博客获取更多关于PCL 改进的详细信息.

对于C + +,你可以使用"通用应用程序"下的新的类库项目模板来在 Windows 8.1 和 Windows Phone 8.1 类库之间用共享项目分享您的代码。

我希望你感觉这个对构建 XAML 的通用应用程序的概述有用。如果您有任何疑问或意见,请随时跟帖或通过论坛UserVoice与我们联络。敬请关注另一篇博客,它解释了我们在Visual Studio中添加的,用以支持 Windows Phone 8.1 应用程序的新的XAML 工具的功能。