.net程序调用appsetting.json报错:The configuration file ‘appsettings.json‘ was not found and is not optiona

如果读取的代码没错 试试下面的方法

右键要被读取的json文件 属性,修改 复制到输出目录->始终复制,重新执行就好了

报错原因,项目生成未拷贝对应的json文件到执行目录

 

.NET Core 中,可以通过以下方式读取 appsettings.json 文件中的配置数据: 1. 首先,在项目根目录下创建一个名为 `appsettings.json` 的文件,并添加要读取的配置数据。例如: ```json { "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true" }, "AppSettings": { "ApiKey": "123456" } } ``` 2. 在 `Program.cs` 文件中,使用 `CreateDefaultBuilder` 方法来创建 `HostBuilder`: ```csharp public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); ``` 3. 在 `Startup.cs` 文件中,使用 `IConfiguration` 接口来读取配置数据。例如: ```csharp public class Startup { private readonly IConfiguration _configuration; public Startup(IConfiguration configuration) { _configuration = configuration; } public void ConfigureServices(IServiceCollection services) { string connectionString = _configuration.GetConnectionString("DefaultConnection"); string apiKey = _configuration.GetValue<string>("AppSettings:ApiKey"); // 将配置数据注册到 DI 容器中 services.AddSingleton(new MyConfigurations(connectionString, apiKey)); } // ... } ``` 在上面的代码中,`IConfiguration` 接口的实例是通过构造函数依赖注入(Dependency Injection)的方式来获取的。然后,使用 `GetConnectionString` 方法来读取 `ConnectionStrings` 节点下的连接字符串,使用 `GetValue` 方法来读取 `AppSettings` 节点下的配置项。 最后,将读取的配置数据注册到 DI 容器中,以便在应用程序的其他地方使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值