简体   繁体   中英

Inject IConfiguration into Program.cs (Console App) in .NET Core 3.0

I am trying to inject IConfiguration (Microsoft.Extensions.Configuration package) into Program.cs and don't know if that is possible and therefore obviously don't know how to do it, if possible.

I've done it in the Startup class in other projects, but there I just do a simple dependency injection, which I don't find to be done the same way in a console application.

The reason for it is, that I need to access some key values in the appsettings, in regards to access my database with the SqlConnection class (System.Data.SqlClient).

Normally, I just add it like this inside Startup.cs:

....
services.AddScoped(mysql => new SqlConnection($"and here goes my variables from appsettings..");
....

Do I need to use the Options pattern or is there a more simple way?

You would need to build the configuration yourself.

For example

static void  Main(string[] args) {

    var builder = new ConfigurationBuilder()
        //.SetBasePath("path here") //<--You would need to set the path
        .AddJsonFile("appsettings.json"); //or what ever file you have the settings

    IConfiguration configuration = builder.Build();

    //...use configuration as needed

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM