ASP.NET 5 配置文件打不开
ASP.NET 5 Config File not opening
我已经创建了一个静态 class 来使用我的配置,但是当我尝试将 JSON 文件添加到配置时我遇到了一个异常:
MyConfigurations.json:
{ "ConnectionString": "my connection string", ...}
我的静态 class 构造函数:
static MyConfigurations() {
var configuration = new Configuration()
.AddJsonFile("MyConfigurations.json")
.AddEnvironmentVariables();
...
...
我的异常发生在.AddJsonFile
执行时。
异常:Object reference not set to an instance of an object."
堆栈跟踪:
at
Microsoft.Framework.ConfigurationModel.PathResolver.get_ApplicationBaseDirectory()
at
Microsoft.Framework.ConfigurationModel.JsonConfigurationExtension.AddJsonFile(IConfigurationSourceRoot
configuration, String path, Boolean optional) at
Microsoft.Framework.ConfigurationModel.JsonConfigurationExtension.AddJsonFile(IConfigurationSourceRoot
configuration, String path) at
Project.SharedKernel.MyConfigurations..cctor() in
C:\Project\Project.SharedKernel\MyConfigurations.cs:line 86
您尚未设置配置 API 需要的 应用程序基本路径 来确定物理配置文件所在的位置。您可以使用 SetBasePath
扩展方法设置它。典型的实现如下所示:
public Startup(IApplicationEnvironment appEnv)
{
var configuration = new ConfigurationBuilder()
.SetBasePath(appEnv.ApplicationBasePath)
.AddJsonFile("MyConfigurations.json")
.AddEnvironmentVariables()
.Build();
}
注意:这仅适用于 beta8,请参阅 . You don't have to specify the default base path anymore in RC1: https://github.com/aspnet/Announcements/issues/88。
我已经创建了一个静态 class 来使用我的配置,但是当我尝试将 JSON 文件添加到配置时我遇到了一个异常:
MyConfigurations.json:
{ "ConnectionString": "my connection string", ...}
我的静态 class 构造函数:
static MyConfigurations() {
var configuration = new Configuration()
.AddJsonFile("MyConfigurations.json")
.AddEnvironmentVariables();
...
...
我的异常发生在.AddJsonFile
执行时。
异常:Object reference not set to an instance of an object."
堆栈跟踪:
at Microsoft.Framework.ConfigurationModel.PathResolver.get_ApplicationBaseDirectory() at Microsoft.Framework.ConfigurationModel.JsonConfigurationExtension.AddJsonFile(IConfigurationSourceRoot configuration, String path, Boolean optional) at Microsoft.Framework.ConfigurationModel.JsonConfigurationExtension.AddJsonFile(IConfigurationSourceRoot configuration, String path) at Project.SharedKernel.MyConfigurations..cctor() in C:\Project\Project.SharedKernel\MyConfigurations.cs:line 86
您尚未设置配置 API 需要的 应用程序基本路径 来确定物理配置文件所在的位置。您可以使用 SetBasePath
扩展方法设置它。典型的实现如下所示:
public Startup(IApplicationEnvironment appEnv)
{
var configuration = new ConfigurationBuilder()
.SetBasePath(appEnv.ApplicationBasePath)
.AddJsonFile("MyConfigurations.json")
.AddEnvironmentVariables()
.Build();
}
注意:这仅适用于 beta8,请参阅