Program.cs
// See https://aka.ms/new-console-template for more information
using Autofac;
using Autofac.Extensions.DependencyInjection;
using ConsoleApp;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
var services = new ServiceCollection();
services.AddLogging(builder =>
{
builder.AddConsole();
});
var builder = new ContainerBuilder();
builder.Populate(services);
builder.RegisterType<App>().PropertiesAutowired();
var container = builder.Build();
await container.Resolve<App>().Run(args);
App.cs
using Microsoft.Extensions.Logging;
namespace ConsoleApp
{
internal class App
{
public ILogger<App> Logger { get; set; }
public async Task Run(string[] args)
{
Logger.LogInformation("Starting...");
await Task.CompletedTask;
}
}
}
ConsoleApp.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Autofac" Version="6.5.0" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
</ItemGroup>
</Project>
标签:core,autofac,console,builder,ConsoleApp,Extensions,var,using
From: https://www.cnblogs.com/haue/p/16996376.html