将windows8.1&wp8.1的应用迁移到Universal Windows Platform

发布时间:2015-06-09 14:07:33   来源:文档文库   
字号:

windows8.1&wp8.1的应用迁移到Universal Windows Platform


2015RC中,我们可以将8.1的应用迁移到统一平台上,进而使用新的API进行开发,下面我们使用wp8.1的应用作为例子讲解下步骤。
1.首先我们使用2015打开之前的工程。


2.右键点击工程,选择“卸载项目”。



3.右键点击工程,选择“编辑XXX.csproj”


4.取得平台版本号,路径是“\Program Files (x86)\Windows Kits\10\Platforms\UAP”


下面就开始修改工程文件了

5. 找到个包含子节点TargetPlatformVersion、且值为8.1的PropertyGroup节点(其实一般第一个PropertyGroup就是了),进行下面的修改:
 把Platform的值改成x86
 添加TargetPlatformIdentifier节点,值为UAP
 把TargetPlatformVersion的值改成4中取得的版本号
 添加TargetPlatformMinVersion节点,值为4中的版本号
 把MinimumVisualStudioVersion的值改成14
 把ProjectTypeGuids的值改成{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
 添加EnableDotNetNativeCompatibleProfile节点,值为true


6.把所有的vs版本从12.0替换成14.0,这一步直接替换即可(CTRL+H)



7.删掉配置为AnyCPU的PropertyGroup节点
8.查看剩下配置是Release的PropertyGroup节点,如果下面没有UseDotNetNativeToolchain子节点的话,就动手加一个,值一定要是true,即:
true
9.如果是手机项目的话,还需要删除下面这个节点


10.现在重新加载我们的工程,会发现工程类型变成了Windows Universal了!下面还是需要修改manifest。


11.打开manifest文件,首先我们需要替换掉所有的schema,把Package节点用下面这段替换。 
http://schemas.microsoft.com/a ... ot%3B xmlns:mp="http://schemas.microsoft.com/a ... ot%3B IgnorableNamespaces= "uap mp">

对于Win8.1应用,还需要额外添加mp:PhoneIdentity的节点,如下,其中PhoneProductId就是Identity的Name, PhonePushedId目前是固定的值
 
Publisher="CN=xxxxxxx" Version="1.0.0.0" />

12.在Package下添加如下子节点,其中的版本号就是我们之前一直用的


13.删除Prerequisites节点
14.检查你的Resources节点,如果是用到了Scale和DXFeatureLevel的话,为他们加上uap命名空间,如下 

15.检查你的Capability节点,如果使用声明了下列这些权限,需要加上uap命名空间。
documentsLibrary
picturesLibrary
videosLibrary
musicLibrary
enterpriseAuthentication
sharedUserCertificates
removableStorage
appointments
contacts
如:



16.将VirsualElements节点及其子节点的命名空间改成uap  

对于Win8.1应用,这里需要注意的是,属性Square{SIZE}Logo中的size有了变化,70x70变成了71x71, 30x30变成44x44.

旧的:


新的:


17.检查Extensions节点,为下列节点添加命名空间uap
windows.accountPictureProvide
windows.alarm
windows.appointmentsProvider
windows.autoPlayContent
windows.autoPlayDevice
windows.cachedFileUpdate
windows.cameraSettings
windows.fileOpenPicker
windows.fileTypeAssociation
windows.fileSavePicke
windows.lockScreenCall
windows.printTaskSettings
windows.protocol
windows.search
windows.shareTarget
如:
MailTo Protocol

18.为类型为chatMessageNotification的后台任务加上uap命名空间如:


19.修改PackageDependency,添加Publisher和MinVersion属性


20.将类型为gattCharacteristicNotification 和rfcommConnection的后台任务替换为Bluetooth类型。 


21.使用新的bluetooth capability替换bluetooth.rfcomm和bluetooth.genericAttributeProfile 
旧的:

新的:


22. 删除Windows.contact和windows.contactPicker扩展
23. 删除VisualElements的ForgroundText和ToastCapable属性
24. 删除DefaultTitle的DefaultSize属性
25. 删除ApplicationView节点
26. 到此manifest文件就修改完了,保存吧!虽然看上去步骤有点多,其实17之后的很多步骤可能是用不到的
27. 下面我们需要删除一些额外的文件
检查解决方案目录下的子目录"\.vs\{project name}\v14",如果存在".suo"文件,删掉它



删除掉工程目录下所有的后缀为.csproj.user文件



现在我们的工程就已经成功的迁移到了Universal Windows Platform了,但是对于很多应用来说,还是需要进一步修改code,因为Windows 10的很多API都有了变化。
 

本文来源:https://www.2haoxitong.net/k/doc/760f6649a1c7aa00b52acbf3.html

《将windows8.1&wp8.1的应用迁移到Universal Windows Platform.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式