使用启动脚本运行“dotnet run”时出现“未处理的异常:System.ArgumentNullException:值不能为空”错误

使用启动脚本运行“dotnet run”时出现“未处理的异常:System.ArgumentNullException:值不能为空”错误

我正在尝试dotnet run --configuration Release在系统服务器启动/重新启动时运行 dotnet 应用程序。我正在使用init.d脚本来实现相同的目的。

我的启动脚本位于/etc/init.d/myscript包含以下内容:

#!/bin/sh
/home/user/myscripts/botScript.sh

内容botScript.sh

#!/bin/bash
cd /home/user/bot/
nohup dotnet run --configuration Release &

当我的服务器启动或重新启动时,启动脚本被执行但dotnet run不起作用。我收到以下错误:

Unhandled Exception: System.ArgumentNullException: Value cannot be null.
Parameter name: path1
   at System.IO.Path.Combine(String path1, String path2, String path3)
   at Microsoft.DotNet.ProjectModel.Resolution.PackageDependencyProvider.ResolvePackagesPath(String rootDirectory, GlobalSettings settings)
   at Microsoft.DotNet.Configurer.NuGetCacheSentinel.get_NuGetCachePath()
   at Microsoft.DotNet.Configurer.NuGetCacheSentinel.Exists()
   at Microsoft.DotNet.Configurer.DotnetFirstTimeUseConfigurer.ShouldPrimeNugetCache()
   at Microsoft.DotNet.Configurer.DotnetFirstTimeUseConfigurer.Configure()
   at Microsoft.DotNet.Cli.Program.ConfigureDotNetForFirstTimeUse(INuGetCacheSentinel nugetCacheSentinel)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)

但所有其他命令在该脚本中都可以正常工作,甚至简单地运行dotnet也可以正常工作(我已经检查过)。只是那dotnet run行不通。

是的,但是当我运行脚本时,以及myscript登录botScript.sh到我的服务器后,它工作正常,没有任何错误。

请问有人可以帮我解决这个问题吗?

相关内容