使用 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 工具的功能。