我想知道是否有办法在heroku中运行.net可执行文件。我知道heroku是基于linux的,但是有某种方式吗?
这是我在我的计算机上运行的测试代码(Windows)。 exe文件写入" writetext.txt"然后我读了它。
var http = require("http");
var express = require("express");
var app = express();
var port = process.env.PORT || 1234;
var exec = require('child_process').execFile;
var fs = require('fs');
app.use(express.static(__dirname + "/"))
var server = http.createServer(app)
server.listen(port);
app.get('/exec', function(req, res){
exec('Test.exe', function(err, data) {
console.log(err)
console.log(data.toString() + "data");
});
fs.readFile(__dirname + '/writetext.txt', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
console.log(data);
res.end(data.toString());
});
});
app.get('/*', function(req, res){
res.send("Hello word!");
res.end();
});
console.log("http server listening on %d", port)

答案 0 :(得分:0)
当然有一种方法可以在Linux(或MacOS)上运行.NET代码。您将需要使用Mono(http://www.mono-project.com/)。基本上Mono是.NET的其他部分中CLR的开源实现。安装单声道后,而不是运行Test.exe,您将使用Test.exe作为参数运行mono。这真的很简单。我会为您的平台安装Mono,并尝试从命令行“mono ./Test.exe
”运行测试可执行文件。如果看起来不错,您可以更新您的节点应用程序以使用mono运行或创建一个基本相同的脚本。