无法使用 Windows 10 移动技术预览将通用应用程序部署到 phone

Can't deploy universal app to phone with Windows 10 Mobile Tech Preview

我有一个开发者解锁了 Lumia 635 就在昨天更新到 Windows 10 Mobile Technical Preview(OS 版本:10.0.12562.84).

在 Visual Studio 2015 RC 中创建 "Blank App (Windows Universal)" 目标 Windows Phone 10 并尝试将其部署到设备上(并为此目的将配置更改为 ARM)我遇到了这个错误:

Error : DEP0001 : Unexpected Error: A Prerequisite for an install could not be satisfied. (Exception from HRESULT: 0x80073CFD)

快速查看应用 "references" 后发现其中一些特定于 Application Insights(以及少数其他应用),而忽略了我专门 未选中 Application Insights 之前在项目创建对话框中的集成(惊喜!)。所以我将它们全部删除,只留下以下内容(似乎无法删除):

  1. 分析
  2. .NET 用于 Windows 商店应用程序
  3. Windows 通用

但这并没有帮助,不幸的是 - 仍然无法将此 "default" 应用程序部署到 phone。

尽管如此,部署我当前的目标 Windows Phone 8.1 的通用应用程序对于这个 phone 来说是完美的。

工作 OS 是 Windows 8.1 Pro,如果有的话。

更新

上面的删除线不再重要,请参阅已接受的答案。

在 Package.appxmanifest 中尝试将 TargetDeviceFamily 更改为以下内容:

<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.1.0" MaxVersionTested="10.0.1.0" />

我刚刚遇到了@Sevenate 描述的相同问题。

根据@user4855870 的回复,我终于可以将我的空白通用应用程序部署到我的 Lumia 520 运行 W10 TP。

1) 在 phone 上,转到“设置”、“系统”、“关于”、“更多信息”并记下 OS 版本(在我的例子中是 10.0.12534.59);

2) 在 Visual Studio 上,打开 Package.appxmanifest 并在 @user4855870 在 "MinVersion" 上提到的同一行中写入“10.0.1.0”,在 "MaxVersionTested" 上写下您从 phone.

获得的 OS 版本
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.1.0" MaxVersionTested="10.0.12534.59" />

我的空白通用应用程序可以在计算机上运行,​​并且 phone 正常 ;)

目前不支持将 Windows 10 应用程序部署到 phones*。该功能预计会在未来的更新中出现(Windows 10 的 phone 版本、开发人员工具或两者)。

现在您可以使用模拟器在 phone 外形规格上测试应用程序。

编辑:这是微软的官方说法: MS Developer Tools Blog link

*看起来有些人能够破解它来工作

好的,我终于成功地将这个示例应用程序部署到 Windows Phone 10.

简答

在您项目的 Package.appxmanifest 中,将 MinVersion 从“10.0.10069.0”更改为“1.0.22816.1”(出乎意料,哈?)像这样:

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal"
                        MinVersion="1.0.22816.1"
                        MaxVersionTested="10.0.10069.0" />
</Dependencies>

更长的答案

在您构建刚从 VS2015 RC 中的新 "Windows 10 Universal Blank App" 模板创建的项目后,原始 Package.appxmanifest 可从 [=69 中的解决方案资源管理器获得=] 将复制到 YourBlankWin10PhoneProject\bin\x86\Debug\Core\AppxManifest.xml(注意路径中的 Core 子文件夹)和 updated 以及新的依赖 - .NET Core 运行时 包:

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal"
                        MinVersion="10.0.10069.0"
                        MaxVersionTested="10.0.10069.0" />
    <PackageDependency Name="Microsoft.NET.CoreRuntime.1.0"
                       MinVersion="1.0.22816.1"
                       Publisher="CN=Microsoft Corporation, O=Microsoft Corporation,
                       L=Redmond, S=Washington, C=US" />
</Dependencies>

(不要与原始未修改版本清单的另一个副本混淆,位于YourBlankWin10PhoneProject\bin\x86\Debug\AppxManifest.xml

如您所见,MinVersion 两个依赖项不同,应用程序的 比核心运行时组件的 大。现在,如果您从解决方案资源管理器中更新原始 Package.appxmanifest 中的 MinVersion 以匹配 Microsoft.NET.CoreRuntime.1.0 包的 MinVersion,即1.0.22816.1,下次您构建项目时,清单的 Core 副本将相应更新:

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal"
                        MinVersion="1.0.22816.1"
                        MaxVersionTested="10.0.10069.0" />
    <PackageDependency Name="Microsoft.NET.CoreRuntime.1.0"
                       MinVersion="1.0.22816.1"
                       Publisher="CN=Microsoft Corporation, O=Microsoft Corporation,
                       L=Redmond, S=Washington, C=US" />
</Dependencies>

现在应用程序应该可以毫无问题地部署到 phone。

PS。在 Deep Dive into XAML and .NET Universal Windows App Development 视频中找到解决此问题的提示,快进到 0:19:50

我在 .NET/UWP 团队。微软官方回答在这里:

https://msdn.microsoft.com/en-us/library/windows/apps/dn706236.aspx?f=255&MSPPError=-2147217396

让我写出上面 link 的步骤。这些步骤今天适用(2015 年 5 月 20 日,使用在 BUILD 上发布的 VS2015 RC。)在 5 月 14 日之前无法部署到移动设备,当时 Win10 Mobile 的正确版本出来了。

您的机器应该是 运行ning Windows 10,内部版本 10074 或更高版本,来自这里:https://insider.windows.com/

从这里安装 VS2015 RC:https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx

  • 在安装过程中,您可以选择要安装的组件。你应该选择"Windows 10 tools and emulators"。安装需要一到几个小时。
  • 它将安装 Windows 10 SDK 版本 10069。
  • 安装程序存在一些问题。如果您返回到 AddRemovePrograms 并修改安装了 VS2015 RC 的哪些组件,那么它最终会安装比实际更多的组件。
  • 第一次使用 VS 运行s 时,它会询问您是否要登录。我以前总是单击 "no",然后它会问我更多配置问题。但是如果我回答 "yes" 并登录,那么它会绕过所有这些配置问题,并且最终会更快。经验教训:我现在总是登录。

您可以在模拟器上运行 Win10 应用程序。模拟器附带 Win10 SDK,运行ning 版本 10069 Win10.Mobile 操作系统也是如此。

您可以在本地计算机上 运行 Win10 应用程序。为此,您的本地计算机必须是 Win10.Desktop 版本 10074 或更高版本并且必须解锁。

  • 解锁说明在https://msdn.microsoft.com/en-us/library/windows/apps/dn706236.aspx。这是一个 "TL;DR" 版本:
  • 运行 gpedit.msc > 本地计算机策略 > 计算机配置 > 管理模板 > Windows 组件 > 应用包部署。然后右键启用两个东西,
  • "Allow all trusted apps to install"
  • "Allow development of Windows Store apps"

您可以在 phone 上 运行 Win10 应用程序。为此,您的 phone 必须是 Win10.Mobile 版本 10080 或更高版本(5 月 14 日发布)。您的 phone 必须解锁。

关于 Win10 的关键事实是,您可以针对一个特定的 SDK(例如在 //BUILD 发布的 10069 SDK)编写软件,并且仍然运行它在更新版本的 Win10 上(例如,Win10.Desktop 计划的当前编号为 10074,Win10.Mobile 内部程序的当前编号为 10080。

在 .appxmanifest 文件中,MinVersion="10.0.10069.0" 表示您的应用程序将拒绝部署到任何 运行使用较低版本 Win10 的计算机。

在 .appxmanifest 文件中,MaxVersionTested="10.0.10074.0" 表示如果您的应用部署到 运行 更高版本 Win10 的机器上,那么它可能必须执行 "quirking".

这两个东西都由“项目”>“属性”对话框控制,并且实际上存储在 .csproj/.vbproj 中。

@user4855870、@Rexobias 和@Sevenate 的回答都是黑客。他们坚持为 MinVersion 人为设置低版本,以解决他们尚未更新设备的事实。这是一个公平的方法(我在等待 Win10.Mobile 10080 版本发布时这样做了)。但是既然已经发布了,就不需要这些黑客了,你应该只更新你的设备。

我发现: 解决方案资源管理器 -> 右键单击​​项目 -> 属性 -> 调试 -> 启动选项 -> 目标设备:选择设备并保存。

再次部署!

希望对您有所帮助!