-
Notifications
You must be signed in to change notification settings - Fork 172
Description
Description
Since .NET Upgrade Assistant got deprecated I tried to migrate a legacy project (old .csproj format) from packages.config to PackageReferences, but the results were pretty bad.
My prompt was the following:
@modernize migrate the [XY.csproj] from packages.config to PackageReferences. Put the PackageReferences, the Assembly References and the ProjectReferences to separate ItemGroups. Do not add comments to the .csproj file.
And the results were:
- First it put the PackageReferences to the same ItemGroup as the other references and added some useless comments. Luckily I could address these in my improved prompt (see above).
- It did not delete the packages.config file, just removed it from the .csproj file.
- It converted the AssemblyReferences (referencing from the Packages folder) to PackageReferences, instead of considering the content of packages.config -> It created a different list of PackageReferences that caused compilation errors.
- It modified a ProjectReference (totally unrelated from the actual change), it changed a single letter in a GUID to a wrong value (???)
It is possible that with further prompt engineering I could improve the results, but I would expect the new modernize tool to support what was previously supported in the deprecated tool.
We are in the middle of a modernization project where we would like to upgrade the packages management in hundreds of old project files. The deprecation of .NET Upgrade Assistant (that had an explicit feature for this conversion) and the lack of support in the new AI based Modernize tool makes it much harder than before.