При записи в файл я получаю ошибку несанкционированного доступа. Как я могу это сделать? - PullRequest
2 голосов
/ 28 апреля 2011

Несмотря на многочисленные сообщения в Интернете, я не могу найти ответ на мою проблему.Я пишу приложение, которое записывает файлы CSV в папки. Пользователи должны иметь возможность выбрать каталог.Я занимаюсь разработкой в ​​Windows 7, используя vs2010, запустив свое приложение в режиме администратора. Несмотря на все это, я все еще получаю «Исключение неавторизованного доступа», когда я

   var path=@"c:\" or c:\MyFolder
   StringBuilder sb=new StringBuilder();
   sb.AppendLine("Test");
   var myFile=sb.ToString();
   using (var writer=new StreamWriter(path))
     {
        writer.Write(myFile);
     }

Я что-то упустил?У меня такое чувство, что в окне 7 вы можете писать только в назначенные папки. Это то, что происходит?

какие-либо предложения?

РЕДАКТИРОВАНИЕ

Я создал несколько папок под "C:\ MyFolder \ "

Я не использую никаких учетных данных, например, имитацию Windows и т. Д.

Он пишет, если пишет в bin \ debug \ моей библиотеки классов.но не в любую назначенную папку.

Ответы [ 2 ]

6 голосов
/ 28 апреля 2011

Является ли ваш фрагмент кода реальным кодом, вызывающим проблему?

На первый взгляд, вы пытаетесь передать текст «Test» в директорию в файловой системе, не пытаясь записать файл. (path просто назначено на @"C:\"). Я не удивлен, что вы получаете UnauthorizedAccessException.

Назначьте полный путь к файлу, который вы хотите записать, в переменную path, и я думаю, что вы добьетесь успеха.

0 голосов
/ 28 апреля 2011

Попробуйте запустить приложение с помощью «Запуск от имени администратора».Комментарии выше, вероятно, также направят вас в правильном направлении.Вам определенно следует выбрать каталог, который ваши пользователи Windows могут редактировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...