Почему IO.Directory. Следование CreateDirectory, когда это не было должно?

Я создал инструмент для рандомизации идентификаторов определений, чтобы избежать этой проблемы с помощью встроенного svg, ссылающегося на тот же #id, надеюсь, он будет полезен для кого-то еще. http://hugozap.com/randomize_svg_def_ids.html

9
задан Rob Sobers 20 May 2009 в 14:58
поделиться

2 ответа

Windows Vista позволяет вам создать каталог, но сохраняет его в другом месте. Только приложение, которое его создало, может видеть по указанному вами пути. Вот почему Exists возвращает истину.

Это было сделано для того, чтобы старые приложения, пытающиеся сохранить файлы в папках, где не было разрешений, не завершились ошибкой. Большинство людей сталкиваются с этим с устаревшими приложениями, которые пытаются сохранить свои файлы в каталоге программных файлов.

Это называется виртуализацией, и вы можете установить манифест, в котором говорится, что он вам не нужен для своего приложения. Также, если вы работаете с повышенными привилегиями, это не применимо (что не в вашем случае).

Это также влияет на реестр.

Вы можете прочитать об этом здесь .

Здесь это ссылка от Microsoft.

13
ответ дан 4 December 2019 в 15:25
поделиться

Directory.CreateDirectory не вызовет исключение, если папка уже существует, поэтому поведение, которое вы испытываете, является правильным.

0
ответ дан 4 December 2019 в 15:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: