FileBasedApp.Toolkit.Dotnet
0.18.1
dotnet add package FileBasedApp.Toolkit.Dotnet --version 0.18.1
NuGet\Install-Package FileBasedApp.Toolkit.Dotnet -Version 0.18.1
<PackageReference Include="FileBasedApp.Toolkit.Dotnet" Version="0.18.1" />
<PackageVersion Include="FileBasedApp.Toolkit.Dotnet" Version="0.18.1" />
<PackageReference Include="FileBasedApp.Toolkit.Dotnet" />
paket add FileBasedApp.Toolkit.Dotnet --version 0.18.1
#r "nuget: FileBasedApp.Toolkit.Dotnet, 0.18.1"
#:package FileBasedApp.Toolkit.Dotnet@0.18.1
#addin nuget:?package=FileBasedApp.Toolkit.Dotnet&version=0.18.1
#tool nuget:?package=FileBasedApp.Toolkit.Dotnet&version=0.18.1
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.
Credits
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- FileBasedApp.Toolkit (>= 0.18.0)
- NuGet.Versioning (>= 7.3.0)
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 |
|---|---|---|
| 0.18.1 | 0 | 4/5/2026 |
| 0.18.0 | 3 | 4/5/2026 |
| 0.18.0-rc-01 | 25 | 4/5/2026 |
- Initial release
- Added DotnetBaseRunner — abstract base for fluent dotnet CLI runners with --configuration and --verbosity
- Added DotnetPackSimpleRunner — fluent wrapper around dotnet pack
- Added DotnetNugetPushSimpleRunner — fluent wrapper around dotnet nuget push
- Added DotnetRecipes with GetPackageInformation for JSON-based NuGet package search
- Added PackageRequest, SearchResult, and Package records for dotnet package search deserialization
- Added PackageRequestExtension with FlattenedPackages and GetHighestVersion helpers