【发布时间】:2008-09-25 14:24:26
【问题描述】:
我需要在映射的网络驱动器上创建一个目录。我正在使用代码:
DirectoryInfo targetDirectory = new DirectoryInfo(path);
if (targetDirectory != null)
{
targetDirectory.Create();
}
如果我指定“\\\\ServerName\\Directory”之类的路径,一切正常。如果我将“\\ServerName\Directory”映射为,例如驱动器 Z:,并指定“Z:\\”之类的路径,则会失败。
创建 targetDirectory 对象后,VS 显示(在调试模式下)targetDirectory.Exists = false,并且尝试执行 targetDirectory.Create() 会引发异常:
System.IO.DirectoryNotFoundException: "Could not find a part of the path 'Z:\'."
但是,相同的代码适用于本地目录,例如C:。
该应用程序是 Windows 服务(WinXP Pro、SP2、.NET 2),在与映射驱动器的用户相同的帐户下运行。 Qwinsta 回复说用户的会话是会话 0,所以它和服务的会话是同一个会话。
【问题讨论】:
-
Is z: 肯定被映射到常规共享或管理共享,例如C$、D$ 等