如何在NAnt脚本中运行'color'命令

Rod*_*257 3 nant command-line colors

我刚开始使用Nant进行构建和测试.我想让它在失败时更改命令提示文本的颜色(或背景),以便轻松注意.

Windows上命令提示符中的命令为"颜色4",将其更改为红色,将颜色7更改为白色.

如何在构建脚本中运行,echo不起作用,exec不起作用(虽然可能使用exec错误).我宁愿不必运行perl等只是为了做一些在标准命令提示符窗口中轻松完成的事情.

有谁知道如何做到这一点?

Mar*_*obr 5

尝试使用自定义任务.如果任务包含在nant文件中,则您将没有任何外部依赖项.

<project >

    <target name="color">
        <consolecolor color="Red" backgroundcolor="White"/>
        <echo message="red text"/>
        <consolecolor color="White" backgroundcolor="Black"/>
        <echo message="white text"/>
    </target>

    <script language="C#">
        <code>
            [TaskName("consolecolor")]
            public class TestTask : Task
            {
            private string _color;
            private string _backgroundColor;

            [TaskAttribute("color",Required=true)]
            public string Color
            {
            get { return _color; }
            set { _color = value; }
            }

            [TaskAttribute("backgroundcolor",Required=false)]
            public string BackgroundColor
            {
            get { return _backgroundColor; }
            set { _backgroundColor = value; }
            }

            protected override void ExecuteTask()
            {
            System.Console.ForegroundColor = (System.ConsoleColor) Enum.Parse(typeof(System.ConsoleColor),Color);
            System.Console.BackgroundColor = (System.ConsoleColor) Enum.Parse(typeof(System.ConsoleColor),BackgroundColor);
            }
            }
        </code>
    </script>

</project>
Run Code Online (Sandbox Code Playgroud)