尝试运行桌面扩展应用程序时,在UWP(C#)中出现“访问被拒绝”错误。

4
我正在尝试运行FullTrustProcessLauncher的教程代码,以便从UWP运行桌面应用程序(如我在从UWP运行python脚本中所问)。
源代码在这里:UWP-FullTrust。我正在运行第一个示例:UWP_FullTrust_1。
它编译很好,但当我运行控制台命令(点击按钮)时,我会在以下行中遇到异常: await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();
"Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"

我没有对代码进行任何更改,但是对于代码的作者来说它能够正常工作,而对于我来说却不能。目标版本为: 10.0,构建版本为: 16299,CPU为: x64 (或者其他)。使用的开发环境为VS 2017。谢谢。

1
确保您准确地遵循以下说明: 1)选择一个架构(x86 / x64)-不是AnyCPU。 2)将“Package”设置为启动项目。 3)然后按F5键。请参见此处:https://github.com/StefanWickDev/UWP-FullTrust/blob/master/UWP_FullTrust_1/README.md从错误信息来看,似乎您的UWP是启动项目,而不是包。请确认后,我会将其发布为答案。 - Stefan Wick MSFT
1
谢谢!工作得很好,虽然我做了所有这些事情,但我可能也改变了其他东西,现在当我下载带有更改的项目时,它可以正常工作。 - Izik
很高兴听到它正在工作。请标记为已回答,这样我们就可以将其从雷达上移除。 - Stefan Wick MSFT
1个回答

5

这个错误提示表明您试图直接从 VS 启动 UWP 项目,但是该项目没有声明所需的能力。相反,您需要将包项目设置为启动项目。该项目将您的 UWP 和 Win32 可执行文件作为一个单元进行封装,并设置所需的能力以供执行。


我正在尝试使用OfficeInterop示例,但我遇到了这个问题。如果我尝试运行DataGrid2Excel独立应用,一旦我点击按钮,它就会静默死掉。有什么可以检查的吗? - mlt
没事了,一切正常。我必须选定包作为启动项目。不知何故出现了DataGrid2Excel.exe: Microsoft C++ exception: EETypeLoadException at memory location 0x000000A16F6FB760,但数据出现在Excel中。也许可以忽略这个错误。 - mlt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接