DenoHost.Core
2.6.5
dotnet add package DenoHost.Core --version 2.6.5
NuGet\Install-Package DenoHost.Core -Version 2.6.5
<PackageReference Include="DenoHost.Core" Version="2.6.5" />
<PackageVersion Include="DenoHost.Core" Version="2.6.5" />
<PackageReference Include="DenoHost.Core" />
paket add DenoHost.Core --version 2.6.5
#r "nuget: DenoHost.Core, 2.6.5"
#:package DenoHost.Core@2.6.5
#addin nuget:?package=DenoHost.Core&version=2.6.5
#tool nuget:?package=DenoHost.Core&version=2.6.5
DenoHost
About
DenoHost allows you to seamlessly run Deno scripts or
inline JavaScript/TypeScript code within your .NET applications.
It bundles platform-specific Deno executables as separate NuGet packages and
provides a simple, consistent API for execution.
Features
- Modular runtime packages (per RID)
- Clean .NET API with async execution
- Testable with xUnit
- Packaged for NuGet (multi-target)
- Linux, Windows, macOS support
NuGet Packages
dotnet add package DenoHost.Core
| Package | Description | Platforms |
|---|---|---|
DenoHost.Core |
Core execution logic (API) | all |
DenoHost.Runtime.win-x64 |
Bundled Deno for Windows | win-x64 |
DenoHost.Runtime.linux-x64 |
Deno for Linux | linux-x64 |
DenoHost.Runtime.linux-arm64 |
Deno for ARM Linux | linux-arm64 |
DenoHost.Runtime.osx-x64 |
Deno for macOS Intel | osx-x64 |
DenoHost.Runtime.osx-arm64 |
Deno for macOS Apple Silicon | osx-arm64 |
Deno.Execute Example
For simple script execution with immediate results:
using DenoHost.Core;
var options = new DenoExecuteBaseOptions { WorkingDirectory = "./scripts" };
string[] args = ["run", "app.ts"];
await Deno.Execute(options, args);
Cancellation
You can cancel execution via a CancellationToken. Cancellation throws an OperationCanceledException and terminates the underlying Deno process.
using DenoHost.Core;
using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10));
var options = new DenoExecuteBaseOptions { WorkingDirectory = "./scripts" };
await Deno.Execute(options, ["run", "long-running.ts"], cts.Token);
Arguments and quoting
DenoHost passes arguments via ProcessStartInfo.ArgumentList. Pass each argument as its own string (avoid adding shell-style quotes inside argument strings).
await Deno.Execute("eval", ["console.log('hello world')"]);
DenoProcess Example
For long-running processes with interactive communication:
using DenoHost.Core;
// Create a managed Deno process
using var denoProcess = new DenoProcess(
command: "run",
args: ["--allow-read", "server.ts"],
workingDirectory: "./scripts"
);
// Start the process
await denoProcess.StartAsync();
// Send input to the process
await denoProcess.SendInputAsync("hello");
// Stop gracefully when done
await denoProcess.StopAsync();
Requirements
- .NET 9.0+
- Deno version is bundled per RID via GitHub Releases
- No need to install Deno globally
Feedback
If you're using DenoHost in a real project, I'd love to hear about it.
License
This project is licensed under the MIT License.
Security Policy
See SECURITY.md for how to report vulnerabilities.
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. 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 was computed. 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. |
-
net9.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.6.5 | 0 | 1/15/2026 |
| 2.6.4 | 90 | 1/6/2026 |
| 2.6.3 | 140 | 12/20/2025 |
| 2.6.2 | 196 | 12/19/2025 |
| 2.6.1 | 268 | 12/16/2025 |
| 2.6.0 | 117 | 12/12/2025 |
| 2.5.6-alpha.20 | 114 | 11/2/2025 |
| 2.5.4-alpha.18 | 143 | 10/9/2025 |
| 2.5.3-alpha.17 | 115 | 10/3/2025 |
| 2.5.2-alpha.16 | 140 | 9/25/2025 |
| 2.5.1-alpha.15 | 176 | 9/21/2025 |
| 2.5.0-alpha.14 | 145 | 9/11/2025 |
| 2.4.5-alpha.13 | 71 | 8/23/2025 |
| 2.4.4-alpha.11 | 148 | 8/14/2025 |
| 2.4.3-alpha.10 | 147 | 8/13/2025 |
| 2.4.3-alpha.9 | 63 | 8/2/2025 |
| 2.4.3-alpha.8 | 46 | 8/2/2025 |
| 2.4.3-alpha.7 | 116 | 7/31/2025 |
| 2.4.2-alpha.6 | 225 | 7/26/2025 |
| 2.4.2-alpha.5 | 250 | 7/26/2025 |
| 2.4.2-alpha.4 | 133 | 7/16/2025 |
| 2.4.1-alpha.3 | 102 | 7/13/2025 |
| 2.4.1-alpha.2 | 105 | 7/13/2025 |
| 2.4.1-alpha.1 | 109 | 7/13/2025 |