C#在整个网络位置使用File.Move()找不到文件

我有一个.dll,可以调出我创建的服务(IIS应用程序池)。两者都位于网络上的不同服务器上。 .dll调出该服务。然后,该服务将创建一个文件并将其保存在自己的驱动器上。然后,该服务将该文件的完整路径返回给调用.dll。然后,.dll尝试将File.Move()将此文件传输到另一个网络驱动器。该服务正在使用应用程序池标识(用于创建和保存文件),并且运行.dll的服务帐户在源文件夹和目标文件夹上均具有“修改”访问权限。所有这些在本地以及我们的开发和测试环境中均运行良好,但是在我们的PROD环境中,出现“找不到文件”错误。

         <errors exceptionType="FileNotFoundException">
            <error Source="mscorlib" TargetSite="Void WinIOError(Int32,System.String)">Could not find file 'filepath'.</error>
            <stack>   at System.IO.__Error.WinIOError(Int32 errorCode,String maybeFullPath)</stack>
            <stack>   at System.IO.File.InternalMove(String sourceFileName,String destFileName,Boolean checkHost)</stack>
         </errors>
错误中的

'filepath'实际上是所生成文件的完整UNC路径。我已经确认文件确实存在,并且将错误中包含的路径复制到Windows资源管理器中可以打开文件,没有问题。我不确定还有什么要考虑或考虑的。我已经阅读了尽可能多的关于File.File的冲突信息。随着我继续努力解决这个问题,我跨网络驱动器移动。

zhtang0526 回答:C#在整个网络位置使用File.Move()找不到文件

只需回答我自己的问题即可。似乎.dll无法找到网络共享路径。正如我在原始帖子中所说,将错误中包含的路径复制并粘贴到Windows资源管理器中后,文件打开对我来说没有任何问题。但是,文件夹的“共享”选项卡上的实际网络路径未正确设置,因此从技术上讲该路径是错误的。修复网络路径后,服务便成功运行。

本文链接:https://www.f2er.com/3065063.html

大家都在问