UNC共享目录不存在

时间:2012-05-31 20:56:55

标签: c# permissions unc network-share

我有一个C#进程需要读取远程服务器上共享目录中存在的文件。

以下代码会导致“共享不存在”。被写入控制台。

string fileName = "someFile.ars";
string fileLocation = @"\\computerName\share\";
if (Directory.Exists(fileLocation))
{
    Console.WriteLine("Share exists.");
}
else
{
    Console.WriteLine("Share does not exist.");
}

该过程在AD用户帐户下运行,同一帐户被授予共享目录的完全控制权限。我可以成功将共享映射为进程所在机器上的网络驱动器,并可以将文件复制到目录或从目录复制文件。关于我缺少的任何想法?

1 个答案:

答案 0 :(得分:2)

使用File.Exists而不是Directory.Exists

另外,您可能希望与平台无关,并使用规范Path.Combine

string fileName = "someFile.ars";
string fileServer = @"\\computerName";
string fileLocation = @"share";
if (File.Exists(Path.Combine(fileServer, fileLocation, fileName)))
{
    Console.WriteLine("Share exists.");
}
else
{
    Console.WriteLine("Share does not exist.");
}