FileBasedApp.Toolkit.Dotnet
v0.18.0-rc-01Pre-release
net10.0
Fluent builders and recipes for dotnet CLI commands (pack, nuget push, package search).
Published
Apr 5, 2026
6mo ago
Total Downloads
1.7K
1,706
Install
dotnet add package FileBasedApp.Toolkit.Dotnet --version 0.18.0-rc-01
| Product | Versions |
|---|---|
| .NET |
README
FilebasedApp.Toolkit.Dotnet
Fluent builders and recipes for common dotnet CLI commands.
Features
DotnetBaseRunner<TSelf>— abstract base class providing shared--configurationand--verbosityoptionsDotnetPackSimpleRunner— fluent wrapper arounddotnet packwith options for output directory, symbols, versioning, runtime, and moreDotnetNugetPushSimpleRunner— fluent wrapper arounddotnet nuget pushwith options for source, API key, skip-duplicate, timeout, and moreDotnetRecipes— higher-level helpers that compose dotnet CLI commands into common workflowsPackageRequest/SearchResult/Package— records for deserializingdotnet package search --format jsonoutputPackageRequestExtension— helpers for flattening and querying package search results
Examples
Packing a project
using FilebasedApp.Toolkit.Dotnet;
using TruePath;
var output = AbsolutePath.Create("/artifacts");
await DotnetPackSimpleRunner.Init()
.WithProject(AbsolutePath.Create("/src/MyProject.csproj"))
.WithConfiguration("Release")
.WithOutput(output)
.WithVersionSuffix("beta-01")
.RunAsync();
Pushing a NuGet package
using FilebasedApp.Toolkit.Dotnet;
using TruePath;
await DotnetNugetPushSimpleRunner.Init()
.WithPackage(AbsolutePath.Create("/artifacts/MyPackage.1.0.0.nupkg"))
.WithSource("https://api.nuget.org/v3/index.json")
.WithApiKey(apiKey)
.WithSkipDuplicate()
.RunAsync();
Searching for a NuGet package
using FilebasedApp.Toolkit.Dotnet;
var result = await DotnetRecipes.GetPackageInformation("Newtonsoft.Json", includePrerelease: false);
// Get the highest version of a specific package
var package = result.GetHighestVersion("Newtonsoft.Json");
Console.WriteLine($"{package.Id} {package.LatestVersion}");
// Flatten all packages across all sources
foreach (var (sourceName, pkg) in result.FlattenedPackages)
{
Console.WriteLine($"[{sourceName}] {pkg.Id} {pkg.LatestVersion}");
}
Bugs or things missing
Feel free to create an issue or submit a pull request.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.