c# - C# UWP 在我尝试启动进程时出错
问题描述
我正在开发使用 GPG 可执行文件的 UWP 程序。我有以下执行gpg --list-keys
并获得结果的代码
public class Gpg
{
public void gpg()
{
Process compiler = new Process();
compiler.StartInfo.FileName = "gpg";
compiler.StartInfo.Arguments = "--list-keys";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();
Console.WriteLine(compiler.StandardOutput.ReadToEnd());
}
}
我还确认此代码在 .NET Core 控制台应用程序中运行良好。但是,当我在 UWP 程序中使用此代码时。我收到了这个错误:
System.ComponentModel.Win32Exception: '{Illegal System DLL Relocation} 系统 DLL %hs 已在内存中重新定位。应用程序将无法正常运行。发生重定位是因为 DLL %hs 占用了为 Windows 系统 DLL 保留的地址范围。应联系提供 DLL 的供应商以获取新的 DLL'
我在 UWP 可执行文件夹中复制了 gpg.exe 并下载了 C# 的 GPG 库。但是所有的库和尝试都会犯同样的错误。我怀疑它是否无法在 UWP 中启动第二个进程。我不能这样做吗?还是有办法?
解决方案
推荐阅读
- reactjs - 如何从单独的组件调用组件中的函数?
- swift - Swift/Firestore/Cloud Functions - 向随机用户发送消息
- java - 要打印的字符串包含 3 个字母后跟 7 个数字
- xml - 使用 Camel 将 java.util.Date 存储为标头中的 java.util.Date
- c++ - C++:使用更大的比较器实现意外的性能提升
- spring - Intellij 中的 Gradle 问题
- python-3.7 - selenium 和 python3 中没有发生鼠标悬停动作
- excel - 日期之间的天数(应检查日期是否重叠)
- rest - 在 SharePoint 列表中创建新用户
- json - 如何在画面中拆分 json 列?