UnauthorizedAccessException при записи текстового файла в C: \ в Windows 7 - PullRequest
2 голосов
/ 01 июля 2011

Я недавно перешел на Windows 7. Теперь моему приложению .NET не удается записать файл журнала в C: \

Мой TraceListener вызывает исключение.

A first chance exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll

Что делать?Я запускаю приложение из студии и думаю, что оно должно наследовать все мои права, и я являюсь администратором на моем компьютере.

Ответы [ 3 ]

3 голосов
/ 01 июля 2011

Если у вас включен UAC, вы не сможете записывать файлы в C:\, даже если вы являетесь администратором, если только вы не запустите программу в режиме повышенных прав, чтобы активировать права администратора.

Файлы на самом деле не следует помещать в корень C:, поэтому лучше всего создать подкаталог и предоставить себе права доступа (для вашей учетной записи, а не группы администраторов). Если вы действительно хотите, чтобы файл находился на C:\, а не запускать его с повышенными правами, вы можете использовать Проводник Windows, чтобы предоставить себе (своей учетной записи, а не группе администраторов) право записи на C:\.

2 голосов
/ 01 июля 2011

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

0 голосов
/ 01 июля 2011

Возможно, UAC все еще включен.

Вам необходимо указать в файле app.config, что вы хотите, чтобы процесс использовал повышенные права.

Сгенерированный по умолчанию app.configесть эта информация.

...