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

使用 Visual Studio 生成通用的 XAML 应用程序 (Windows Phone 和 Windows 通用程序)的更多相关文章

  1. Visual Studio 生成事件命令

    Visual Studio在生成项目工程前后,有时我们需要做一些特殊的操作,比如:拷贝生成的dll到指定目标下面等. 结合VS可以添加预先生成事件和后期生成事件,采用命令或bat批处理. 1.Visu ...

  2. 总结 Visual Studio 2019 发布以来 XAML 工具的改进

    不知不觉,Visual Studio 2019 已经出到 16.8 和 16.9 Preview 了.虽然每次更新都林林总总地一大堆新功能和改进,但关于 XAML 的内容总是,always,每次都只有 ...

  3. visual studio 2017 installer 安装包制作过程出现的问题---此安装程序需要.NET Framework 版本 3.5,请安装该版本,然后重新运行此安装程序,可以从Web获得.NET Framework 。要立即做此事吗?

    图一 visual studio 2017 installer 打包完成以后进行安装时,提示信息 “安装此安装程序需要.NET Framework 版本 3.5,请安装该版本,然后重新运行此安装程序, ...

  4. Visual Studio 生成DLL文件

    新建一个项目,在菜单栏中选择“项目”/“**属性”选项,该页面中将“输出类型”下拉列表中的选项选择为“类库”,然后重新生成一下该项目,或者在“Visual Studio 2008命令提示”中输入以下命 ...

  5. 探索Visual Studio生成的.vs文件夹内部结构和作用

    这里直接先将我摸索出的结果贴出来,文章后面会一一详细说明和分析:.vs目录是用来存储当前用户在解决方案中的工作配置,具体包括VS关闭前最后的窗口布局.最后打开的选项卡/操作记录/文件文档.某些自定义配 ...

  6. Visual Studio生成webservice代理类

    首先点击 vs菜单栏->工具 ,选择 外部工具, 在弹出的窗口中点击 添加, 然后在“标题”行中输入"WSDL生成代理类", "命令"行中输入" ...

  7. 探究Visual Studio生成的.vs文件夹内部结构和作用

    https://shiyousan.com/post/636441130259624698 在某个契机的引发下,对VS解决方案中自动生成的.vs文件夹产生了兴趣,以前总对这个文件夹不怎么上心,最近正好 ...

  8. Visual Studio 生成事件这件小事

    在上一篇<Visual Studio 调试技巧>中,介绍了一些VS常用的调试操作,今天,聊一聊VS当中一个不太常见,但有时又有妙用的操作——VS生成事件. 一.什么是VS生成事件 简单来说 ...

  9. C#.NET 中visual studio生成的.pdb/ .vshost.exe/ .vshost.exe.manifest文件是什么

      pdb文件: 英文全称:Program Database File 中文全称:程序数据库 文件 Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配 ...

随机推荐

  1. POJ 1416 Shredding Company

    题目: http://poj.org/problem?id=1416 又16ms 1A了,这人品... #include <stdio.h> #include <string.h&g ...

  2. IT全称

    1.jar,war,ear(摘自:http://blog.sina.com.cn/s/blog_54bb7b950100wnbb.html) Jar文件(扩展名为. Jar)包含Java类的普通库.资 ...

  3. Hdu 2979 Expensive Drink

    Description There are some water, milk and wine in your kitchen. Your naughty little sister made som ...

  4. 从 IT 中断中学到的最佳监控实践

    每个运维监控工具,一般要追踪数十万个内部性能指标.学会对哪些事件进行告警以及监控确实需要花费想当长的一段时间.因为,并非所有的指标等级都是一致.因此我们需要摸索出一套简单的方法,便于管理所有指标,而且 ...

  5. WordPress 全方位优化指南(上)

    作为一个全面的 WordPress 性能优化教程,本文旨在帮助读者排查 WordPress 网站的性能问题,同时也提供网站前端优化加速的建议. 如果你曾经遇到过 WordPress 管理界面加载缓慢. ...

  6. 创建基于文件组的数据库SQL救命语句

    CREATE DATABASE Sales ON PRIMARY (NAME = SPri1_dat, FILENAME = 'D:\SQLDB\SPri1dat.mdf', SIZE , MAXSI ...

  7. Java运算符(一)equals方法与“==”

    超类Object的equals只是比较两者之间的引用对象是否相同,这一点跟操作符“==”是一样的. 在基本数据类型中,“==”用于比较两者之间的值(内容)是否相等. 在引用类型中,“==”用于比较两者 ...

  8. Inline Hook NtQueryDirectoryFile

    Inline Hook NtQueryDirectoryFile 首先声明这个是菜鸟—我的学习日记,不是什么高深文章,高手们慎看. 都总是发一些已经过时的文章真不好意思,几个月以来沉迷于游戏也是时候反 ...

  9. Android用户界面 UI组件--AdapterView及其子类(一) ListView及各种Adapter详解

    ListView就是列表组件,一般通过继承ListActivity使用系统提供的ListView. 所有的AdapterView组件都需要有一个对应的Adapter作为适配器来显示列表中元素的布局方式 ...

  10. jquery 提示插件 cluetip

    jquery的 插件cluetip, 地址下载是:plugins.learningjquery.com/cluetip/demo/ 下面简单讲解下用法: 1 首先当然要放JQUERY的基本JS,和这个 ...