无法在C#Winforms中运行python exe文件

时间:2019-06-22 20:51:16

标签: c# python winforms

我有一个使用py2exe转换为exe文件的python文件(server.py)。 我将该文件添加到winforms项目的资源文件中,并使用以下代码来运行它:

Process pythonProcess = new Process();

byte[] exeBytes = Properties.Resources.server;
string path = Path.Combine(Path.GetTempPath(), "server.exe");

using (FileStream exeFile = new FileStream(path, FileMode.CreateNew))
    exeFile.Write(exeBytes, 0, exeBytes.Length);

pythonProcess.StartInfo = new ProcessStartInfo(path);
pythonProcess.StartInfo.Arguments = port.ToString();
pythonProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

pythonProcess.Start();

运行此代码时,python进程在打开后立即关闭。我找到了创建的文件并通过CMD运行它,所以我能够看到错误:

LoadLibrary(pythondll)失败。找不到指定的模块。

然后,它通过添加PYTHON27.DLL将文件的路径(已创建的路径)写入。

为什么会发生,我该如何解决?

0 个答案:

没有答案