从C#代码启动时,GraphViz不会生成png文件

时间:2013-02-24 23:26:28

标签: c# graphviz

在我描述图形的类中,我想创建一个方法来生成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();
        }

但不幸的是,它正在完成一个像“嘟嘟”一样的可听声音,什么都不做(不创建png文件)。当我调试时,我发现进程退出代码为3.我检查了多次路径是否良好。有趣的是,cmd.exe中具有相同参数的相同程序正在运行。 你怎么看?问题出在哪儿?解决办法是什么? 提前致谢

1 个答案:

答案 0 :(得分:0)

您应该使用-o的{​​{1}}参数,而不是重定向输出。

dot