You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C#获取网络文件夹目录列表并解决网络路径未找到报错

排查及解决方案
  • UAC上下文凭据隔离

普通用户登录后在资源管理器访问UNC路径时缓存的身份凭据,和管理员身份运行的Visual Studio的运行上下文相互独立,管理员账号上下文默认没有该路径的访问凭据。
解决方法:先以管理员身份打开文件资源管理器,访问一次\\10.188.169.139\builds\product A完成身份验证,再运行代码测试。

  • 路径校验

确认代码中路径无隐形特殊字符:比如路径中的空格为半角格式,无不可见的制表符、换行符。建议直接从资源管理器地址栏复制路径替换代码中的路径字符串,避免手动输入错误。

  • 预建立UNC连接

如果上述方法无效,可以在调用目录查询方法前,通过Windows API预先完成UNC路径的身份认证,示例代码如下:

using System.Runtime.InteropServices;

public static class NetworkConnector
{
    [DllImport("mpr.dll", CharSet = CharSet.Auto)]
    private static extern int WNetAddConnection2(NetResource netResource, string password, string userName, int flags);

    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
    private class NetResource
    {
        public int Scope = 0;
        public int Type = 1; // 磁盘资源
        public int DisplayType = 0;
        public int Usage = 0;
        public string LocalName = null;
        public string RemoteName = null;
        public string Comment = null;
        public string Provider = null;
    }

    /// <param name="remoteUNCPath">UNC路径,比如\\10.188.169.139\builds</param>
    /// <param name="userName">账号,本地账号格式为IP\用户名,域账号格式为域名\用户名</param>
    /// <param name="password">账号对应密码</param>
    public static int ConnectUNC(string remoteUNCPath, string userName, string password)
    {
        var resource = new NetResource
        {
            RemoteName = remoteUNCPath
        };
        return WNetAddConnection2(resource, password, userName, 0);
    }
}

调用示例:

// 先完成身份认证
NetworkConnector.ConnectUNC(@"\\10.188.169.139\builds", @"10.188.169.139\你的访问账号", "账号密码");
// 再查询目录
var directories = Directory.GetDirectories(@"\\10.188.169.139\builds\product A");
  • 项目生成配置校验

右键项目 -> 选择「属性」-> 切换到「生成」标签页,确认「平台目标」选项下没有勾选「优先32位」,32位程序的网络访问上下文和64位系统的资源管理器存在差异,可能导致路径识别失败。

内容的提问来源于stack exchange,提问作者Ben_G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:54:02