【发布时间】:2018-10-10 06:29:39
【问题描述】:
我有一个machine 1,其中有一个共享文件夹,
`\\Machine1HostName\Share`
在其中我们有一个文件夹Files。
现在我用下面的路径安装在machine 2 中的文件夹上方,
Z:\Files
我有一个window servive 在machine 2 中运行,我试图从路径Z:\Files 获取文件。
var sourceFiles = Directory.GetFiles(@"Z:\Files").Select(f => new FileInfo(f));
当我将window servive 作为控制台应用程序以调试模式运行时,没有错误,但是当我安装它并尝试使用local system 帐户运行时,我遇到了错误,
Exception - Could not find a part of the path 'Z:\Files'.
这是完整的堆栈跟踪,
Exception - at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator`1.CommonInit()
at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
at System.IO.Directory.GetFiles(String path)
at ConsoleApp6.ConverterService.Start() in C:\Users\source\repos\ConsoleApp6\ConsoleApp6\ConverterService.cs:line 19
注意 - 如果我将路径从 "Z:\Files" 更改为 "\\Machine1HostName\Share\\Files",则在本地系统帐户下运行服务时会出现 NO 错误。
var sourceFiles = Directory.GetFiles(@"\\Machine1HostName\Share\\Files").Select(f => new FileInfo(f));
【问题讨论】: