As of right now, all ASP.NET Core assemblies (well, almost all) also run on .NET Framework, where strong naming is still important. For that reason, the assemblies are all strong named. And, because the strong name is part of the assembly's identity, it would be a breaking change to remove it at this point.
But, the strong name private key that's used is shared publicly, so it's strong only in the cryptographic sense, and not in any other tangible sense 馃槃
Just out of curiosity: When you stop supporting the .NET Framework in 3.0 will you also remove the strong names?
No, we plan to continue the use of strong-names on all ASP.NET Core assemblies.
Removing them would be a breaking change and would mean that things compiled for previous version won't work. We don't want that.
Removing them would be a breaking change and would mean that things compiled for previous version won't work. We don't want that.
Why is it a breaking change? Doesn't .NET Core generally ignore strong names?
Can't a 3.0 release make such breaking changes?
Because we don鈥檛 make breaking changes unless there鈥檚 a perceived benefit. I don鈥檛 see any here.
Doesn't .NET Core generally ignore strong names?
It doesn鈥檛 validate the integrity of strong names when loading assemblies (something which is done by default in .NET Framework but was often disabled), but the compiler and runtime still use the strong name in the type identity. As David said, removing this is a breaking change. It would be similar to renaming namespaces on all types because every app and library using aspnet core would have to recompile, and you could not write libraries which target both old and new versions of aspnetcore.
Most helpful comment
It doesn鈥檛 validate the integrity of strong names when loading assemblies (something which is done by default in .NET Framework but was often disabled), but the compiler and runtime still use the strong name in the type identity. As David said, removing this is a breaking change. It would be similar to renaming namespaces on all types because every app and library using aspnet core would have to recompile, and you could not write libraries which target both old and new versions of aspnetcore.