We currently ship Xamarin.iOS.Tasks.dll and Xamarin.Localization.MSBuild.dll in three/four packages: Microsoft.[iOS|tvOS|watchOS|macOS].Sdk. This is problematic if the user uses different versions of these packages in the same solution, because only one of them will be loaded in the MSBuild process, and there might be incompatibilities.
This is a very similar issue as #9830, just for .NET instead of old-style Xamarin.iOS/Mac.
It's the same reason we use ILRepack to merge all the dependent assemblies into Xamarin.[iOS|Mac].Tasks.dll.
Potential solutions:
- Rename the assemblies according to the platform (say Xamarin.tvOS.Tasks.dll / Xamarin.tvOS.Localization.MSBuild.dll for instance).
- Sign each version with different keys? Not sure if this would work, but it might be the simplest.
Time estimate: 3 days.