dotnet / upgrade-assistant

A tool to assist developers in upgrading .NET Framework applications to .NET 6 and beyond
MIT License
1.11k stars 163 forks source link

Option to apply single step non-interactively #1375

Open garrettleach opened 1 year ago

garrettleach commented 1 year ago

Summary

I want to upgrade 100s of .NET Framework csproj files in phases using as little manual interaction as possible.

Motivation and goals

I have to upgrade 100s of csproj files in a single sln and git repo. I cannot rely on creating a PR that contains all necessary changes and between each PR the build must still work. For my first phase I split the work into a few PRs to convert csproj files to SDK-style format but started falling asleep with repetitive button pressing.

In scope

Out of scope

Nothing comes to mind

Risks / unknowns

I can imagine someone missing a step and creating issues if they are not prevented from bypassing dependencies.

Examples

upgrade-assistant upgradeStep MyProject.csproj

or

upgrade-assistant upgradeStep MyProject.csproj --step sdk-style-conversion

I implemented something similar (but uglier) to the above on my own and found it super helpful.

garrettleach commented 1 year ago

There is an experimental feature SOLUTION_WIDE_SDK_CONVERSION that seems like it is what I was requesting. I haven't tried it myself but mention it in case someone runs across this is a search and is willing to try it.