协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
ilspy-decompile【开发与工程】Understand implementation details of .NET code by decompiling assemblies. Use when you want to see how a .NET API works internally, inspect NuGet package source, view framework implementation, or understand compiled .NET binaries.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this skill to understand how .NET code works internally by decompiling compiled assemblies.
dotnet dnx ilspycmd (if available in your SDK or runtime)dotnet tool install --global ilspycmdBoth forms are shown below. Use the one that works in your environment.
Note: ILSpyCmd options may vary slightly by version. Always verify supported flags with
ilspycmd -h.
# Decompile an assembly to stdout
ilspycmd MyLibrary.dll
# or
dotnet dnx ilspycmd MyLibrary.dll
# Decompile to an output folder
ilspycmd -o output-folder MyLibrary.dll
~/.nuget/packages/<package-name>/<version>/lib/<tfm>/
dotnet --list-runtimes
dotnet --list-sdks
Reference assemblies do not contain implementations.
./bin/Debug/net8.0/<AssemblyName>.dll
./bin/Release/net8.0/publish/<AssemblyName>.dll
Use -l with an entity type to discover what's inside:
# List classes
ilspycmd -l c MyLibrary.dll
# List interfaces
ilspycmd -l i MyLibrary.dll
# List structs, delegates, enums
ilspycmd -l s MyLibrary.dll
ilspycmd -l d MyLibrary.dll
ilspycmd -l e MyLibrary.dll
ilspycmd MyLibrary.dll
ilspycmd -o ./decompiled MyLibrary.dll
ilspycmd -p -o ./project MyLibrary.dll
# Decompile specific type
ilspycmd -t Namespace.ClassName MyLibrary.dll
# Specify C# language version (default: Latest)
ilspycmd -lv CSharp12_0 MyLibrary.dll
ilspycmd -il MyLibrary.dll
# Remove dead code and dead stores for cleaner results
ilspycmd --no-dead-code --no-dead-stores MyLibrary.dll
# Decompile with nested directories matching namespaces
ilspycmd --nested-directories -p -o ./decompiled MyLibrary.dll
Decompiling assemblies may be subject to license restrictions.