首页 > 解决方案 > 从 Ubuntu 使用 C# 访问网络路径

问题描述

我们用 C# 开发了一个应用程序。Net 连接 Windows 网络路径并检查一个目录的可用性。当我们从Windows OS运行应用程序时,它工作正常。但是在Ubuntu 16.04 OS上运行它时,它无法识别 Windows 网络目录。

我们尝试了如下代码但没有成功,

Directory.Exists("\\\\xxx.xxx.x.xx\\DirectoryName")

Directory.Exists(@"\\xxx.xxx.x.xx\DirectoryName")

Directory.Exists("smb://xxx.xxx.x.xx/DirectoryName")

请建议我们如何修改 C# 代码以从 Ubuntu OS 运行它。

标签: c#.netlinuxubuntu-16.04windows-subsystem-for-linux

解决方案


如果您可以在运行之前在机器上设置环境,您可以尝试挂载网络路径然后使用它。

挂载 SMB 共享 -来自 Ubuntu Wiki的说明非常全面。

例如

mkdir ~/localMountPoint
mount -t cifs /xxx.xxx.x.xx/DirectoryName ~/localMountPoint -ou ser=myname,pass=mypassword

然后,您可以使用:

Directory.Exists("~/localMountPoint/DirectoryName")

推荐阅读