从 Ubuntu 使用 C# 访问网络路径
Posted
技术标签:
【中文标题】从 Ubuntu 使用 C# 访问网络路径【英文标题】:Accessing network path using C# from Ubuntu 【发布时间】:2021-11-17 17:29:18 【问题描述】:我们用 C# 开发了一个应用程序。 Net 连接 Windows 网络路径并检查一个目录的可用性。当我们从 Windows 操作系统 运行应用程序时,它工作正常。但是在 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 运行它。
【问题讨论】:
编写一个逻辑来检查 .net 代码中的操作系统。如果是 windows 使用 windows 路径,对于 Linux 使用 Linux 特定文件路径。 @prisar,谢谢。对于Linux,上述路径需要如何更改?请帮忙 【参考方案1】:如果您可以在运行之前在机器上设置环境,您可以尝试挂载网络路径然后使用它。
要挂载 SMB 共享 - 说明 from the Ubuntu Wiki 非常全面。
例如
mkdir ~/localMountPoint
mount -t cifs /xxx.xxx.x.xx/DirectoryName ~/localMountPoint -ou ser=myname,pass=mypassword
然后你可以使用:
Directory.Exists("~/localMountPoint/DirectoryName")
【讨论】:
非常感谢,将尝试此解决方案并尽快回来。以上是关于从 Ubuntu 使用 C# 访问网络路径的主要内容,如果未能解决你的问题,请参考以下文章