It seems like we should be catching regressions such as #10650 at build time, to ensure MSBuild binaries align with NuGet binaries.
Consider using https://www.nuget.org/packages/checkbinarycompat
The readme contains extensive documentation on how to use and how it works, but basically you point it to a directory full of binaries and .app.config files and it checks that for every assembly, type and member reference it actually resolves in the destination assembly, and it checks binding redirect ranges for all entries in the app.config file.
It seems like we should be catching regressions such as #10650 at build time, to ensure MSBuild binaries align with NuGet binaries.
Consider using https://www.nuget.org/packages/checkbinarycompat
The readme contains extensive documentation on how to use and how it works, but basically you point it to a directory full of binaries and .app.config files and it checks that for every assembly, type and member reference it actually resolves in the destination assembly, and it checks binding redirect ranges for all entries in the app.config file.