有没有办法在heroku上运行.net exe?

时间:2014-11-19 14:31:34

标签: .net node.js heroku exe

我想知道是否有办法在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)




1 个答案:

答案 0 :(得分:0)

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