Reputation: 1962
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?
Upvotes: 9
Views: 6775
Reputation: 247213
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
}
Upvotes: 14