我正在尝试从本地网络中的Windows计算机找出共享驱动器中是否存在文件。该驱动器可以轻松安装并通过我的机器进行访问,并且不需要凭据。我在Mac上使用Visual Studio
我在c#中使用以下代码,并且存在为假:
FileInfo fileInfo = new FileInfo(@"\\servername\folder\file.pdf");
bool exists = fileInfo.Exists;
我认为问题在于FileInfo实际上并不访问参数中的共享驱动器和路径,而是检查以下内容:
"/Users/me/Projects/CurrentProjectFolder/\\\\servername\\folder\\file.pdf"
上面的路径是fileInfo对象的FullPath和FullName属性的值,并且我相信它找不到文件,因为它实际上检查了此完整路径。
例如,尝试获取该目录的文件会引发DirectoryNotFoundException。
Directory.GetFiles(@"\\servername\folder\");
找不到路径的一部分 “ / Users / me / Projects / CurrentProjectFolder / \\服务器名称\文件夹\”。
我已经花了很多时间来寻求解决方案,并且有很多答案遵循与我上面粘贴的完全相同的操作-FileInfo,带有UNC补丁作为参数。
谢谢