GraphViz没有';从C#代码开始时,不能生成png文件

GraphViz没有';从C#代码开始时,不能生成png文件,c#,graphviz,C#,Graphviz,在我描述图形的课程中,我想创建一个生成GraphViz代码并将其保存到.dot文件的方法,另一个生成带有该图形的png图形文件的方法。我试过: private void MakeDotFile() { FileStream fileStream = new FileStream("tmp.dot", FileMode.Create, FileAccess.Write); StreamW

在我描述图形的课程中,我想创建一个生成GraphViz代码并将其保存到.dot文件的方法,另一个生成带有该图形的png图形文件的方法。我试过:

        private void MakeDotFile()
        {
            FileStream fileStream =
                new FileStream("tmp.dot", FileMode.Create, FileAccess.Write);
            StreamWriter streamWriter = new StreamWriter(fileStream);
            streamWriter.Write("graph { a -- b }");
            streamWriter.Close();
            fileStream.Close();
        }

        public void MakePngFile()
        {
            MakeDotFile();
            Process process = new Process();
            process.StartInfo =
                new ProcessStartInfo("<< dot.exe location >>",
                "-Tpng << .dot file location >> > << .png file location >>");
            process.Start();
            process.WaitForExit();
        }
private void MakeDotFile()
{
文件流文件流=
新的文件流(“tmp.dot”、FileMode.Create、FileAccess.Write);
StreamWriter StreamWriter=新的StreamWriter(文件流);
streamWriter.Write(“图{a--b}”);
streamWriter.Close();
fileStream.Close();
}
public void MakePngFile()
{
MakeDotFile();
流程=新流程();
StartInfo进程=
新的ProcessStartInfo(“>”,
“-Tpng>>>”;
process.Start();
process.WaitForExit();
}
但不幸的是,它正在完成一个类似“嘟嘟”的声音,什么也不做(不创建png文件)。调试时,我发现进程退出代码是3。我多次检查路径是否良好。有趣的是,在cmd.exe中具有相同参数的相同程序正在正确运行。 你怎么认为?问题在哪里?解决办法是什么?
提前感谢

您应该使用
dot
-o
参数,而不是重定向输出

process.StartInfo =
    new ProcessStartInfo(@"D:\graphviz\bin\dot.exe",
        @"-Tpng D:\tmp.dot -o D:\tmp.png");