从代码中启动Nant

时间:2011-04-24 22:16:25

标签: c# build nant

我正在尝试使用C#代码启动Nant。在命令行中输入的相同字符串工作正常,但它不能从代码中工作。这是我正在使用的代码

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 \ n版权所有(C)2001-2010格里   肖\ r \ nhttp://nant.sourceforge.net \ r \ n \ r \ n \ r \ n对于   有关原因的更多信息   构建失败,运行构建   再次在调试模式下。\ r \ n \ r \ n尝试   -help'了解更多信息\ r \ n}

观看-help也没找到任何有用的东西:(

1 个答案:

答案 0 :(得分:3)

您可以通过命令行调用通常调用的可执行文件:

            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;
                }
            }