我正在尝试从nodejs服务器上运行Azure Webapp上的exe文件。 exe是由PyInstaller的简单python文件创建的。
var exec = require('child_process').exec;
let cmd = 'hello.exe';
let child = exec(
cmd, {
cwd: path_to_exe_file
},
function(error, stdout, stderr) {
if (error === null) {
res.render('index', { title: stdout });
} else {
console.log(error);
res.json({
'status': '400',
'res': error
});
}
}
);
我的计算机上的一切运行良好但是当我部署到Azure webapp时,结果是一个错误:应用程序无法启动 因为它的并排配置不正确
Error: Command failed: hello.exe The application has failed to start
because its side-by-side configuration is incorrect.
Please see the application event log or use the command-line sxstrace.exe
tool for more detail.
at ChildProcess.exithandler (child_process.js:206:12)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:877:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) killed: false, code: 1, signal: null, cmd: 'hello.exe' }
如何解决此问题?感谢
答案 0 :(得分:1)
是的,由于pyinstaller引起的问题。 .Net exe文件怎么样,我可以在Azure Web Apps上的nodejs脚本中运行.Net exe文件吗?
是的,基本上我们可以。它也可以在我的测试项目中使用最简单的.NET控制台exe。
但是我们需要注意一些问题,Azure Web App作为sanbox,有几个严格的限制和限制,并非所有的.NET exe应用程序都可以在Azure Web Apps上执行。有关详细信息,请参阅https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox。
此外,根据您的情况,您可以尝试使用WebJobs来运行某些exe应用程序或任务。