【发布时间】:2017-01-30 11:28:26
【问题描述】:
我有一个具有以下配置的 ASP.NET 核心应用程序:
public Startup(IHostingEnvironment hostingEnvironment)
{
_configuration = new ConfigurationBuilder()
.SetBasePath(hostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{hostingEnvironment.EnvironmentName}.json", true)
.AddEnvironmentVariables()
.Build();
}
当我发布应用程序并使用应用程序目录中的dotnet MyApp.dll 运行它时,它可以正常运行。当我执行命令dotnet /dir1/dir2/MyApp.dll 时,加载appsettings.json 文件失败。我做了一点挖掘,发现ContentRootPath 设置为我正在运行dotnet 命令的目录,而不是应用程序的实际目录。谁能告诉我如何解决这个问题?
【问题讨论】:
-
使用绝对补丁或从应用目录执行
dotnet。我在这里没有看到任何问题 -
我有同样的问题,不幸的是,dotnet 假定内容根路径是您调用
dotnet命令的路径,而不是您的文件实际所在的路径。