ASP.. NET 5配置文件未打开
本文关键字:配置文件 NET ASP | 更新日期: 2023-09-27 18:19:19
我已经创建了一个静态类来使用我的配置,但是当我试图将JSON文件添加到配置中时,我得到了一个异常:
MyConfigurations.json:
{ "ConnectionString": "my connection string", ...}
静态类构造函数:
static MyConfigurations() {
var configuration = new Configuration()
.AddJsonFile("MyConfigurations.json")
.AddEnvironmentVariables();
...
...
我的异常发生在.AddJsonFile
执行时。
例外:Object reference not set to an instance of an object."
:
在Microsoft.Framework.ConfigurationModel.PathResolver.get_ApplicationBaseDirectory ()在Microsoft.Framework.ConfigurationModel.JsonConfigurationExtension.AddJsonFile (IConfigurationSourceRoot配置,字符串路径,布尔值可选)Microsoft.Framework.ConfigurationModel.JsonConfigurationExtension.AddJsonFile (IConfigurationSourceRoot配置,字符串路径)Project.SharedKernel.MyConfigurations . . cctor ()C: ' ' Project.SharedKernel ' MyConfigurations.cs项目:86行
您没有设置应用程序基路径,配置API需要该路径来确定物理配置文件的位置。可通过SetBasePath
扩展方式设置。典型的实现是这样的:
public Startup(IApplicationEnvironment appEnv)
{
var configuration = new ConfigurationBuilder()
.SetBasePath(appEnv.ApplicationBasePath)
.AddJsonFile("MyConfigurations.json")
.AddEnvironmentVariables()
.Build();
}
注意:这只对beta8有效,参见这个问题。你不再需要在RC1中指定默认的基本路径:https://github.com/aspnet/Announcements/issues/88.