Visual Studio说"Could not find file 'D:ProjectName.deps.json'."在我运行程序的驱动器上



我正在尝试创建一个程序,该程序可以运行pc上的所有驱动器并列出文件。我的电脑上有9个驱动器,程序运行良好,列出了所有驱动器上的文件,除了我正在运行程序的驱动器。(无论哪个驱动器)

我有一个递归函数,它接受它找到的所有文件和目录,并编译一个列表。

该函数在所有其他驱动器上运行良好,但对于我正在运行程序的驱动器,它说Could not find file 'D:CreateFileList.deps.json'.,然后崩溃为该驱动器的catch()。

下面是这部分代码:

static void DirSearch(string sDir, string file)
{
try
{
// Get files from root of the drive
if ( firstPass == 1 )
{
foreach (string f in Directory.GetFiles(sDir))
{
if (CheckExclusion(f))
{
WriteToFile(f, file);
}
}
firstPass = 0;
}

// Get files recursively
foreach (string d in Directory.GetDirectories(sDir))
{   
if (CheckExclusion(d))
{
foreach (string f in Directory.GetFiles(d))
{
if (CheckExclusion(f))
{
WriteToFile(f, file);
}
}
}
DirSearch(d, file);
}
}
catch (System.Exception excpt)
{
Console.WriteLine(excpt.Message);
}
}

显然这个文件不是在驱动器的根目录,而是和。exe文件在同一个目录下。

有谁知道可能是什么问题吗?我是否有一些设置错误或包含什么?

您需要查看返回的实际异常。它会给你一个提示,告诉你发生了什么。

例如,如果操作系统抛出UnauthorizedAccessException,您的进程没有以管理员身份运行,并且将而不是允许查看目录/files

您需要处理(catch)在目录中列出的每个例外。

通过处理所有(或最可能的)异常,您将能够拥有一个工作的程序。

最新更新