单声道启动过程mdtool关闭调用者

时间:2012-10-30 20:46:32

标签: c# mono mdtool

在Mono / OSX上的控制台应用程序中,我想调用mdtool来构建iOS项目。我成功拥有正确的命令行参数,并在bash shell脚本中正确运行。

现在如果我在控制台应用程序中使用Process / ProcessStartInfo类调用它,在构建之后我得到了这个并且我的程序退出。

Press any key to continue... logout

[Process completed]

这是调用mdtool的代码:

var buildArgs = string.Format("...");

var buildiOSproject = new ProcessStartInfo
{
    FileName = "/Applications/MonoDevelop.app/Contents/MacOS/mdtool",
    UseShellExecute = false,
    Arguments = buildArgs
};
var exeProcess = Process.Start(buildiOSproject);
exeProcess.WaitForExit();
//code here never called

2 个答案:

答案 0 :(得分:0)

我在Xamarin论坛(http://forums.xamarin.com/discussion/267/calling-mdtool-trough-processstartinfo#latest)上得到了我的答案,但这似乎与调试器有关,所以我关掉了“在我的项目选项的外部控制台“属性上运行,它现在正在运行。

答案 1 :(得分:0)

尝试将以下内容添加到StartInfo初始值设定项中。当它退出时,我遇到了与另一个工具相同的问题。虽然我已经使用过RedirectStandardOutput和RedirectStandardError,但我在修改RedirectStandardInput之后才修复它。

            buildiOSproject.StartInfo = new ProcessStartInfo
            {
...
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                RedirectStandardInput = true,
...
            }