我正在尝试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
到我的服务器后,它工作正常,没有任何错误。
请问有人可以帮我解决这个问题吗?