私は "スクリプト"と呼ばれるサブフォルダ内のスクリプトの読み込みを必要とするアプリケーションを作成しようとしています。
Directory.GetCurrentDirectory()はLinux上で動作していませんか?
string script = Console.ReadLine();
string path = Directory.GetCurrentDirectory();
string sciptpath = path + "/scripts/" + script;
これは、Windows上で正常に動作します:私のコードは、私が問題を抱えています。しかし、Linux(Mono Runtimeを使用して実行中)では、実行可能ファイルのディレクトリではなく、現在のユーザーのホームディレクトリに移動します。これはバグですか?誰かが回避策を提案できますか?
あなたはhttp://www.mono-project.com/Compatibilityに対してモノラルの互換性を確認しましたか?また、.NetアプリケーションをMono(http://www.mono-project.com/MoMA)に移植する際に発生する可能性のある問題を特定するMono Migration Analyzer(MoMA)ツールを試すこともできます。 –
問題はありませんが、パスを連結しないで、代わりにPath.Combineを使用してください:string scriptpath = Path.Combine(path、 "scripts"、script); - WindowsとLinuxの両方で正しく動作します。 –