建议添加的答案.SetBasePath(env.ContentRootPath)
取决于Startup.cs
先前的步骤。
首先,将该行添加.UseContentRoot(Directory.GetCurrentDirectory())
到您的 WebHostBuilder 构造中,Program.cs
如下所示:
public class Program
{
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddEnvironmentVariables()
.Build();
var host = new WebHostBuilder()
.UseConfiguration(config)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.Build();
host.Run();
}
}
然后以下将起作用:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json");
Configuration = builder.Build();
}