Мне нужно создать каталог на подключенном сетевом диске. Я использую код:
DirectoryInfo targetDirectory = new DirectoryInfo(path);
if (targetDirectory != null)
{
targetDirectory.Create();
}
Если я укажу путь как "\\\\ имя_сервера\\Directory", все будет хорошо. Если я сопоставляю "\\ ServerName\Directory" как, скажем, диск Z:, и укажу путь, подобный "Z: \\", он терпит неудачу.
После создания объекта targetDirectory VS показывает (в режиме отладки), что targetDirectory.Exists = false, и пытается сделать targetDirectory.Create() выдает исключение:
System.IO.DirectoryNotFoundException: "Could not find a part of the path 'Z:\'."
Однако тот же код хорошо работает с локальными каталогами, например. С:.
Приложение - это служба Windows (WinXP Pro, SP2,.NET 2), работающая под той же учетной записью, что и пользователь, который сопоставил диск. Qwinsta отвечает, что сеанс пользователя - это сеанс 0, поэтому он является тем же самым сеансом, что и служба.