0

私は Linux 環境で作業しており、開発には Mono を使用しています。別のアプリケーション/実行可能ファイルを開始したい C# プロジェクトがあります。コード スニペットは以下のとおりです。

string pathToDB = @"""/root/somefolder/anotherfolder/""";
                        Process process = new Process();
                        process.StartInfo.FileName = @"/root/somefolder/filename";
                        process.StartInfo.Arguments = @"""" + pathToDB + @"""" + "$" + contents + "$" + "documentTerms";
                        process.Start();    

私は3つの引数を渡します。1 つ目はフォルダー パス、2 つ目は文字列の内容で表したテキスト データ、3 つ目はハード コードされたテキストです。このプログラムを実行すると、次の例外/エラーが発生します。

CreateProcess: Unfinished quote.

Exception: System.ComponentModel.Win32Exception: Invalid data
at System.Diagnostics.Process.Start_shell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in <filename unknown>:0 
  at System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in <filename unknown>:0 
  at System.Diagnostics.Process.Start () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
  at XapianTest.SimpleIndex.ProcessFiles (System.String path) [0x000dc] in /root/Projects/XapianTest/XapianTest/SimpleIndex.cs:84 
  at XapianTest.SimpleIndex.ProcessFiles (System.String path) [0x0013d] in /root/Projects/XapianTest/XapianTest/SimpleIndex.cs:105 
  at XapianTest.SimpleIndex.ProcessFiles (System.String path) [0x0013d] in /root/Projects/XapianTest/XapianTest/SimpleIndex.cs:105 
  at XapianTest.SimpleIndex.Main (System.String[] argv) [0x00023] in /root/Projects/XapianTest/XapianTest/SimpleIndex.cs:51    

私は何を間違っていますか!誰か助けてください...

前もって感謝します...

4

1 に答える 1

0

引数の間にはスペースが必要です。これを試して:

process.StartInfo.Arguments = @"""" + pathToDB + @""" ""$" + contents + @"$"" " + "documentTerms";
于 2012-06-07T15:05:40.433 に答える