能否修改ASP.NET Core项目中launchSettings.json等文件的位置?
修改ASP.NET Core项目中配置文件的位置
一、调整launchSettings.json的位置(改为小写properties文件夹)
默认launchSettings.json需放在Properties/目录下才能被识别,要改成小写的properties/,只需修改项目配置即可:
- 把
launchSettings.json从原Properties/文件夹移到新建的小写properties/文件夹中 - 在项目的
.csproj文件里添加以下配置,明确指定启动设置文件的路径:
<PropertyGroup> <LaunchSettingsFile>properties/launchSettings.json</LaunchSettingsFile> </PropertyGroup>
完成后,不管用dotnet run命令还是Visual Studio启动项目,都会自动读取properties/下的启动配置文件。
二、修改appsettings.json系列文件的位置
要把appsettings.json、appsettings.Development.json等移到自定义文件夹(比如config/),需要手动配置配置源并确保文件能复制到输出目录:
1. 修改Program.cs的配置代码
在构建配置对象时,指定自定义路径的JSON文件:
var builder = WebApplication.CreateBuilder(args); // 配置自定义路径的配置文件 builder.Configuration .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("config/appsettings.json", optional: false, reloadOnChange: true) .AddJsonFile($"config/appsettings.{builder.Environment.EnvironmentName}.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables(); // 后续服务注册等代码保持不变 builder.Services.AddRazorPages(); var app = builder.Build(); // ...
2. 确保配置文件被复制到输出目录
有两种方式实现:
- 通过.csproj配置:在项目文件中添加以下内容,让
config/下的所有JSON文件随项目编译复制:
<ItemGroup> <Content Include="config\**\*.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup>
- 通过Visual Studio界面设置:右键
config/下的配置文件 → 属性 → 将「复制到输出目录」设为「如果较新则复制」。
这样项目启动时就能正确加载指定目录下的appsettings配置文件了。
内容的提问来源于stack exchange,提问作者kosude
相关产品推荐
相关产品推荐

