【问题标题】:Windows SDK UWP App Error - DEP3321Windows SDK UWP 应用程序错误 - DEP3321
【发布时间】:2017-09-11 10:48:55
【问题描述】:

我一直在与 DEP3321 作斗争:要部署此应用程序,您的部署目标应该运行 Windows 通用运行时版本 10.0.14393.0 或更高版本。您当前正在运行版本 10.0.10586.839。请更新您的操作系统,或将您的部署目标更改为具有适当版本的设备。过去几天。

我有一个无法在我的机器上运行的 UWP 应用。但是,如果我选择其中一个模拟器,它运行良好。我还设置了确保应用程序运行的最小目标值,但是应用程序会抛出错误,因为它在 SDK 的较低版本中找不到某些方法。

我尝试过修复和卸载/重新安装 Visual Studio 2015 和 2017。我也尝试过使用各种 Windows SDK。在某一时刻,我安装了三个不同版本的 SDK,即使我安装了更新版本,Visual Studio 仍然在抱怨。目前,我已经安装了win sdk 10.0.15063.17。

任何想法我下一步可以做什么来解决这个问题。我搜索了各种 SO 页面以及 social.msdn 页面,但都没有运气。

非常感谢

【问题讨论】:

    标签: visual-studio uwp


    【解决方案1】:

    我刚刚启动了一个新应用程序并选择了最高目标级别并收到此错误。我可以通过选择默认的最小最小目标版本来摆脱这个错误,如下所示。

    【讨论】:

    【解决方案2】:

    我也遇到了同样的问题

    严重性代码描述项目文件行抑制状态 错误 DEP3321:要部署此应用程序,您的部署目标应运行 Windows 通用运行时版本 10.0.17763.0 或更高版本。您当前正在运行版本 10.0.17134.648。请更新您的操作系统,或将您的部署目标更改为具有适当版本的设备。

    解决方案: 右键单击项目属性并进入常规-> 目标平台最低版本。 就我而言,我通过从下拉列表中选择将其更改为“10.0.17134.0”,然后重新构建它。 我工作得很好。附上截图供参考。

    【讨论】:

      【解决方案3】:

      如果您的应用使用的 API 仅存在于较新版本的操作系统(如 14393 或 15063)中,那么您将无法在 10586 上调用这些 API。您将收到异常,因为该方法根本不存在于那台机器上。

      为了在较低版本的操作系统上支持应用程序,您需要使用适当的“IsAPIPresent”检查来包装对这些 API 的调用:

      https://docs.microsoft.com/en-us/uwp/api/Windows.Foundation.Metadata.ApiInformation

      谢谢, Stefan Wick - Windows 开发者平台

      【讨论】:

      • 感谢 Stefan 的回复。这里的问题不是我需要让应用程序在较低版本上运行。问题是即使我安装了 14393 或更高版本,Visual Studio 仍然抱怨依赖问题。据我了解,VS 没有选择正确版本的 SDK。我检查了所有地方,包括注册表项都没有。
      • “当我安装 14393 时”是指 14393 SDK 吗?如果是这样,那么您看到的是预期的行为。 SDK 仅允许您为特定版本的 SDK 构建应用程序。为了部署和运行你的操作系统需要有所需的 minversion。因此,如果您的应用声明 minversion=14393,那么它将不会在 10586 上部署或运行​​。请记住,Windows API 是本机操作系统功能的接口。如果它们不存在于您的操作系统版本中,则 API 将不起作用。安装 SDK 不会添加那些操作系统功能,它只是允许访问构建过程的 API。
      • 感谢 Stefan 提供的详细信息,非常感谢您的意见。你说的有道理。所以我在我的机器上运行 Windows 10,我的同事也是如此。我们俩的硬件规格相同,他可以毫无问题地运行该应用程序。我面临的问题是,当我安装 14393 或 15063 时,在我看来 Visual Studio 没有识别更新。也许是,如果应用程序编译。我只是在尝试运行该应用程序时遇到错误。
      • 我理解通用运行时版本 = SDK 版本是否正确?如果不是,我如何确定我机器上的通用运行时版本?而更新 Universal Runtime 版本的唯一方法是更新我的操作系统?
      【解决方案4】:

      可能的解决方案: 我面临着完全相同的问题。我有我的 SDK 15063,并且我重新安装了 Visual Studio 2017,它也隐式安装了 SDK 15063,但我仍然不断收到相同的部署错误 DEP3321。

      我以这种方式解决了这个问题 - 只需转到 Visual Studio 右侧的“解决方案资源管理器”,然后按此顺序执行以下步骤 -

      1) 只需右键单击您正在部署的项目

      2) 按“卸载项目”

      3) 右键单击​​ project_name(不可用)并按 Edit project_name.jsproj。它将在左侧打开一个 xml 文件

      4) 搜索“TargetPlatformVersion”和“TargetPlatformMinVersion”。两者并排放置。我的看起来像这样 - 10.0.15063.0 10.0.15063.0 因为我的错误 DEP3321 明确指出'您当前正在运行版本 10.0.14393.1715,所以我将我的“TargetPlatformMinVersion”从 10.0.15063.0 替换为 10.0.14393.1715 - 10.0.14393.1715

      5) 现在保存,Ctrl+S

      6) 右键单击​​“解决方案资源管理器”并按“重新加载项目”,如果您说项目已加载,请在弹出窗口中按“是”。

      你已经完成了。做你通常做的事,构建 (ctrl+shift+B) 然后调试 - F5 或 Ctrl+F5。 这样项目就为我部署好了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-04
        • 1970-01-01
        • 2018-06-18
        • 2016-11-17
        • 1970-01-01
        • 2015-11-08
        • 1970-01-01
        相关资源
        最近更新 更多