如何从appsettings.json配置.NET Core 7项目的wwwroot路径
从appsettings.json读取WebRootPath的实现方法
1. 配置appsettings.json
打开项目的appsettings.json,在根节点添加静态文件目录的配置项:
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "WebRootPath": "D:\\wwwroot" // 替换为你的目标路径 }
如果需要区分开发/生产等不同环境,可以在对应环境的配置文件(如appsettings.Development.json)中单独配置该值,.NET会自动优先加载当前环境对应的配置内容。
2. 修改Program.cs读取配置
先加载配置文件,再读取WebRootPath的值传入WebApplicationOptions:
// 加载配置(默认包含appsettings.json及环境配置文件) var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .Build(); // 创建WebApplicationBuilder时传入读取到的路径 var builder = WebApplication.CreateBuilder(new WebApplicationOptions() { WebRootPath = config["WebRootPath"] }); // 后续的服务配置、中间件代码保持不变
也可以用更简洁的写法,利用WebApplication.CreateBuilder默认的配置加载逻辑:
var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var builder = WebApplication.CreateBuilder(new WebApplicationOptions { WebRootPath = configuration["WebRootPath"] });
内容的提问来源于stack exchange,提问作者Mandar Patil
相关产品推荐
相关产品推荐

