.net core 获取配置文件, 在其他层获取配置文件,在任意层里边获取配置文件 电脑版发表于:2024/10/25 9:40 #### 首先,在你的appsettings.json文件中添加你需要的配置项 ``` { "SomeSetting": "Some value" } ``` #### 项目中引用Microsoft.Extensions.Configuration.Json包 ``` <ItemGroup> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> </ItemGroup> ``` 不需要引用Microsoft.Extensions.Configuration了,引入Microsoft.Extensions.Configuration.Json的引用包含了Microsoft.Extensions.Configuration的引用 ![](https://img.tnblog.net/arcimg/aojiancc2/859a32fa7bdc40eaa8086452dd016ea8.png) 当然如果已经引用了相应的包就不需要引用了 #### 在Startup.cs的ConfigureServices方法中,添加配置并将其注册到服务中 ``` public void ConfigureServices(IServiceCollection services) { // 加载appsettings.json配置文件 var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); // 将配置注册到服务 services.AddSingleton<IConfiguration>(configuration); // 其他服务注册... } ``` #### 在你的服务层类中,你可以通过依赖注入获取IConfiguration接口的实例,然后使用它来获取配置信息 当然先检查一下项目中是否引用Microsoft.Extensions.Configuration.Json包,没有就引用一下,和上面提到的一样 ``` using Microsoft.Extensions.Configuration; public class MyService { private readonly IConfiguration _configuration; public MyService(IConfiguration configuration) { _configuration = configuration; } public string GetConfigValue() { return _configuration["SomeSetting"]; } } ```