私はWindowsとLinux(Mono)と互換性が必要なac#プログラムに取り組んでいます。
両方のプラットフォームでシンボリックリンクを作成しようとしていますが、これを機能させるためにProcessStartInfoを使用しています。Linuxではまだ試していませんが、Windowsでは次のコードを使用しています
ProcessStartInfo process = new ProcessStartInfo();
process.CreateNoWindow = true;
process.UseShellExecute = false;
process.FileName = "mklink";
process.WindowStyle = ProcessWindowStyle.Hidden;
process.Arguments = "/D " + webFolder + "MyFolder" + webFolder + "MyFolder_" + version;
Process.Start(process);
上記のコードを実行すると、
System.ComponentModel.Win32Exception:システムは指定されたファイルを見つけることができません
コマンドプロンプトでmklinkを実行すると、正常に動作します。
Googleを調べたところ、[DllImport( "kernel32.dll")]の実行について説明されていますが、これはLinuxでは機能しません。
あなたが提供できるどんな助けにも感謝します。