1

Bat ファイルと C# を使用して IL コードをコンパイルしようとしています。ここにC#コードがあります

ProcessStartInfo processStartInfo = new ProcessStartInfo(ILCompiler, @"c:\Windows\Microsoft.NET\Framework\v4.0.30319\" + ILCompiler + 
    " "+OutILFile+" /exe /output:" + OutExeFile + " /debug=IMPL");
processStartInfo.UseShellExecute = false;
processStartInfo.CreateNoWindow = false;
using (Process.Start(processStartInfo)) ;

ここにバットファイルがあります

c:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe Source.il /exe /output:my-assebmly.exe /debug=IMPL
pause

ILAsm を実行するための文字列はまったく同じです (つまり、processStartInfo.Arguments = Arguments = "c:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\ilasm.exe Source.il /exe /output:my-assebmly.exe /debug=IMPL")

それにもかかわらず、C# を使用して実行するとエラーが発生します。

お使いのコンピューターに Fusion.dll が存在しないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。

どうすれば修正できますか? C# を使用して ILAsm を実行する必要があります。

4

1 に答える 1

3

これを試して :

processStartInfo.WorkingDirectory = @"c:\Windows\Microsoft.NET\Framework\v4.0.30319\"
于 2012-10-13T08:53:10.690 に答える