brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
ilspy-decompileUnderstand 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.
Independent GitHub snapshot · Automated classification · Original documentation governs
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.