Windows SDK UWP 应用程序错误 - DEP3321

Posted

技术标签:

【中文标题】Windows SDK UWP 应用程序错误 - DEP3321【英文标题】:Windows SDK UWP App Error - 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 页面,但都没有运气。

非常感谢

【问题讨论】:

【参考方案1】:

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

【讨论】:

这是另一个尝试让它与我刚从 MS 下载的一个演示一起工作...即使在降级 Min 版本后我也会遇到同样的错误...support.microsoft.com/en-us/help/4028685/…跨度> 【参考方案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。 这样项目就为我部署好了。

【讨论】:

以上是关于Windows SDK UWP 应用程序错误 - DEP3321的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 10 UWP .NET SDK 中创建旧版 Wifi Direct 软接入点时,我可以指定使用哪个适配器吗?

如何检测其他应用程序的音频是不是在后台播放? (UWP,Windows 10)

为啥我在 Windows 10 UWP 上收到“无法注册包”部署错误?

您是不是已经在 Microsoft Store 中发布了 Windows 11 UWP 应用?

Windows 10 UWP 应用程序在启动时崩溃(错误模块名称:Windows.UI.Xaml.dll)

将 UWP 应用程序提交到 Windows 应用商店时出现错误 1300