Minicon.CodeExtractor
0.1.0
dotnet tool install --global Minicon.CodeExtractor --version 0.1.0
dotnet new tool-manifest
dotnet tool install --local Minicon.CodeExtractor --version 0.1.0
#tool dotnet:?package=Minicon.CodeExtractor&version=0.1.0
nuke :add-package Minicon.CodeExtractor --version 0.1.0
Minicon.CodeExtractor
dotnet-Tool, das ein NuGet-Paket vollständig dekompiliert und daraus ein
komplettes C#-Projekt erzeugt: Quellcode, SDK-style csproj, eingebettete
Ressourcen und PackageReference-Einträge für die direkten Abhängigkeiten des
Pakets. Basiert auf der ILSpy-Engine (ICSharpCode.Decompiler).
Installation
dotnet tool install --global Minicon.CodeExtractor
Oder ohne Installation direkt ausführen (ab .NET 10):
dnx Minicon.CodeExtractor -- Newtonsoft.Json
Lokal aus dem Repository:
dotnet pack
dotnet tool install --global --add-source ./artifacts Minicon.CodeExtractor
Verwendung
minicon-extract <paket-id> # Paket von nuget.org laden und dekompilieren
minicon-extract <pfad.nupkg> # Lokales Paket dekompilieren
minicon-extract <pfad.dll> # Einzelne Assembly dekompilieren
| Option | Beschreibung |
|---|---|
-v, --version <version> |
Paketversion oder Versionsbereich (Standard: neueste stabile) |
-o, --output <dir> |
Ausgabeverzeichnis (Standard: ./<PaketId>) |
-f, --framework <tfm> |
Ziel-Framework für die Asset-Auswahl (Standard: net10.0) |
-s, --source <url> |
NuGet-Feed (Standard: api.nuget.org) |
--include-prerelease |
Auch Prerelease-Versionen berücksichtigen |
--no-package-refs |
Referenzen nicht in PackageReference umschreiben |
Beispiele
minicon-extract Newtonsoft.Json
minicon-extract Microsoft.Extensions.Logging -v 9.0.0 -o ./extracted
minicon-extract Minicon.SevDesk.Client --include-prerelease
Was das Tool macht
- Lädt das Paket (inkl. transitiver Abhängigkeiten) vom Feed.
- Wählt die zum Ziel-Framework passende
lib/<tfm>-Gruppe. - Dekompiliert alle Assemblies mit ILSpys
WholeProjectDecompilerin ein vollständiges Projekt (Namespaces als Ordner, Ressourcen inklusive). - Bereinigt das erzeugte
csproj: BCL-Referenzen mit maschinenspezifischen HintPaths raus,PackageReference-Einträge für die direkten Abhängigkeiten rein – das Projekt ist damit perdotnet restorewiederherstellbar. - Entfernt compiler-reservierte Assembly-Attribute (
NullablePublicOnly,RefSafetyRules, …), die sonst CS8335 auslösen würden.
Grenzen
Dekompilierter Code ist nicht immer 1:1 rückübersetzbar. Kleine Pakete bauen
in der Regel fehlerfrei; bei großen Bibliotheken können vereinzelt manuelle
Korrekturen nötig sein (typisch: mehrdeutige Typnamen zwischen using-Namespaces
oder Nullability-Feinheiten bei Generics). Newtonsoft.Json ergibt z. B.
269 Quelldateien mit 5 trivial behebbaren Fehlern.
Rechtlicher Hinweis
Dekompilieren fremder Pakete ist nur im Rahmen der jeweiligen Lizenz zulässig. Das Tool ist für eigene Pakete, Open-Source-Analysen und Debugging gedacht – die Lizenz des dekompilierten Pakets gilt unverändert auch für das Dekompilat.
Lizenz
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 131 | 7/2/2026 |