Compact Framework 2.0 프로젝트에서 작업 중이며 프로세스를 사용하여 다른 프로그램 "A"에서 "B"프로그램을 시작하려고합니다. 스타트. 전에 여러 번 해본 적이 있지만 이번에는 이상한 문제가 있습니다.System.Diagnostics.Process.Start를 사용하여 프로그램을 실행하면 MissingMethodException이 발생합니다.
프로그램 "B"가 실행되지만 MissingMethodException이 발생합니다. 기본적으로 참조 된 특정 어셈블리가 누락되었음을 알려줍니다. 문제는 어셈블리 .dll이 프로그램 "B"와 같은 폴더에 있음을 나타냅니다. 프로그램 "B"를 두 번 클릭하면 MissingMethodException없이 올바르게 실행됩니다.이 문제가 발생하는 것은 프로그램 "A"에서 Process.Start로 시작될 때뿐입니다. 나는 여기서 무슨 일이 일어나는지 전혀 모른다. 나는 행운과 함께 WorkingDirectory 속성을 설정하려고했습니다. Process.Start를 통해 실행될 때 프로그램이 참조를로드 할 수없는 이유에 대한 아이디어가 있습니까? 감사합니다
System.Diagnostics.Process proc = new System.Diagnostics.Process();
ProcessStartInfo startInfo = new ProcessStartInfo(programBFullPath, "argument");
//I've been changing these two properties, have tried shell execute with both false and true, tried setting working directory and not setting it also
startInfo.UseShellExecute = false;
startInfo.WorkingDirectory = programBDirectory;
proc.StartInfo = startInfo;
proc.Start();
편집이 난 그냥 뭔가 ... 프로그램 "A"및 프로그램 "B"프로그램 "B"가로드되지 않는 .DLL을 사용하여 두 생각했다. 두 프로그램이 같은 .dll을 동시에로드 할 수없는 경우 문제가됩니다. 이 경우인가요?
직접 B 프로그램을 시작하면 어떻게됩니까? 나는 그것을 더블 클릭하는 것을 의미합니다 ... 편집 : 죄송합니다, 질문에 몇 줄을 놓 쳤습니다 : D – munissor