用户机密文件在 asp.net core 6 中被忽略

ana*_*tol 3 appsettings asp.net-core .net-6.0

我有两个针对 .net 6 的项目,并且没有任何使用用户机密的明确声明(我记得,在以前的版本中需要使用AddUserSecrets())。虽然,一个项目从 获取正确的配置secrets.json,但另一个项目 - 尝试从 获取它appsettings.json

所以,我想知道,这是什么问题?.net 6 中的行为如何改变?

Qin*_*Guo 8

在 .Net6 中,WebApplication.CreateBuilder使用预配置的默认值初始化 WebApplicationBuilder 类的新实例。初始化的WebApplicationBuilder(构建器)提供默认配置,并在EnvironmentName为Development时调用AddUserSecrets。

只要您使用该WebHost.CreateDefaultBuilder方法初始化 Web 应用程序,ASP.NET Core 就会自动从 .Net6 中的 Secrets.json 文件中获取您的配置。如果您手动初始化应用程序或不是 .Net6,请确保调用 AddUserSecrets 方法。

参考这个