BlazorFocused.Automation.CommandLine
                              
                            
                                1.0.0-alpha1
                            
                        
                    
        
        
                                This is a prerelease version of BlazorFocused.Automation.CommandLine.
                            
    
    
        
        
                                There is a newer prerelease version of this package available.
                                
See the version list below for details.
                    See the version list below for details.
dotnet add package BlazorFocused.Automation.CommandLine --version 1.0.0-alpha1
NuGet\Install-Package BlazorFocused.Automation.CommandLine -Version 1.0.0-alpha1
        
        
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
                    
    
    <PackageReference Include="BlazorFocused.Automation.CommandLine" Version="1.0.0-alpha1" />
        
        
For projects that support PackageReference, copy this XML node into the project file to reference the package.
                    
    
    <PackageVersion Include="BlazorFocused.Automation.CommandLine" Version="1.0.0-alpha1" />
<PackageReference Include="BlazorFocused.Automation.CommandLine" />
        
        
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
                    
    
    paket add BlazorFocused.Automation.CommandLine --version 1.0.0-alpha1
        
        
 The NuGet Team does not provide support for this client. Please contact its maintainers for support.
                    
    
    #r "nuget: BlazorFocused.Automation.CommandLine, 1.0.0-alpha1"
        
        
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
                    
    
    #:package BlazorFocused.Automation.CommandLine@1.0.0-alpha1
        
        
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
                    
    
    #addin nuget:?package=BlazorFocused.Automation.CommandLine&version=1.0.0-alpha1&prerelease
#tool nuget:?package=BlazorFocused.Automation.CommandLine&version=1.0.0-alpha1&prerelease
        
        
 The NuGet Team does not provide support for this client. Please contact its maintainers for support.
                    
    
    BlazorFocused.Automation.Runtime
Dependency Injection Framework for C# Console Applications
NuGet Packages
| Package | Description | 
|---|---|
| BlazorFocused.Automation.CommandLine | Dependency Injection Framework for C# Console Applications | 
Documentation
Please visit the BlazorFocused.Automation Documentation Site for installation, getting started, and API documentation.
Samples
Please visit and/or download our BlazorFocused.Automation.CommandLine Sample Solution to get a more in-depth view of usage.
Installation
.NET CLI
dotnet add package BlazorFocused.Automation.CommandLine
Development
Create Automation Console Command to run
public class TestCommand : StandardCommand
{
    public override void ConfigureCommand(IServiceBinderFactory serviceBinderFactory, Command command)
    {
        var greetingOption = new Option<string>(
            name: "--greeting",
            description: "New greeting to display.");
        command.AddOption(greetingOption);
        command.SetHandler(UpdateGreeting,
            greetingOption,
            serviceBinderFactory.Bind<ITestService>(),
            serviceBinderFactory.Bind<IConfiguration>());
    }
    public override void Configure(HostBuilderContext hostBuilderContext, IConfigurationBuilder configurationBuilder)
    {
        var appSettings = new Dictionary<string, string>()
        {
            ["CurrentGreetingMessage"] = "Current Greeting: {0}",
            ["NewGreetingMessage"] = "New Greeting: {0}"
        };
        configurationBuilder.AddInMemoryCollection(appSettings);
    }
    public override void ConfigureServices(HostBuilderContext hostBuilderContext, IServiceCollection services)
    {
        serviceCollection.AddScoped<ITestService, TestService>();
    }
    private void UpdateGreeting(
        string newGreeting,
        ITestService testService,
        IConfiguration configuration)
    {
        string unformattedCurrentGreeting = configuration.GetValue<string>("CurrentGreetingMessage");
        string unformattedNewGreeting = configuration.GetValue<string>("NewGreetingMessage");
        string currentGreeting = testService.GetGreeting();
        Console.WriteLine(unformattedCurrentGreeting, currentGreeting);
        string updatedGreeting = testService.UpdateGreeting(newGreeting);
        Console.WriteLine(unformattedNewGreeting, updatedGreeting);
    }
}
Add Automation Console Builder in startup
class Program
{
    static void Main(string[] args)
    {
        IAutomationConsoleBuilder builder =
            // Passing in "args" is optional
            AutomationConsole.CreateDefaultBuilder(args)
                // Add command name/path here
                .AddCommand<TestCommand>("greet");
        IAutomationConsole console = builder.Build();
        console.Run();
    }
}
Run command
dotnet run -- greet --greeting "Hello World"
Other Resources
- .NET Command-Line-Api Project
- Tutorial: Create a .NET tool using the .NET CLI
- Tutorial: Install and use a .NET global tool using the .NET CLI
- Tutorial: Install and use a .NET local tool using the .NET CLI
Related Packages
| Package | Description | 
|---|---|
| BlazorFocused.Automation.Runtime | Runtime services for BlazorFocused.Automation framework | 
| BlazorFocused.Automation.PowerShell | PowerShell PSCmdlet SDK utilities for Automation framework development | 
| BlazorFocused.Automation.PowerShell.Tools | Development tools for running/testing PSCmdlets built with Automation framework | 
| Product | Versions Compatible and additional computed target framework versions. | 
|---|---|
| .NET | 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 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 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. | 
        
        Compatible target framework(s)
    
    
        
        Included target framework(s) (in package)
    
    Learn more about Target Frameworks and .NET Standard.
- 
                                                    net6.0- BlazorFocused.Automation.Runtime (>= 1.0.0-alpha1)
- System.CommandLine (>= 2.0.0-beta4.22272.1)
 
- 
                                                    net7.0- BlazorFocused.Automation.Runtime (>= 1.0.0-alpha1)
- System.CommandLine (>= 2.0.0-beta4.22272.1)
 
- 
                                                    net8.0- BlazorFocused.Automation.Runtime (>= 1.0.0-alpha1)
- System.CommandLine (>= 2.0.0-beta4.22272.1)
 
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 | 
|---|---|---|
| 1.1.0-preview2 | 282 | 11/28/2024 | 
| 1.1.0-preview1 | 98 | 11/21/2024 | 
| 1.0.0-preview1 | 101 | 2/27/2024 | 
| 1.0.0-alpha1 | 115 | 9/29/2023 |