You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找.NET Core程序中的所有配置文件?命令执行失败求助

定位.NET Core程序的所有配置文件

修复你的find命令错误

你之前的两个find命令都存在语法问题,导致无法正确匹配文件:

  1. 第一个命令中-type f仅作用于第一个-name "*.config",后续的文件名条件不受文件类型限制,逻辑错误。
  2. 第二个命令的括号未加反斜杠转义,Shell会将其解析为子命令而非条件组,引发语法错误。

正确的find命令写法

find . -type f \( -name "*.config" -o -name "*.json" -o -name "*.xml" -o -name "*.yaml" -o -name "*.yml" \)
  • \(和\)用于转义括号,将所有文件名条件包裹为一个整体
  • -type f与这个整体通过隐式的-a(逻辑与)绑定,确保只搜索文件而非目录

.NET Core常见配置文件类型与位置

除了用find命令遍历,你可以针对性搜索这些高频配置文件:

  • 项目根目录核心配置:appsettings.json、appsettings.{环境名}.json(如appsettings.Development.json)
  • IIS部署配置:web.config(部署到IIS时生成或手动配置)
  • 兼容.NET Framework配置:app.config(仅存在于兼容旧框架的项目中)
  • YAML格式配置:appsettings.yaml/appsettings.yml(使用YAML配置提供者时存在)
  • 开发启动配置:launchSettings.json(项目根目录下的Properties文件夹内)
  • 敏感秘密配置:
    • Windows:%APPDATA%\Microsoft\UserSecrets\<用户秘密ID>\secrets.json
    • Linux/macOS:~/.microsoft/usersecrets/<用户秘密ID>/secrets.json
      用户秘密ID可在项目的.csproj文件中找到<UserSecretsId>节点

其他定位方法

  1. 通过dotnet命令查看:在项目根目录执行dotnet run或dotnet build,控制台会输出程序加载的所有配置文件路径。
  2. 代码打印配置来源:在Program.cs中添加代码,直接输出程序加载的配置文件:
var builder = WebApplication.CreateBuilder(args);
// 遍历并打印所有文件类型的配置来源
foreach (var source in builder.Configuration.Sources)
{
    if (source is FileConfigurationProvider fileProvider)
    {
        Console.WriteLine($"加载的配置文件:{fileProvider.Source.Path}");
    }
}
var app = builder.Build();
// 后续业务代码...
  1. 精准搜索特定配置:直接搜索appsettings前缀的文件,缩小范围:
find . -type f -name "appsettings*"

内容的提问来源于stack exchange,提问作者furkang68

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 04:43:15