启动时网络驱动器不可用

我有一个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链接。