我正在致力於Compact Framework 2.0項目,並且正在嘗試使用Process在另一個程序「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」使用的.dll程序「B」沒有加載。如果兩個程序無法同時加載相同的.dll,那就是問題所在。是這樣嗎?
如果直接啓動B程序會發生什麼?我的意思是雙擊它.. 編輯:對不起,我錯過了問題中的一些行:D – munissor 2010-08-18 15:28:34