10

我有一个开发人员昨天解锁了Lumia 635 ,更新到了Windows 10 Mobile Technical Preview(操作系统版本:10.0.12562.84)。

在 Visual Studio 2015 RC 中创建面向Windows Phone 10的“空白应用程序(Windows 通用)”并尝试将其部署到设备(并为此目的将配置更改为 ARM)后,我遇到了这个错误:

错误:DEP0001:意外错误:无法满足安装的先决条件。(HRESULT 异常:0x80073CFD)

快速查看应用程序“引用”后,发现其中一些特定于Application Insights(以及其他少数几个),而忽略了我之前专门取消选中项目创建对话框中的Application Insights集成这一事实(惊喜! )。所以我把它们全部删除了,只剩下以下内容(似乎无法删除):

  1. 分析
  2. 适用于 Windows 应用商店应用的 .NET
  3. Windows 通用

但这并没有帮助,不幸的是 - 仍然无法将这个“默认”应用程序部署到手机上。

不过,将我当前工作的面向Windows Phone 8.1的通用应用程序部署到这款手机是完美无缺的。

工作操作系统是Windows 8.1 Pro,如果有的话。

更新

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

4

6 回答 6

12

我在 .NET/UWP 团队。微软官方给出的答案在这里:

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

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

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

  • 我在我的 SurfacePro1 上“干净”地安装了它。为此,首先从http://windows.microsoft.com/en-us/windows/preview-download下载 Windows10 的 ISO ,然后使用“Rufus” http://rufus.akeo.ie/创建一个来自 ISO 的可安装 USB 映像。在 Rufus 中,对于我的 SurfacePro1,我必须选择“FAT32”和“GPT for UEFI”。我不知道你在其他机器上需要什么。

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

  • 在安装过程中,您可以选择要安装的组件。您应该选择“Windows 10 工具和模拟器”。安装需要一到几个小时。
  • 它将安装 Windows 10 SDK 版本 10069。
  • 安装程序存在一些故障。如果您返回到 AddRemovePrograms 并修改安装了 VS2015 RC 的哪些组件,那么它最终安装的数量超出了实际应有的数量。
  • 第一次运行VS时,它会询问您是否要登录。我总是单击“否”,然后它会问我更多配置问题。但是,如果我回答“是”并登录,那么它会绕过所有这些配置问题,并最终变得更快。经验教训:我现在总是登录。

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

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

  • 解锁说明位于https://msdn.microsoft.com/en-us/library/windows/apps/dn706236.aspx。这是一个“TL;DR”版本:
  • 运行 gpedit.msc > 本地计算机策略 > 计算机配置 > 管理模板 > Windows 组件 > 应用程序包部署。然后右键启用两件事,
  • “允许安装所有受信任的应用程序”
  • “允许开发 Windows 应用商店应用程序”

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

关于 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”。

这两件事都由 Project>Properties 对话框控制,并且实际上存储在 .csproj/.vbproj 中。

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

于 2015-05-20T16:37:35.780 回答
2

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

再次部署!

希望这可以帮助!

于 2016-04-06T08:25:11.247 回答
1

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

<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.1.0" MaxVersionTested="10.0.1.0" />
于 2015-05-02T00:37:44.897 回答
1

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

在@user4855870 的回复之后,我终于能够将我的空白通用应用程序部署到运行 W10 TP 的 Lumia 520 上。

1) 在手机上,转到设置、系统、关于、更多信息并记下操作系统版本(在我的情况下是 10.0.12534.59);

2) 在 Visual Studio 上,打开 Package.appxmanifest 并在 @user4855870 提到的同一行中,在“MinVersion”上写入“10.0.1.0”,在“MaxVersionTested”上写入您从手机获得的操作系统版本。

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

我的空白通用应用程序可以在计算机和手机上正常运行;)

于 2015-05-05T10:07:21.560 回答
0

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

简短的回答

在您项目的Package.appxmanifest中,将“10.0.10069.0”更改MinVersion为“ 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”模板创建的项目后,Visual Studio 中的解决方案资源管理器中可用的原始Package.appxmanifest将复制到YourBlankWin10PhoneProject\bin\x86\Debug\Core\AppxManifest.xml(注意路径中的Core子文件夹)并更新为新的依赖项 - .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的,这两个依赖项是不同的,并且应用程序的依赖项大于核心运行时组件的依赖项。现在,如果您从解决方案资源管理器中更新原始MinVersionPackage.appxmanifest匹配包,即1.0.22816.1,下次您将构建项目时,清单的核心副本将相应更新:MinVersionMicrosoft.NET.CoreRuntime.1.0

<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>

现在应用程序应该毫无问题地部署到手机上。

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

于 2015-05-07T23:04:10.130 回答
-1

目前不支持将 Windows 10 应用部署到手机*。该功能预计将在未来的更新中(针对 Windows 10 的手机版本、开发人员工具或两者)。

现在,您可以使用模拟器在手机外形尺寸上测试应用程序。

编辑:这是微软官方的说法: MS 开发者工具博客链接

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

于 2015-05-07T10:25:11.810 回答