启动时网络驱动器不可用
我有一个C#应用程序,它在启动时加载,并将数据记录到网络驱动器,网络驱动器安装为X:
当计算机首次启动时,应用程序将抛出X:\不可用的错误。 如果我重新启动应用程序,同样的错误。
但是,如果我打开Windows资源管理器并双击浏览驱动器,我可以运行该应用程序,它将连接到X:就好了。
尽管被映射,网络驱动器是否在启动时不会自动初始化? 有没有办法将它们设置为自动初始化?
我有完全相同的问题。 我不知道是否有更好的方法,但我在访问映射驱动器之前将其添加到我的代码中。
Process mapDrive = new Process(); mapDrive.StartInfo.FileName = "net.exe"; mapDrive.StartInfo.Arguments = @"use c: \\server\share"; mapDrive.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; mapDrive.Start();
这样,无论驱动器是否在启动时可用,它始终可用。
有关要检查的事项列表,请参阅如何在此处访问映射的网络驱动器 。 我的猜测是您的用户不存在该驱动器,或者存在访问它的权限问题。 要检查的另一个项目是您调用Impersonate的顺序 ,假设您正在这样做,即。
根据无法访问映射驱动器上的文件从Windows服务,您根本不应该这样做。 请参阅接受的答案中提供的Microsoft链接。