Die Lösung wurde aktualisiert und enthält nun ein neues Projekt `EnvelopeGenerator.Terminal` für .NET 8.0. Hinzufügen der Klassen `CommandManager` und `DependencyInjection` für die Befehlsausführung und die Injektion von Abhängigkeiten mit CommandDotNet. Die Klasse `Program` wurde eingeführt, um den Anwendungshost einzurichten und Befehle auszuführen. Hinzufügen der erforderlichen Paketverweise in der Projektdatei zur Unterstützung neuer Funktionen.
29 lines
935 B
C#
29 lines
935 B
C#
using CommandDotNet.NameCasing;
|
|
using CommandDotNet;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using CommandDotNet.IoC.MicrosoftDependencyInjection;
|
|
|
|
namespace EnvelopeGenerator.Terminal;
|
|
|
|
public static class DependencyInjection
|
|
{
|
|
public static IServiceCollection AddCommandManagerRunner(this IServiceCollection services, Case @case = Case.KebabCase)
|
|
{
|
|
return services
|
|
.AddSingleton<CommandManager>()
|
|
.AddSingleton(sp =>
|
|
{
|
|
var runner = new AppRunner<CommandManager>();
|
|
runner.UseMicrosoftDependencyInjection(sp);
|
|
runner.UseNameCasing(@case);
|
|
return runner;
|
|
});
|
|
}
|
|
|
|
public static Task<int> RunCommandManagerRunner(this IServiceProvider provider, string[] args)
|
|
{
|
|
var runner = provider.GetRequiredService<AppRunner<CommandManager>>();
|
|
return runner.RunAsync(args);
|
|
}
|
|
}
|