Ошибочный каталог создания C# в SpecialFolder. LocalApplicationData в Windows 7 как не Администратор

Я добираюсь, ошибка "Доступ к пути 'LocalApplicationData\MyProgram \' отклонена". при попытке создать каталог для моего файла журнала. Это - когда я запускаю программу как неадминистраторский пользователь.

Directory.CreateDirectory(System.Environment.SpecialFolder.LocalApplicationData + "\\MyProgram\\");

Почему это было бы?

Спасибо

8
задан Jade M 2 January 2010 в 11:21
поделиться

2 ответа

LocalApplicationData - это всего лишь значение перечисления. Вам придется использовать его в сочетании с GetFolderPath:

string folder = Path.Combine(Environment.GetFolderPath(
    Environment.SpecialFolder.LocalApplicationData), 
    "MyProgram");
22
ответ дан 3 November 2019 в 13:09
поделиться

Вы пытаетесь получить доступ к значению перечисления LocalApplicationData как к строке. Это не так. Вам нужно найти путь к папке с помощью GetFolderPath:

string path = Environment.GetFolderPath(
    System.Environment.SpecialFolder.LocalApplicationData);

Кстати, он лучше по форме и менее подвержен ошибкам, чтобы использовать Path.Combine для построения путей, а не делать это вручную:

string path = Path.Combine(@"C:\", "dir"); // gives you "C:\dir"

...и ваш код будет выглядеть так:

string appDataPath = Environment.GetFolderPath
    (System.Environment.SpecialFolder.LocalApplicationData);
string path = Path.Combine(appDataPath, "MyProgram");
Directory.CreateDirectory(path);
11
ответ дан 3 November 2019 в 13:09
поделиться
Другие вопросы по тегам:

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