在命令提示工具(CMD)下使用dotnet命令启动.net core应用程序时遇到的一个问题:
当程序根目录使用dotnet 命令启动程序,没有任何问题
dotnet xxxx.dll //没有问题 程序可正常启动
当cmd切换到其他目录 再次运行 dotnet命名是,程序就会报错:找不到"appsetting.json
"
截图如下:
解决方案:修改Program.cs Main方法
public static void Main(string[] args)
{
try
{
//设置SetCurrentDirectory可解决
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
CreateHostBuilder(args).Build().Run();
}
catch (Exception ex)
{
Log.Error("程序意外终止:"+ex.Message);
Log.Error(ex.StackTrace);
}
}
太感谢了,已经解决!
.NET6下可以从外部传入参数 更灵活
dotnet xxxx.dll --contentRoot PATH