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
오류 없이 잘 작동합니다.
누구든지 이 문제를 해결하도록 도와주실 수 있나요?