Compact Framework 2.0プロジェクトに取り組んでおり、Process.Startを使用して別のプログラム「A」内からプログラム「B」を起動しようとしています。私はこれを数回行ったことがありますが、今回はいくつかの奇妙な問題に遭遇しています。
プログラム「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を使用しています。2つのプログラムが同じ.dllを同時にロードできない場合は、それが問題です。これは本当ですか?