0

クラス ProcessInfo を使用して C# から ilasm を開始しようとしています

 string arguments = string.Format("\"{0}\" /exe /output:\"{1}\"  /debug=IMPL", ilFullFileName, exeFileFullName);
 ProcessStartInfo processStartInfo = new ProcessStartInfo(CILCompiler, arguments);
 processStartInfo.UseShellExecute = false;
 processStartInfo.CreateNoWindow = false;
 processStartInfo.WorkingDirectory = @"c:\Windows\Microsoft.NET\Framework\v4.0.30319\";
 using (Process process = Process.Start(processStartInfo))
 {
    process.WaitForExit();
 }

引数は次のとおりです。

"path_to_il.il" /exe /output:"path_to_exe.exe"  /debug=IMPL

そして、それは私にエラーを与えます:

The application was unable to start correctly (0xc0000007b). Click Ok to close the application.

その奇妙な部分は、batファイルを使用して手動でまったく同じアクションを実行するときです

"c:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe"  "path_to_il.il" /exe /output:"path_to_exe.exe"  /debug=IMPL
pause

それは機能します。

私は何を取りこぼしたか?

4

1 に答える 1

0

ファイル名も設定する必要があると思います:

        processStartInfo.FileName = "ilasm.exe";
于 2012-11-12T14:10:45.570 に答える