C# CreateFile无法将符号链接到父文件夹中的文件
关于这个问题: 我发现那条线C# CreateFile无法将符号链接到父文件夹中的文件,c#,.net,winapi,exception-handling,symlink,C#,.net,Winapi,Exception Handling,Symlink,关于这个问题: 我发现那条线 SafeFileHandle fileHandle = CreateFile(symlink.FullName, 0, 2, IntPtr.Zero, CREATION_DISPOSITION_OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, IntPtr.Zero); 由于错误而失败 系统找
SafeFileHandle fileHandle =
CreateFile(symlink.FullName, 0, 2,
IntPtr.Zero,
CREATION_DISPOSITION_OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS,
IntPtr.Zero);
由于错误而失败
系统找不到指定的文件
对于以下非常具体的情况:
原始文件位于父目录中
C:\Temp\SymlinkUnitTest\Original.txt[真实文件]
符号链接位于实子目录中
C:\Temp\SymlinkUnitTest\Work\Symlink.txt[sym链接到上述文件]
它似乎在许多其他情况下都能工作,所有单元测试都在引用的post pass中进行
这个案子有什么特别之处吗
以下是失败的单元测试供参考:
[TestMethod]
public void FileSymlinkWork()
{
string file = @"C:\Temp\SymlinkUnitTest\Work\Symlink.txt";
Assert.IsTrue(File.Exists(file)); // Succeeds
// Following line throws Exception:
string actual = new FileInfo(file).GetSymbolicLinkTarget();
Assert.IsTrue(actual.EndsWith(@"SymlinkUnitTest\Original.txt"));
}