Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CreateFile无法将符号链接到父文件夹中的文件_C#_.net_Winapi_Exception Handling_Symlink - Fatal编程技术网

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"));
}