Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过Process.Start()打开时收到错误“应用程序已停止工作”_C#_.net - Fatal编程技术网

C# 通过Process.Start()打开时收到错误“应用程序已停止工作”

C# 通过Process.Start()打开时收到错误“应用程序已停止工作”,c#,.net,C#,.net,我有一个第三方软件包。其文件夹包含要运行的.exe文件以及运行应用程序所需的一些其他文件。当我手动打开应用程序时,它工作正常,但当我试图通过Process.Start打开同一个应用程序时,我发现错误应用程序已停止工作 应用程序需要.NET4.0框架才能执行,所以我必须安装它。我试图使用的C代码位于.NET 3.5上,是使用Visual Studio 2008创建的。您可以尝试以下操作: var path = @"C:\Temp\test.exe"; FileInfo fi = n

我有一个第三方软件包。其文件夹包含要运行的.exe文件以及运行应用程序所需的一些其他文件。当我手动打开应用程序时,它工作正常,但当我试图通过Process.Start打开同一个应用程序时,我发现错误应用程序已停止工作


应用程序需要.NET4.0框架才能执行,所以我必须安装它。我试图使用的C代码位于.NET 3.5上,是使用Visual Studio 2008创建的。

您可以尝试以下操作:

    var path = @"C:\Temp\test.exe";
    FileInfo fi = new FileInfo(path);

    ProcessStartInfo info = new ProcessStartInfo(path);
    info.WorkingDirectory = fi.DirectoryName;

    Process process = new Process();
    process.StartInfo = info;

    process.Start();
如果这不起作用,请尝试

Directory.SetCurrentDirectory(fi.DirectoryName);
直接在流程之前。开始

以后不要忘记重置当前目录! 在使用之前保存CurrentDirectory

var currentDirectory = Directory.GetCurrentDirectory();

显示用于创建进程的代码。请尝试检查windows事件日志,查看它是否给出错误日志。可能您使用了错误的当前目录。我们不能不看代码就知道。这东西很有效,谢谢你,巴德。有没有办法在后台与第三方软件进行通信,以发送和接收计算数据等?