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