【问题标题】:dnSpy Console does not show any outputdnSpy 控制台不显示任何输出
【发布时间】:2023-02-18 23:36:37
【问题描述】:
我需要使用 dnSpy 自动将 .Net 反编译为 C#。我从https://github.com/dnSpy/dnSpy/releases/tag/v6.1.8(Win10 x64 电脑上的 x64 版本)下载并解压。
但是当我尝试从终端(Windows 命令行和 PowerShell)运行 dnSpy.Console.exe 时,它只是结束而没有记录任何错误或帮助信息。
运行 dnSpy.exe 工作正常。
控制台版本是否存在任何已知问题?
我尝试在线搜索,但除了“如何修改和破解 Unity 游戏”教程外,一无所获。
【问题讨论】:
标签:
.net
decompiling
dnspy
【解决方案1】:
您可能看不到任何输出,因为它记录了控制台上未显示的错误。
我通过将 cerr 输出管道传输到 linux 中的一个文件中来让它工作:
$ dnSpy.Console -o ./out/ ./Assembly-CSharp.dll 2> out.txt
$ cat out.txt
System.IO.IOException: The handle is invalid.
at System.ConsolePal.SetConsoleOutputEncoding(Encoding enc)
at System.Console.set_OutputEncoding(Encoding value)
at dnSpy_Console.Program.Main(String[] args) in D:dnSpydnSpydnSpydnSpy.ConsoleProgram.cs:line 56
Unhandled exception. System.IO.IOException: The handle is invalid.
at System.ConsolePal.SetConsoleOutputEncoding(Encoding enc)
at System.Console.set_OutputEncoding(Encoding value)
at dnSpy_Console.Program.Main(String[] args) in D:dnSpydnSpydnSpydnSpy.ConsoleProgram.cs:line 65
异常消息没有什么帮助,我最终改用dnSpyEx,这是 dnSpy 的非官方延续,似乎仍在维护。工作起来很有魅力。
这是releases of dnSpyEx。