私は奇妙な問題があります。私は個人的な使用のためにC#.NET 4.6でカスタムスパムフィルタを作成しました。そして、私はこのプログラムを自分のラズベリーパイに入れました。Monoが間違った現在のディレクトリでプログラムを実行します
私はプログラムを何度もテストしていますが、すべて正常に動作しましたが、私がcronjobを作成したときにプログラムがログを書き込まないことに気付きました。
私は再びテストするために始めたので、私は、私はプログラムのベースディレクトリからプログラムを起動したときに、それが正常に動作し、問題があることを、見つけるている:
> cd path/to/program
> mono program.exe
が、私は別のディレクトリから起動絶対パス:
> mono /absolute/path/to/program/program.exe
必要なファイルの相対パスが正しくありません。
> mono /home/user/program/program.exe
私は「ファイルが見つかりませんでした」を取得/:私は/ homeディレクトリにいるよ、と私のプログラムは、ホーム/ユーザー/ programディレクトリ/にある、と私はこれを実行した場合たとえば
ホーム/ xyz.txt ""
Path.GetFullPath()
とEnvironment.CurrentDirectory
を使用してプログラム内の相対パスから絶対パスを作成しようとしましたが、何も変更されませんでした。
私の質問です:現在のディレクトリが正しい別のディレクトリでmonoプログラムを実行するオプションはありますか?
私は、bashスクリプトが私の最初の解決策(cdとそれからmono)を実行できることを知っています。それはcronでも使用できますが、もっと簡単な解決法があるかどうかを知りたいと思います。
ありがとうございます!これは私が探しているものです。 – Lightpower