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

user secrets file gets ignored in asp.net core 6

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

获得它

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

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

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

参考this