0
我嘗試使用類ProcessInfo開始從C#ILASMProccess信息給出了一個錯誤,但一個bat文件不
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
它的工作。
我錯過了什麼?
爲什麼你給CILCompiler作爲第一個輸入ProcesStartInfo?不同你在參數中指定ilasm.exe?你可以嘗試將ProcessStartInof.FileName設置爲ilasm.exe並從參數中刪除ilasm.exe? –
它不存在於參數中。 –
對不起,你能嘗試設置ProcessStartInof.FileName到ilasm.exe –