Я пытаюсь запустить исполняемый файл с помощью Process.Start(). Когда exe не имеет зависимостей между DLL, он работает нормально. Однако, когда мне нужно включить 2 библиотеки DLL, это не сработает. Я попытался установить WorkDirectory и проверил, что там находятся 2 требуемые библиотеки DLL. Есть идеи?Укажите DLL-файлы для exe, запущенного через Process.Start?
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
}
Это code based on the Windows Azure Memcached Solution Accelerator. Когда memcached не может запускаться, отображается диалоговое окно. К сожалению, вы не можете видеть это, когда код работает удаленно в облаке.
Я бы подумал, что Process.Start() будет слишком сложно защитить в лазурном режиме, и они бы отключили его? Разве Azure не предоставляет вам волшебный кеш как часть его API? Заметьте, что я не знаю, и мне любопытно. – Spence
Spence: Microsoft AppFabric Cache, ака «Velocity», является их распределенным кешем, но он еще не работает в Azure. В эти дни вы можете запускать все, что хотите, в Azure, если оно не требует прав администратора. – mhstack
Ugh. Когда вы программируете в облаке, откуда вы знаете, откуда приходит дождь? –