Skip to content

Add runtime lookup#94

Merged
Smaug123 merged 8 commits intomainfrom
add-runtime-lookup
May 16, 2025
Merged

Add runtime lookup#94
Smaug123 merged 8 commits intomainfrom
add-runtime-lookup

Conversation

@Smaug123
Copy link
Owner

No description provided.

@Smaug123
Copy link
Owner Author

Output on the Windows runner:

DotnetEnvironmentInfo { HostFxrVersion = 6.0.26, HostFxrCommitHash = dc45e96840243b203b13e61952230e225d2aac52, Sdks = System.Collections.Generic.List`1[WoofWare.DotnetRuntimeLocator.DotnetEnvironmentSdkInfo], Frameworks = System.Collections.Generic.List`1[WoofWare.DotnetRuntimeLocator.DotnetEnvironmentFrameworkInfo] }
SDKs:
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\6.0.136, Version = 6.0.136 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\6.0.203, Version = 6.0.203 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\6.0.321, Version = 6.0.321 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\6.0.428, Version = 6.0.428 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\8.0.115, Version = 8.0.115 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\8.0.206, Version = 8.0.206 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\8.0.311, Version = 8.0.311 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\8.0.408, Version = 8.0.408 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\8.0.409, Version = 8.0.409 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\9.0.105, Version = 9.0.105 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\9.0.200, Version = 9.0.200 }
SDK: DotnetEnvironmentSdkInfo { Path = C:\Program Files\dotnet\sdk\9.0.203, Version = 9.0.203 }
Frameworks:
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 6.0.5 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 6.0.26 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 6.0.36 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 6.0.37 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 8.0.6 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 8.0.13 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 8.0.15 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 8.0.16 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 9.0.2 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App, Version = 9.0.4 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 6.0.5 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 6.0.26 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 6.0.36 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 6.0.37 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 8.0.6 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 8.0.13 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 8.0.15 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 8.0.16 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 9.0.2 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = C:\Program Files\dotnet\shared\Microsoft.NETCore.App, Version = 9.0.4 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.WindowsDesktop.App, Path = C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App, Version = 6.0.5 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.WindowsDesktop.App, Path = C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App, Version = 6.0.26 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.WindowsDesktop.App, Path = C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App, Version = 6.0.36 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.WindowsDesktop.App, Path = C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App, Version = 8.0.6 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.WindowsDesktop.App, Path = C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App, Version = 8.0.13 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.WindowsDesktop.App, Path = C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App, Version = 8.0.15 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.WindowsDesktop.App, Path = C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App, Version = 8.0.16 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.WindowsDesktop.App, Path = C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App, Version = 9.0.2 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.WindowsDesktop.App, Path = C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App, Version = 9.0.4 }
System.Text.Json location: C:\Program Files\dotnet\shared\Microsoft.NETCore.App/8.0.6\System.Text.Json.dll

@Smaug123
Copy link
Owner Author

Self-contained output on Linux:

DotnetEnvironmentInfo { HostFxrVersion = 8.0.15, HostFxrCommitHash = 50c4cb9fc31c47f03eac865d7bc518af173b74b7, Sdks = System.Collections.Generic.List`1[WoofWare.DotnetRuntimeLocator.DotnetEnvironmentSdkInfo], Frameworks = System.Collections.Generic.List`1[WoofWare.DotnetRuntimeLocator.DotnetEnvironmentFrameworkInfo] }
SDKs:
SDK: DotnetEnvironmentSdkInfo { Path = /usr/lib/dotnet/sdk/8.0.115, Version = 8.0.115 }
Frameworks:
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = /usr/lib/dotnet/shared/Microsoft.AspNetCore.App, Version = 8.0.15 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = /usr/lib/dotnet/shared/Microsoft.NETCore.App, Version = 8.0.15 }
System.Text.Json location: /home/runner/work/WoofWare.DotnetRuntimeLocator/WoofWare.DotnetRuntimeLocator/Example/bin/Release/net8.0/linux-x64/System.Text.Json.dll

@Smaug123
Copy link
Owner Author

Non-self-contained output on Linux:

DotnetEnvironmentInfo { HostFxrVersion = 8.0.15, HostFxrCommitHash = 50c4cb9fc31c47f03eac865d7bc518af173b74b7, Sdks = System.Collections.Generic.List`1[WoofWare.DotnetRuntimeLocator.DotnetEnvironmentSdkInfo], Frameworks = System.Collections.Generic.List`1[WoofWare.DotnetRuntimeLocator.DotnetEnvironmentFrameworkInfo] }
SDKs:
SDK: DotnetEnvironmentSdkInfo { Path = /usr/lib/dotnet/sdk/8.0.115, Version = 8.0.115 }
Frameworks:
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.AspNetCore.App, Path = /usr/lib/dotnet/shared/Microsoft.AspNetCore.App, Version = 8.0.15 }
Framework: DotnetEnvironmentFrameworkInfo { Name = Microsoft.NETCore.App, Path = /usr/lib/dotnet/shared/Microsoft.NETCore.App, Version = 8.0.15 }
System.Text.Json location: /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.15/System.Text.Json.dll

@Smaug123
Copy link
Owner Author

It's rather odd that Windows is giving us 8.0.6, when 8.0.16 is there. I think the ordering is wrong; we should be falling back to maximum patch version as documented!

@Smaug123
Copy link
Owner Author

Now we choose:

  • C:\Program Files\dotnet\shared\Microsoft.NETCore.App/8.0.16\System.Text.Json.dll on Windows, correctly.
  • /home/runner/work/WoofWare.DotnetRuntimeLocator/WoofWare.DotnetRuntimeLocator/Example/bin/Debug/net8.0/linux-x64/System.Text.Json.dll self-contained, correctly.
  • /usr/lib/dotnet/shared/Microsoft.NETCore.App/8.0.15/System.Text.Json.dll non-self-contained, correctly.

@Smaug123
Copy link
Owner Author

THIS SOFTWARE IS PROVIDED… WITHOUT WARRANTY… INCLUDING BUT NOT LIMITED TO… FITNESS FOR A PARTICULAR PURPOSE

@Smaug123 Smaug123 merged commit 1b53401 into main May 16, 2025
15 checks passed
@Smaug123 Smaug123 deleted the add-runtime-lookup branch May 16, 2025 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant