0

Mono/OSX のコンソール アプリで、mdtool を呼び出して iOS プロジェクトをビルドしたいと考えています。正しいコマンド ライン引数を取得することに成功し、bash シェル スクリプトで正しく実行されます。

コンソールアプリの 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
4

2 に答える 2

0

Xamarinフォーラム(http://forums.xamarin.com/discussion/267/calling-mdtool-trough-processstartinfo#latest)で回答を得ましたが、デバッガーに問題があるようであるため、[外部で実行]をオフにします。私のプロジェクトのオプションにあるconsole"プロパティで、現在機能しています。

于 2012-12-01T14:05:08.157 に答える
0

以下を StartInfo イニシャライザに追加してみてください。別のツールが終了したときに、同じ問題に直面しました。すでに RedirectStandardOutput と RedirectStandardError を使用していましたが、RedirectStandardInput も追加して初めて修正されました。

            buildiOSproject.StartInfo = new ProcessStartInfo
            {
...
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                RedirectStandardInput = true,
...
            }
于 2016-03-24T22:02:26.633 に答える