Process.Start() で実行可能ファイルを起動しようとしています。exe に DLL 依存関係がない場合、正常に動作します。ただし、2 つの DLL を含める必要がある場合、機能しません。WorkingDirectory を設定してみましたが、必要な 2 つの DLL がそこに存在することを確認しました。何か案は?
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "memcached.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = arguments; //not shown
startInfo.WorkingDirectory = Environment.CurrentDirectory;
try
{
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
}
catch (Exception ex)
{
Trace.TraceError(ex.Message); // never gets here
}
これは、Windows Azure Memcached Solution Accelerator に基づくコードです。memcached が起動できない場合、ダイアログ ボックスが表示されます。残念ながら、コードがクラウドでリモートで実行されている場合、これを確認することはできません。