如何使用FileInfo.CreateAsSymbolicLink在C#/NET6.0中创建符号link?
How to create a symbolic link in C#/NET6.0 using FileInfo.CreateAsSymbolicLink?
在 Windows 上 运行 给出此片段:
string filePath = "myfile";
string linkTarget = "myfile.link";
FileInfo finfo = new(filePath);
FileInfo fi = new(linkTarget);
finfo.Create().Close();
Assert.IsTrue(finfo.Exists);
fi.CreateAsSymbolicLink(filePath);
Assert.IsTrue(fi.Exists); // here thrown, assert is false. And LinkTarger == null.
符号 link 未创建且不存在。
对我来说,它看起来像一个 .NET6.0 错误。
有什么问题吗?
我错过了什么?
如何使用 FileInfo
或相关内容创建符号 link?
编辑
我忘了必须是管理员才能在 windows 中创建符号 link,
除了不应该抛出“NotAuthorized
”之类的东西?
此时如果我想创建一个符号 link not as admin 那么就不可能了吗?
基于此其他
answer。
文件不存在的原因是程序没有运行管理员权限
似乎有一项政策需要设置以允许非管理员创建符号链接。
在 Windows 上 运行 给出此片段:
string filePath = "myfile";
string linkTarget = "myfile.link";
FileInfo finfo = new(filePath);
FileInfo fi = new(linkTarget);
finfo.Create().Close();
Assert.IsTrue(finfo.Exists);
fi.CreateAsSymbolicLink(filePath);
Assert.IsTrue(fi.Exists); // here thrown, assert is false. And LinkTarger == null.
符号 link 未创建且不存在。
对我来说,它看起来像一个 .NET6.0 错误。
有什么问题吗?
我错过了什么?
如何使用 FileInfo
或相关内容创建符号 link?
编辑
我忘了必须是管理员才能在 windows 中创建符号 link,
除了不应该抛出“NotAuthorized
”之类的东西?
此时如果我想创建一个符号 link not as admin 那么就不可能了吗?
基于此其他 answer。 文件不存在的原因是程序没有运行管理员权限
似乎有一项政策需要设置以允许非管理员创建符号链接。