Asp.net core ASP.Net Core RC2找不到config.json
我正在将我的ASP.Net核心项目从RC1更新到最近发布的RC2。我面临的一个问题是将Asp.net core ASP.Net Core RC2找不到config.json,asp.net-core,Asp.net Core,我正在将我的ASP.Net核心项目从RC1更新到最近发布的RC2。我面临的一个问题是将config.json文件加载到Startup.cs中的配置对象中 我的项目无法启动,并且在找不到config.json时抛出System.IO.FileNotFound异常 这是RC1的工作代码 公共启动(IHostingEnvironment env,IApplicationEnvironment appEnv) { 配置=新的ConfigurationBuilder() .AddJsonFile(“Set
config.json
文件加载到Startup.cs
中的配置对象中
我的项目无法启动,并且在找不到config.json
时抛出System.IO.FileNotFound
异常
这是RC1的工作代码
公共启动(IHostingEnvironment env,IApplicationEnvironment appEnv)
{
配置=新的ConfigurationBuilder()
.AddJsonFile(“Settings/config.json”)
.AddenEnvironmentVariables()
.Build();
}
这是RC2中几乎相同的代码,它不起作用。请注意,我已经将config.json
文件上移了一个级别,以防是文件夹层次结构导致了故障
公共启动(IHostingEnvironment环境)
{
配置=新的ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile(“config.json”)
.AddenEnvironmentVariables()
.Build();
}
(注意:我试过使用和不使用SetBasePath
调用。)
一个选项是用这两行替换.AddJsonFile(“config.json”)
.AddJsonFile(“config.json”,可选:true,重载更改:true)
.AddJsonFile($“config.{env.EnvironmentName}.json”,可选:true)
这确实防止了System.IO.FileNotFound
异常,但仅通过使文件加载可选,它似乎仍然无法加载
为了调试正在发生的事情,我添加了一个FileInfo(“config.json”)
,并且该文件存在。我尝试使用FileInfo
对象的全名,但仍然得到异常
如何在RC2中加载
config.json
,或者如何诊断其加载失败?您应该添加WebHostBuilderExtensions。在生成IWebHost
实例之前,使用ContentRoot
方法调用
例如:
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
publicstaticvoidmain(字符串[]args)
{
var host=new WebHostBuilder()
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.Useii整合()
.UseStartup()
.Build();
host.Run();
}
您应该添加WebHostBuilderExtensions。在生成IWebHost
实例之前,使用ContentRoot
方法调用
例如:
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
publicstaticvoidmain(字符串[]args)
{
var host=new WebHostBuilder()
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.Useii整合()
.UseStartup()
.Build();
host.Run();
}
我想知道是否出于某种奇怪的原因,它没有获得PhysicalFileProvider
。我想知道是否出于某种奇怪的原因,它没有获得PhysicalFileProvider
。