FieldCure.ToolHost
0.1.2
See the version list below for details.
dotnet add package FieldCure.ToolHost --version 0.1.2
NuGet\Install-Package FieldCure.ToolHost -Version 0.1.2
<PackageReference Include="FieldCure.ToolHost" Version="0.1.2" />
<PackageVersion Include="FieldCure.ToolHost" Version="0.1.2" />
<PackageReference Include="FieldCure.ToolHost" />
paket add FieldCure.ToolHost --version 0.1.2
#r "nuget: FieldCure.ToolHost, 0.1.2"
#:package FieldCure.ToolHost@0.1.2
#addin nuget:?package=FieldCure.ToolHost&version=0.1.2
#tool nuget:?package=FieldCure.ToolHost&version=0.1.2
FieldCure.ToolHost
Run .NET tools from NuGet without the .NET SDK — a dnx-compatible bridge library for environments where only the .NET runtime is available (MS Store apps, MSIX, runtime-only containers, CI bootstrappers).
Bridge until Microsoft ships standalone dnx (dotnet/sdk#49796).
Install
dotnet add package FieldCure.ToolHost
Quick Start
using FieldCure.ToolHost;
using System.Diagnostics;
DotnetEnvironment env = await DotnetEnvironment.DetectAsync();
DnxLiteRunner runner = new(env);
using Process tool = await runner.StartAsync(new ToolInvocationRequest
{
PackageId = "dotnetsay",
ToolArguments = new[] { "Hello!" },
Policy = ToolVersionPolicy.CachedWithRefresh,
});
tool.StandardInput.Close();
Console.Write(await tool.StandardOutput.ReadToEndAsync());
await tool.WaitForExitAsync();
Version Policy
| Policy | Behavior |
|---|---|
AlwaysLatest |
Query NuGet every call (dnx semantics) |
CachedWithRefresh |
Use cached if within TTL (default 24h); else query |
CachedOnly |
Use cached unconditionally (offline) |
Requirements
- .NET 8 or .NET 10 runtime (no SDK needed)
See Also
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.16)
- NuGet.Configuration (>= 6.12.5)
- NuGet.Credentials (>= 6.12.5)
- NuGet.Packaging (>= 6.12.5)
- NuGet.Protocol (>= 6.12.5)
-
net8.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.16)
- NuGet.Configuration (>= 6.12.5)
- NuGet.Credentials (>= 6.12.5)
- NuGet.Packaging (>= 6.12.5)
- NuGet.Protocol (>= 6.12.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
v0.1.2 — ToolInvocationRequest pass-through for VersionConstraint (NuGet range syntax) and AdditionalEnvironment (child-process env vars). Unblocks embedder scenarios that need major-version pinning or credential injection. See RELEASENOTES.ToolHost.md on GitHub for the full notes.