Начать Нант из кода - PullRequest
2 голосов
/ 25 апреля 2011

Я пытаюсь запустить Nant, используя код C #.Та же самая строка, введенная в командной строке, работает нормально, но она не будет работать из кода.Вот код, который я использую

StringWriter consoleOut = new StringWriter( );
Console.SetOut( consoleOut );

ConsoleDriver.Main( new string[] { "-buildfile:" + filePath });

Я использую nant.core для создания внешних файлов, но он не будет работать ... Если я использую ту же команду в cmd, все идет хорошо ... Запуск егоиз кода я получаю следующее сообщение

{NAnt 0.91 (Build 0.91.3881.0; alpha2; 17.08.2010.) \ r \ nCopyright (C) 2001-2010 Gerry Shaw \ r \ n http://nant.sourceforge.net\r\n\r\n\r\nFor Для получения дополнительной информации о причине сбоя сборки, запустите сборку снова в режиме отладки. \ r \ n \ r \ nПопробуйте 'nant -help' для получения дополнительной информации \ r \ n}

просмотр-помочь тоже, но ничего полезного не нашел: (

1 Ответ

3 голосов
/ 25 апреля 2011

Вы можете использовать свой исполняемый файл, который обычно вызывается из командной строки:

            var startInfo = new ProcessStartInfo( executable, parameters )
            {
                UseShellExecute = false,
                RedirectStandardError = false,
                RedirectStandardOutput = false,
                CreateNoWindow = true
            };

            using( var process = Process.Start( startInfo ) )
            {
                if( process != null )
                {
                    process.WaitForExit( timeoutInMilliSeconds );
                    return process.ExitCode;
                }
            }
...