文件不存在 - 来自WindowsApiCodePack的ExplorerBrowser

时间:2014-05-02 22:51:39

标签: c# wpf

我正在尝试在打开ExplorerBrowser时设置默认文件夹。

if (Direcory.Exists(folderPath))
{
    var folderPathFile = ShellFile.FromFilePath(folderPath);
     Eb.ExplorerBrowserControl.Navigate(folderPathFile);
}

有趣的是,即使Directory.Exists返回true,该方法也会抛出“FileNotFoundException”。

FromFilePath-Method如下所示:

internal ShellFile(string path)
    {
        // Get the absolute path
        string absPath = ShellHelper.GetAbsolutePath(path);

        // Make sure this is valid
        if (!File.Exists(absPath))
            throw new FileNotFoundException(string.Format("The given path does not exist ({0})", path));

        ParsingName = absPath;
        Path = absPath;
    }

我不太确定“GetAbsolutePath(path)”的作用,但我的路径已经是绝对的。是否可能通过调用此方法来破坏我的功能路径?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

当传递给Directory.Exists()时,folderPath变量返回true,因此这是一个目录路径(传递给此方法的文件路径返回false)。

将相同的值传递给ShellFile.FromFilePath(),获取路径的绝对值,然后将其传递给File.Exists - 但是,如上所述,它是一个目录路径,因此返回false