我正在尝试将appsettings.json文件包含在我正在使用的 .NET Core 控制台应用程序中HostBuilder,并尝试将一个部分 (AppVars) 添加到配置中。当我尝试这样做时,我收到错误:
System.InvalidOperationException:尝试激活时无法解析类型 AppVars 的服务...
这是我的代码:
private static async Task Main(string[] args)
{
var isService = !(Debugger.IsAttached || args.Contains("--console"));
var config1 = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true)
.Build();
var builder = new HostBuilder()
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<FileWriterService>();
services.Configure<AppVars>(config1.GetSection("AppVars"));
});
//...
}
Run Code Online (Sandbox Code Playgroud)
下面我尝试在类中注入 AppVars:
public class FileWriterService : IHostedService, IDisposable
{
private const string Path = @"d:\TestApplication.txt";
private Timer _timer;
private AppVars _appVars;
public FileWriterService(AppVars appVars)
{
//_appVars = appVars;
} …Run Code Online (Sandbox Code Playgroud)