Convert packages.config to <PackageReference>

Proprietary

Moves NuGet dependencies from packages.config into <PackageReference> items in the sibling project file, classifying top-level vs. transitive packages and reconstructing IncludeAssets/ExcludeAssets/PrivateAssets from the resolved dependency graph. Removes packaged <Reference>/<Import>/<Analyzer> wiring, the EnsureNuGetPackageBuildImports target and NuGetPackageImportStamp property, rewrites remaining packages/ folder paths to $(PkgXxx) properties, deletes packages.config, and flags package behaviors that PackageReference does not support (install.ps1, XDT config transforms, legacy content/ assets) for manual follow-up.

OpenRewrite.CSharp.Recipes.ConvertPackagesConfigToPackageReference

Optional

TrimTransitiveBoolean

Drop packages.config entries that are transitive dependencies of other entries instead of keeping them as explicit top-level pins. The restored package versions may drift over time as ranges re-resolve. Defaults to false.

mod run . --recipe=OpenRewrite.CSharp.Recipes.ConvertPackagesConfigToPackageReference

Install it once, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.