Use current runtime version in ILLink.Tasks package (#90197)
The ILLink.Tasks package should have a runtimeconfig.json that
matches the runtime version bundled with the SDK that references
it. This used to be done by stomping the runtime version in the
dotnet/sdk build, but ILLink.Tasks is no longer bundled with the
SDK so we need to do this ourselves.
Tests that use live ILLink bits need to continue working with the
SDK specified in global.json, so this preserves the existing
illink.runtimeconfig.json in the build output, but defines an
additional illink.runtimeconfig.pack.json file that uses the
current runtime version. The pack.json file is included in the
package (with the name illink.runtimeconfig.json) instead of the
original.
This includes a fix for
429a5c3a2ea096758c2b9b8907a8231d4e686a46:
we weren't actually using live illink for tests due to an
ordering issue introduced in response to feedback on that change.
The Directory.Build.props is imported too early (before the nuget
props that this is trying to override), so we need to import
Microsoft.NET.ILLink.props directly from the project file.
---------
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>