启动dotnet dll
cd /
dotnet /tmp/donetproject/donetproject.dll
代码
.AddJsonFile("hostsettings.json", optional: true)
会看
/hostsettings.json
不是
/tmp/donetproject/hostsettings.json
设置GetCurrentDirectory无效
.SetBasePath(Directory.GetCurrentDirectory())
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hostsettings.json", optional: true)
.AddCommandLine(args)
.Build();
return WebHost.CreateDefaultBuilder(args)
.UseUrls()
.UseConfiguration(config)
.UseStartup<Startup>();
}
}
答案 0 :(得分:3)
您当前正在设置工作目录
.SetBasePath(Directory.GetCurrentDirectory())
这是目录,您可以在其中启动进程/
,更具体地说是cd /
。您真正想要的目录是directory of your assembly:
.SetBasePath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location))
可能您应该考虑将工作目录更改为应用程序的目录,例如。 G。 cd /tmp/donetproject/
。