Опитвам се да стартирам изпълним файл с 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 не може да се стартира, се показва диалогов прозорец. За съжаление не можете да видите това, когато кодът се изпълнява дистанционно в облака.