Boa*_*rdy 5 c# symlink process
我正在研究需要与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);
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我得到了
System.ComponentModel.Win32Exception:系统找不到指定的文件
如果我在命令提示符下运行mklink它工作正常.
我已经看了谷歌,它说关于做[DllImport("kernel32.dll")],但这不适用于Linux.
感谢您的任何帮助,您可以提供.
Eri*_* J. 15
mklink是cmd.exe程序的命令,而不是一个独立的程序.
要运行mklink,您必须cmd.exe使用一组适当的参数进行实际调用,如下所示:
ProcessInfo = new ProcessStartInfo("cmd.exe", "/c mklink " + argumentsForMklink);
Run Code Online (Sandbox Code Playgroud)