Mixed-mode. Native + C++/CLI. ILSpy is great on the managed half and useless on the native. Ghidra is the opposite.
Current workflow: ILSpy for the managed types, Ghidra for native, notepad to stitch. There has to be less pain.
Refs: Ghidra
Lab / educational. Public binaries and patched classes only. Isolated VM.