我正在尝试从 Web 应用程序(在 Visual Studio 开发服务器上运行)启动外部 exe。当我从控制台应用程序运行下面的代码时,它工作正常,但是当我从网页运行它时,应用程序崩溃了。我认为这一定是权限问题,但是尝试了一些方法并无法使其正常工作。
private void RunExe(string pythonOutputFileNameAndLocation)
{
var process = new Process { StartInfo = GetProcessStartInfo(pythonOutputFileNameAndLocation) };
// This is where the application crashes
process.Start();
// ...do some more things here
}
private ProcessStartInfo GetProcessStartInfo(string pythonOutputFileNameAndLocation)
{
var startInfo = new ProcessStartInfo
{
CreateNoWindow = true,
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardInput = true,
FileName = _exeFileLocation,
WindowStyle = ProcessWindowStyle.Hidden,
Arguments = String.Format("--hideUI --runScript {0}", pythonOutputFileNameAndLocation)
};
return startInfo;
}
我要问的是为什么这段代码可以在控制台应用程序中运行,而不是在 Visual Studio Web 服务器中运行?
我正在使用 Windows 7 和 Visual Studio 2010。
编辑:
根据此处的要求,Windows 捕获的问题详细信息:
问题事件名称:BEX 应用名称: 应用程序版本:2.2.2.2909 申请时间戳:507bf285 故障模块名称:MSVCR100.dll 故障模块版本:10.0.40219.325 故障模块时间戳:4df2be1e 异常偏移量:0008af3e 异常代码:c0000417 异常数据:00000000 操作系统版本:6.1.7601.2.1.0.256.48 区域设置 ID:2057 附加信息 1:c5a0 附加信息 2:c5a0d9e876212c0d3929ba8445f002dc 附加信息 3:5e93 附加信息 4:5e93e44f8aa24f99d37e055f533d1658
我无法调试外部应用程序,因为我没有其中的代码。我也没有堆栈跟踪,因为我没有遇到异常。外部进程正在崩溃。
谢谢