nuget-decompile-with-ilspycmd

Locates external NuGet types and verifies them with ilspycmd in C# projects.

Updated Mar 16, 2026
One-click install
npx skills add https://github.com/chuangkevin/project-bridge --skill nuget-decompile-with-ilspycmd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nuget-decompile-with-ilspycmd
Source: https://github.com/chuangkevin/project-bridge/tree/main/skill/houseprice/common/nuget-decompile-with-ilspycmd
Command: npx skills add https://github.com/chuangkevin/project-bridge --skill nuget-decompile-with-ilspycmd

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

When a C# type, enum, method, or namespace appears only as a usage in a repository and its definition is not present in source, this Skill provides a repeatable process to find the candidate NuGet package and DLL and to verify the actual API surface by decompiling with ilspycmd so answers do not rely on guesswork.

Core Features & Use Cases

  • Prioritize detection of company namespaces (for example HousePrice.* and Evertrust.*) and map them to likely package/DLL candidates rather than assuming the package name equals the namespace.
  • Inspect project files (csproj, Directory.Packages.props, packages.lock.json, obj/project.assets.json), search the local NuGet cache for candidate DLLs, and validate types using ilspycmd; prefer adjacent XML files for summaries.
  • Produce a verifiable report listing whether the symbol is external, which package and version the project consumes, the DLL path inspected, and the fully-qualified decompiled type signature or enum members (with values inferred when not explicit).
  • Use cases: resolving missing enum members, confirming method signatures, recovering XML summaries, and prioritizing candidate DLLs for company-specific namespaces.

Quick Start

Search the repository for the missing symbol and package references, locate the matching DLL in your local NuGet cache, and use ilspycmd to inspect the fully-qualified type and any sibling XML summaries.

Frequently Asked Questions about nuget-decompile-with-ilspycmd

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decompile a C# type that is missing from my source but used in my repository?

To decompile a missing C# type, inspect package references in csproj or project.assets.json, locate the candidate DLL in your local NuGet cache, and use ilspycmd to extract the fully-qualified type signature and enum members.

What is the best way to find the NuGet package for a company namespace like HousePrice.*?

Finding the NuGet package for a company namespace requires inspecting project files and local NuGet caches rather than assuming the package name matches the namespace, mapping usages to candidate DLLs for verification.

Can I recover XML documentation summaries when decompiling NuGet DLLs with ilspycmd?

Yes, you can recover XML documentation summaries by locating the adjacent XML files in the local NuGet cache alongside the decompiled DLLs, reading them to retrieve the summary text for the target types.

How do I resolve missing enum members from an external NuGet dependency in C#?

Resolving missing enum members from an external NuGet dependency involves searching the local cache for the candidate DLL, decompiling the type with ilspycmd, and extracting the enum members with their inferred values.

Does ilspycmd work with packages.lock.json to verify external API surfaces?

Yes, ilspycmd works with packages.lock.json by using it to identify the exact package versions consumed, then decompiling the corresponding DLLs from the local NuGet cache to verify the external API surface.

Why does my C# project fail to find a namespace definition that only appears as a usage?

A C# namespace appearing only as a usage lacks an in-source definition because it is provided by an external NuGet package, requiring you to inspect project package references and decompile the matching DLL from the cache.