【问题标题】:Directly launch exe in Visual Studio Debug Directory for UWP Applications直接在 Visual Studio 调试目录中为 UWP 应用程序启动 exe
【发布时间】:2017-12-08 07:40:57
【问题描述】:

Visual Studio 在调试 UWP 应用时创建一个 AppX 文件夹。当它运行时,您可以通过在任务管理器中右键单击它并选择打开文件位置来看到它正在使用整个文件夹作为应用程序容器来启动商店应用程序。如果 VS 可以做到,我知道这是可能的,那么您如何以编程方式做到这一点?

编辑:好吧,我可能应该更清楚,我并不是说要在文件资源管理器中打开 AppX 文件夹。我的意思是从该文件夹中启动应用程序作为应用程序容器,我只是想让程序直接运行,就像 VS 在调试中所做的那样。如果我直接打开 EXE,我会得到“此应用程序只能在应用程序容器的上下文中运行”。我知道 AppX 是用作 App Container 的东西,但我不知道 VS 是如何做到的,我需要在我正在制作的单独分类 Windows 应用程序中做到这一点。基本上我需要运行一个未打包的 UWP 应用程序。

【问题讨论】:

  • 做什么?以编程方式打开 VS 项目中的“Appx”文件夹?
  • 如果this 回答有效,则考虑“标记为回答”
  • @VijayNirmal 不,这并不抱歉,你应该看看我添加到我的帖子中的编辑。
  • @NexusDesigns “未打包的 UWP 应用”是什么意思?是Appx格式的文件吗?
  • @NexusDesigns 这个answer 能解决你的问题吗?

标签: uwp


【解决方案1】:

如果 VS 可以做到,我知道这是可能的,那么如何以编程方式做到这一点?

VS 可以做到这意味着我们可以使用这种方式来调试我们的应用程序。这并不意味着我们可以在创建应用程序时考虑自己这样做。我不知道您为什么要运行未打包的应用程序。(也许您需要清楚为什么要这样做)您可以考虑以下场景:

  1. 如果您使用 Visual Studio 通过调试/远程调试安装此应用,您可以注册一个 URL 来打开您的应用,请参阅 URL 激活here
  2. 如果您只想将 exe 从一个地方复制到另一个地方并希望以编程方式打开它。我不认为 UWP 技术为您提供了一种方式。它不符合 UWP 应用的安全目的。请改为创建应用程序包。如果您不想提交到商店,则在部署您的应用时,sideload 是唯一的方法。

【讨论】:

  • 我会给你一个动机,让你想直接运行 Debug/APPX 文件夹中的 exe。我在 Visual Studio 中创建了 30-40 个不同 UWP 项目的文件夹,我不想安装每个 Appx 文件只是为了运行它们并查看它们的作用。于是我进入Debug目录,尝试直接运行,除了不行。
  • Visual Studio CMake 打开文件夹也需要做同样的事情(目前由于缺少 dll 而失败)。
【解决方案2】:

要从 VS 输出(例如 Debug\APPX)以与 VS 相同的方式运行应用程序,您需要做两件事:

1) 通过powershell注册包:add-appxpackage -register appxmanifest.xml 2) 通过 IApplicationActivationManager::ActivateApplication 激活应用程序

https://docs.microsoft.com/en-us/powershell/module/appx/Add-AppxPackage https://msdn.microsoft.com/en-us/library/windows/desktop/hh706903(v=vs.85).aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-11
    • 2023-04-09
    • 2012-04-11
    • 2022-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多