Hinzufügen des EnvelopeGenerator.Terminal-Projekts mit CLI-Unterstützung
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.
This commit is contained in:
28
EnvelopeGenerator.Terminal/DependencyInjection.cs
Normal file
28
EnvelopeGenerator.Terminal/DependencyInjection.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user