JKToolKit.Spectre.Console.Extensions.Hosting-ng
0.0.5
dotnet add package JKToolKit.Spectre.Console.Extensions.Hosting-ng --version 0.0.5
NuGet\Install-Package JKToolKit.Spectre.Console.Extensions.Hosting-ng -Version 0.0.5
<PackageReference Include="JKToolKit.Spectre.Console.Extensions.Hosting-ng" Version="0.0.5" />
paket add JKToolKit.Spectre.Console.Extensions.Hosting-ng --version 0.0.5
#r "nuget: JKToolKit.Spectre.Console.Extensions.Hosting-ng, 0.0.5"
// Install JKToolKit.Spectre.Console.Extensions.Hosting-ng as a Cake Addin #addin nuget:?package=JKToolKit.Spectre.Console.Extensions.Hosting-ng&version=0.0.5 // Install JKToolKit.Spectre.Console.Extensions.Hosting-ng as a Cake Tool #tool nuget:?package=JKToolKit.Spectre.Console.Extensions.Hosting-ng&version=0.0.5
Spectre.Console.Extensions.Hosting-ng
New and improved version of juro-org/Spectre.Console.Extensions.Hosting. Adds Spectre.Console CommandApp extensions for Microsoft.Extensions.Hosting.
Table of Contents
Install
Install the Spectre.Console.Extensions.Hosting-ng NuGet package into your app.
Install-Package JKToolKit.Spectre.Console.Extensions.Hosting-ng
Usage
After the installation you can use the extension UseSpectreConsole
for IHostBuilder.
For this you must configure the SpectreConsole CommandApp in your application`s Program.cs file:
public static async Task<int> Main(string[] args)
{
await Host.CreateDefaultBuilder(args)
.UseConsoleLifetime()
.UseSpectreConsole<DefaultCommand>()
.ConfigureServices(
(_, services) => { services.AddSingleton<IGreeter, HelloWorldGreeter>(); })
.RunConsoleAsync();
return Environment.ExitCode;
}
It is also possible to customize the command configurations:
Host.CreateDefaultBuilder(args)
...
.UseSpectreConsole(config =>
{
config.AddCommand<AddCommand>("add");
config.AddCommand<CommitCommand>("commit");
config.AddCommand<RebaseCommand>("rebase");
#if DEBUG
config.PropagateExceptions();
config.ValidateExamples();
#endif
})
...
Improvements
- Faster Startup Time: Reduced startup time by approximately 100ms from the original version, which took at least 200ms.
- Better Dependency Injection: Enhanced support for dependency injection, fixed issues with multiple dependency containers floating around.
Examples
Examples are located in the samples folder. It is planned to further adopt CLI examples from Spectre.Console.
Maintainer
Contributing
pectre.Console.Extensions.Hosting follows the Contributor Covenant Code of Conduct.
We accept Pull Requests.
Small note: If editing the Readme, please conform to the standard-readme specification.
License
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.