【问题标题】:How to run a .Net Core application with the FullTrustLauncher from UWP?如何使用 UWP 的 FullTrustLauncher 运行 .Net Core 应用程序?
【发布时间】:2019-09-24 22:18:46
【问题描述】:

我们有一个需要启动 win32 exe 的 UWP 应用程序。我目前正在编写一个 .net 核心应用程序来完成这项工作。现在的问题是,如何从 UWP 应用程序启动这个 dll。使用普通的 exe,我知道该怎么做,但是它如何与这个 dll 一起工作。 我们使用 .net 核心是因为我们需要支持 Windows 10 物联网核心。

如何使用 FullTrustProcessLauncher 从 UWP 启动 .Net Core dll?

【问题讨论】:

    标签: uwp .net-core windows-10-iot-core desktop-bridge windows-iot-core-10


    【解决方案1】:

    FullTrustProcessLauncher 适用于包中包含的 EXE。如果您想运行 .net 核心应用程序,您需要首先将其发布为独立的 EXE,如此处所述,然后您可以通过 FullTrustProcessLauncher 启动它:
    https://docs.microsoft.com/en-us/dotnet/core/deploying/deploy-with-cli#self-contained-deployment

    另请注意,Windows IoT Core 不支持 FullTrustProcessLauncher。但是,您可以在那里使用 ProcessLauncher 来完成相同的操作:
    https://docs.microsoft.com/en-us/uwp/api/Windows.System.ProcessLauncher

    由于 ProcessLauncher 并不严格限制于您的包中的 EXE(您可以将注册表中允许的 EXE 列入白名单),您实际上可以在不将 .net 核心应用程序置于 Windows IoT Core 中间的情况下完成您的方案。

    【讨论】:

    • 这不是我希望得到的答案,但至少我现在知道它行不通
    • 您是如何从我的回答中得知它不起作用的?如果您将 .net 核心应用程序编译为 EXE 并在 Windows IoT Core 上使用 ProcessLauncher,它将起作用。此外,您甚至可能不需要物联网上的 .net 核心应用程序,因为您可以将要调用的 Win32 EXE 列入白名单,然后直接使用 ProcessLauncher 启动它。
    • 是的,这就是我所理解的 :),我的意思是我希望有一种方法可以不打包为独立的 exe,因为它会生成很多 dll 文件,我还需要将这些文件包含在我的UWP 应用程序。感谢 win32 exe 的提示
    猜你喜欢
    • 2018-02-05
    • 1970-01-01
    • 2019-10-04
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多