Console base WIP
This commit is contained in:
33
src/ConsoleApp/FileTime.ConsoleUI/DI.cs
Normal file
33
src/ConsoleApp/FileTime.ConsoleUI/DI.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using FileTime.App.CommandPalette;
|
||||
using FileTime.App.ContainerSizeScanner;
|
||||
using FileTime.App.DependencyInjection;
|
||||
using FileTime.App.FrequencyNavigation;
|
||||
using FileTime.App.Search;
|
||||
using FileTime.ConsoleUI.App;
|
||||
using FileTime.Providers.Local;
|
||||
using FileTime.Server.Common;
|
||||
using FileTime.Tools.Compression;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Serilog;
|
||||
|
||||
namespace FileTime.ConsoleUI;
|
||||
|
||||
public class DI
|
||||
{
|
||||
public static IServiceProvider ServiceProvider { get; set; } = null!;
|
||||
|
||||
public static void Initialize(IConfigurationRoot configuration)
|
||||
=> ServiceProvider = DependencyInjection
|
||||
.RegisterDefaultServices(configuration: configuration)
|
||||
.AddConsoleServices()
|
||||
.AddLocalProviderServices()
|
||||
.AddServerCoreServices()
|
||||
.AddFrequencyNavigation()
|
||||
.AddCommandPalette()
|
||||
.AddContainerSizeScanner()
|
||||
.AddSearch()
|
||||
.AddCompression()
|
||||
.AddLogging(loggingBuilder => loggingBuilder.AddSerilog())
|
||||
.BuildServiceProvider();
|
||||
}
|
||||
@@ -12,7 +12,17 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\AppCommon\FileTime.App.ContainerSizeScanner\FileTime.App.ContainerSizeScanner.csproj" />
|
||||
<ProjectReference Include="..\..\AppCommon\FileTime.App.DependencyInjection\FileTime.App.DependencyInjection.csproj" />
|
||||
<ProjectReference Include="..\..\AppCommon\FileTime.App.FrequencyNavigation\FileTime.App.FrequencyNavigation.csproj" />
|
||||
<ProjectReference Include="..\..\Tools\FileTime.Tools.Compression\FileTime.Tools.Compression.csproj" />
|
||||
<ProjectReference Include="..\FileTime.ConsoleUI.App\FileTime.ConsoleUI.App.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
// See https://aka.ms/new-console-template for more information
|
||||
Console.WriteLine("Hello, World!");
|
||||
using FileTime.ConsoleUI;
|
||||
using FileTime.ConsoleUI.App;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
var d1 = new DirectoryInfo("C:");
|
||||
var d2 = new DirectoryInfo("C:\\");
|
||||
var configuration = new ConfigurationBuilder()
|
||||
#if DEBUG
|
||||
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
|
||||
#endif
|
||||
.Build();
|
||||
DI.Initialize(configuration);
|
||||
|
||||
;
|
||||
var app = DI.ServiceProvider.GetRequiredService<IApplication>();
|
||||
app.Run();
|
||||
Reference in New Issue
Block a user