是否有跨平台的方式在 .NET Core 中创建符号链接

ken*_*nny 5 symlink cross-platform .net-core

我可以在 Windows 上使用以下 p-invoke 代码,但是否有跨平台的方式来创建与 .NET Core 的符号链接?(如果重要的话,3.0 预览版)

如果没有,有没有办法在 linux/ubuntu 上进行 p-invoke 或类似操作?

public static class PinvokeSymLink
{
    [DllImport( "kernel32.dll" )]
    public static extern bool CreateSymbolicLink( string lpSymlinkFileName, string lpTargetFileName, SymbolicLink dwFlags );

    public enum SymbolicLink
    {
        File = 0,
        Directory = 1
    }
}
Run Code Online (Sandbox Code Playgroud)

Ann*_*ina 0

从 .NET 6 开始,File.CreateSymbolicLink可用于此目的。

对于较旧的 .NET 版本,您可以考虑symlink改为 p 调用 Linux 函数。这对我在 Linux 和 macOS 上都有效。