3
我正在研究需要與Windows和Linux(Mono)兼容的c#程序。在ProcessStartInfo中運行`mklink`
我試圖在兩個平臺中創建一個符號鏈接,並且我正在使用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它工作正常。
我已經看過谷歌,它說關於做一個[DllImport(「kernel32.dll」)],但這不會在Linux上工作。
感謝您提供的任何幫助。
感謝您的幫助 – Boardy 2012-07-08 19:54:38
很樂意幫忙......需要注意的是,當你在Linux上運行這個(假設你在那裏運行C#),你可能不需要通過shell運行mklink(沒有做太多的Mono,所以不能100%確定)。 – 2012-07-08 21:19:16
我不認爲有一個mklink命令,所以我需要爲Linux運行一個單獨的命令,它將是''ln -fs source target''。我正在做一個檢查,看看它運行的是哪個操作系統,並相應地執行命令。 – Boardy 2012-07-09 10:29:22