在 .NET Core 3.0 中将 IConfiguration 注入 Program.cs(控制台应用程序)
Inject IConfiguration into Program.cs (Console App) in .NET Core 3.0
我正在尝试将 IConfiguration(Microsoft.Extensions.Configuration 包)注入到 Program.cs 中,但不知道这是否可行,因此如果可能的话,显然不知道该怎么做。
我在其他项目的 Startup class 中完成了它,但我只是做了一个简单的依赖注入,我发现在控制台应用程序中没有以相同的方式完成。
原因是,关于使用 SqlConnection 访问我的数据库,我需要访问应用程序设置中的一些关键值 class (System.Data.SqlClient)。
一般我就是这样在里面加上的Startup.cs:
....
services.AddScoped(mysql => new SqlConnection($"and here goes my variables from appsettings..");
....
我需要使用选项模式还是有更简单的方法?
您需要自己构建配置。
例如
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
}
我正在尝试将 IConfiguration(Microsoft.Extensions.Configuration 包)注入到 Program.cs 中,但不知道这是否可行,因此如果可能的话,显然不知道该怎么做。
我在其他项目的 Startup class 中完成了它,但我只是做了一个简单的依赖注入,我发现在控制台应用程序中没有以相同的方式完成。
原因是,关于使用 SqlConnection 访问我的数据库,我需要访问应用程序设置中的一些关键值 class (System.Data.SqlClient)。
一般我就是这样在里面加上的Startup.cs:
....
services.AddScoped(mysql => new SqlConnection($"and here goes my variables from appsettings..");
....
我需要使用选项模式还是有更简单的方法?
您需要自己构建配置。
例如
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
}