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
エラーなしでうまく機能します。
誰でもこの問題を解決するのに役立ちますか?