[xabt] Xamarin.Android.Build.Tasks.dll
should be strong-named
#10377
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one su
2F8F
ggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: dotnet/maui#30948
MSBuild task assemblies can run on .NET framework when building inside Visual Studio.
If you have a .NET 8, .NET 9, and .NET 10 project in the same solution, the best way to support this is to strong name and version your assembly so that .NET framework can load multiple copies of it. This can also happen if you update the
$(TargetFramework)
while a project is open.Unfortunately, #30948 uncovered an issue when .NET 9 and .NET 10:
Xamarin.Android.Build.Tasks.dll
: strong namedXamarin.Android.Build.Tasks.dll
: not strong namedXamarin.Android.Build.Tasks.dll
: not strong namedI suspect this went wrong in 003f5d1, but we didn't notice it until now because .NET 8 was strong-named and .NET 9 was not.
To fix this, we simply need to set
$(SignAssembly)
totrue
.Prior to 003f5d1, this was set to false because the ILRepack process signed at the end of the repacking. When ILRepack was removed, we forgot to enable strong name signing! Whoops!