【问题标题】:Try to find folder name "temp.dll" by using Directory.Exsits()尝试使用 Directory.Exists() 查找文件夹名称 \"temp.dll\"
【发布时间】:2022-11-01 18:57:32
【问题描述】:
我对标题上的问题有疑问。
在我的程序中,我试图用文件夹包装一个 dll 文件。
当我将文件夹名称与文件名相同并尝试使用 Directory.Exists 函数查找存在时...
它不起作用。
[详细示例]
string fileName = "C:\User\Installprogram\Temp.dll" //<- "Temp.dll" is Directory
if (!Directory.Exists(fileName))
return false;
我仔细检查了目录是否在适当的位置。
奇怪的是,其他文件夹名称在上面的示例中正确返回 true。
我有点猜测文件夹名称是否包含“.dll”,从而无法通过 Directory.Exists 函数捕获目录。
帮我
【问题讨论】:
标签:
c#
dll
directory
exists
【解决方案1】:
我已经使用以下代码进行了尝试,它按预期工作。因此,您应该提供更多详细信息。也许我的代码已经帮助解决了您的问题,这就是我将其发布为答案的原因:
string folder = @"C:UserInstallprogramTemp.dll";
string file = @"C:UserInstallprogramTemp.dllTemp.dll";
Directory.CreateDirectory(folder);
File.WriteAllText(file, "temp"); // not a dll but text-file, but should not make a difference
Console.WriteLine($"Folder exists: {Directory.Exists(folder)}"); // true
【解决方案2】:
此代码仅检查目录是否存在但不是文件。在您的情况下,您正在检查是否存在使用错误方法的文件。根据 Microsoft 文档,我们有:
确定给定路径是否引用现有目录在磁盘上。
考虑使用静态存在()File 类的方法,该方法检查磁盘上是否存在文件;
确定是否指定文件存在。
参考: