2025-10-03 09:40:27 +00:00
2024-06-07 19:16:46 +01:00
2025-05-16 20:25:40 +01:00
2025-09-08 21:33:32 +00:00
2024-06-07 19:16:46 +01:00
2025-05-16 13:52:37 +00:00
2024-06-07 19:16:46 +01:00
2024-06-07 19:16:46 +01:00
2025-09-28 01:49:32 +00:00
2025-05-16 20:25:40 +01:00
2025-05-16 20:27:58 +01:00
2025-10-03 09:40:27 +00:00

WoofWare.DotnetRuntimeLocator

Helpers to locate the .NET runtime and SDKs programmatically. (If you're parsing dotnet --list-runtimes, you're doing it wrong!)

Usage

See the example.

let info = DotnetEnvironmentInfo.Get ()
// or, if you already know a path to the `dotnet` executable...
let info = DotnetEnvironmentInfo.GetSpecific "/path/to/dotnet"

// identify the directories containing the framework which would execute a given DLL
let dirsToSearch : string seq = DotnetRuntime.SelectForDll "/path/to/dll.dll"
// or, if you would be running with a specific `/path/to/dotnet exec /path/to/dll.dll`:
let dirsToSearch : string seq = DotnetRuntime.SelectForDll ("/path/to/dll.dll", "/path/to/dotnet")

Troubleshooting

The easiest way to make sure we can find a dotnet is to have one on your PATH.

If you have a very strange setup, we may be unable to locate the libhostfxr library we use to find the runtimes. In that case, you can supply the environment variable WOOFWARE_DOTNET_LOCATOR_LIBHOSTFXR, which should be a full path to a libhostfxr DLL on your system. (Normally this is in /usr/share/dotnet/host/fxr/{runtime}/libhostfxr.so; you must make sure your version is from runtime 6 or greater, because the required symbols were not added until then.)

Licence

WoofWare.DotnetRuntimeLocator is licensed to you under the MIT licence, a copy of which can be found at LICENSE.

Description
Helpers so you can find available .NET runtimes and such
Readme MIT 612 KiB
Languages
C# 80.6%
F# 13.4%
Nix 6%