LINQPad 8.5.5 (beta) vs .NET 9.0 (preview)

Trashbin
edited August 2024 in General

I have installed both the SDK and the .NET Core 9.0 runtime, but I can't select it because it appears as "not installed"::

PS> dotnet --list-sdks
6.0.202
7.0.410
8.0.303
** 9.0.100-preview.6.24328.19 **

PS> dotnet --list-runtimes
Microsoft.AspNetCore.App 6.0.4
Microsoft.AspNetCore.App 7.0.20
Microsoft.AspNetCore.App 8.0.7
Microsoft.AspNetCore.App 9.0.0-preview.6.24328.4
Microsoft.NETCore.App 6.0.4
Microsoft.NETCore.App 7.0.20
Microsoft.NETCore.App 8.0.7
Microsoft.NETCore.App 9.0.0-preview.6.24327.7
Microsoft.WindowsDesktop.App 6.0.4
Microsoft.WindowsDesktop.App 7.0.20
Microsoft.WindowsDesktop.App 8.0.7
** Microsoft.WindowsDesktop.App 9.0.0-preview.6.24327.6 **

Host runtime version: 6.0.32
Default query runtime version: 8.0.7
Default query reference assembly version: 8.0.7
Roslyn Version: 4.10.0-3.24273.2
FSharp.Compiler.Service version: 43.8.101.0
NuGet client version: 6.7.1.1
Windows DevDrive Status: Unavailable
Results rendering engine: Edge Chromium Engine 127.0.2651.86 (WebView2)

Is this an expected behaviour?

Thank you

Comments

  • This is not expected behavior. Does it help if you install the latest .NET 9 SDK?

  • Trashbin
    edited August 2024

    The issue may depend on how the .NET 9.0 Preview runtime is installed:

    [*] Same version: Microsoft.WindowsDesktop.App 9.0.0-preview.6.24327.6

  • JoeAlbahari
    edited August 2024

    By default, that script installs .NET to %localappdata%\Microsoft\dotnet. For this to work reliably, you need to

    (a) Add this folder to your path
    (b) Remove the %program files%\dotnet folder from your path
    (c) Set the DOTNET_ROOT environment variable to this folder

    If you do (a) and (b), but fail to do (c), dotnet --list-sdks will list the SDKs installed via the script, but application launchers will not be able to see them.

    You can see what LINQPad is doing by starting LINQPad8 with the -log switch. After exiting LINQPad, look in %localappdata%\LINQPad\logs.LINQPad8\startup.log to see what LINQPad used for your .NET root.