首页 > 解决方案 > 在 C# 应用程序中从 UNC 网络路径访问文件

问题描述

我有一个桌面应用程序,用户可以在其中指定输入和输出目录。本地目录工作正常;但是人们开始抱怨使用 UNC 命名约定访问的网络位置。

如果用户粘贴 UNC 路径,则代码使用以下方法检查目录是否存在

if(Directory.Exists(selecteddir)
{
  // all good
}

对于位于其他机器上的某些网络位置,此方法返回 false。我已经使用默认的本地机器 UNC 路径进行\\?\C:\my_dir了测试,并且代码工作正常。该应用程序以管理权限运行。

我是在 C# 代码中访问网络位置的新手。有什么具体的方法可以做到这一点吗?如果用户已经为 UNC 共享执行了基于窗口的身份验证,c# 应用程序不能访问这些共享吗?

请就如何前进提出建议。

更新:

我也尝试过使用目录信息

DirectoryInfo info1 = new DirectoryInfo(@textbox.Text);
if (info1.Exists)
 {
 return true;
 }

标签: c#.netnetwork-programmingunc

解决方案


我多次遇到这种情况。最后,我认为Directory.Exist方法存在一些问题,我离开了它。

现在,我正在使用DirectoryInfo类来检查这样的情况。

DirectoryInfo info = new DirectoryInfo(@"Your Path");
if (info.Exists)
{

}

它现在工作正常。所以还有其他原因,但它对我有用。当然,它并不能解决模拟问题。


推荐阅读