如何从.Net Core 3.1进程启动.Net Core 3.1进程?

问题描述

我正试图从另一个.Net Core 3.1进程启动一个子.Net Core 3.1进程进行匿名管道通信。

_childProcess = new Process();
_childProcess.StartInfo.FileName = "childProcess.exe";
_childProcess.StartInfo.UseShellExecute = false;
_childProcess.StartInfo.WorkingDirectory = AppDomain.CurrentDomain?.BaseDirectory;
_childProcess.Start();

在调试时导致错误:“要运行此应用程序,必须安装.Net Core”。

Error message popup

子流程项目是父项目的依赖项,导致将childProcess.exe复制到父流程的输出目录中。 childProcess.exe可以直接启动而没有问题。从代码启动时,找不到运行时。

解决方法

确保child.runtimeconfig.json' is in the same directory as the client.exe`。