因此,在搜索完网页后,我发现了一些文章(一些关于stackoverflow),它描述了如何通过在c#中启动一个新进程来执行命令行提示。第二个论点,我已经注释掉了,效果很好,但我真正需要的那个(第一个)没有。它返回错误“无法找到或加载主类edu.stanford.nlp.parser.lexparser.LexicalizedParser”当我打开命令行(非编程)然后执行相同的命令(除了转义的引用)它效果很好。关于问题可能是什么的任何想法?谢谢!
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "CMD.exe",
Arguments = "/c java -mx100m -cp \"*\" edu.stanford.nlp.parser.lexparser.LexicalizedParser edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz libtest.txt",
// Arguments = "/c echo Foo",
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true
}
};
proc.Start();
Console.WriteLine(proc.StandardOutput.ReadToEnd());
Console.WriteLine(proc.StandardError.ReadToEnd());
答案 0 :(得分:1)
确保启动流程的执行路径正确无误!
您可以使用SysInternals中的Process Monitor来确定查找该类的位置。