UnauthorizedAccessException, пытающийся удалить файл в папке, где я могу удалить файлы других с тем же кодом

Изменения фиксации

, Как только Вы отредактировали файл, необходимо передать изменения в мерзавце. При выполнении этой команды, она попросит сообщение о фиксации - который является просто простым битом текста, который говорит всем, что Вы изменили.

$ git commit source/main.c

будет фиксировать файл main.c в каталоге./source /

$ git commit -a # the -a flag pulls in all modified files

, будет фиксировать все измененные файлы (но не новые файлы, те должны быть добавлены к индексу с мерзавцем - добавляют). Если Вы захотите фиксировать только определенные файлы тогда, то необходимо будет подготовить их сначала с мерзавцем - добавляют и затем фиксируют без флага-a.

Фиксирующий только изменяет Ваш локальный репозиторий хотя не удаленные репозитории. Если Вы захотите отправить фиксации в удаленный репозиторий тогда, то необходимо будет сделать нажатие.

$ git push <remote> <branch> # push new commits to the <branch> on the <remote> repository

Для кого-то происходящего из CVS или SVN это - изменение, так как фиксация к центральному репозиторию теперь требует двух шагов.

16
задан Brad Parks 25 September 2015 в 14:28
поделиться

3 ответа

Если он не предназначен только для чтения, возможно, он в настоящее время используется другим процессом.

3
ответ дан 30 November 2019 в 16:58
поделиться

Сначала проверяем очевидное ...

Когда вы открываете свойство файла и смотрите на его настройки безопасности. Имеет ли пользователь, запускающий код (т. Е. Если это ASP.NET, учетная запись сетевых служб / доменных служб), доступ для фактического удаления файла? Если это не так, измените его и повторите попытку.

Вы работаете как администратор при попытке удалить это вручную? Если да, то, вероятно, поэтому вы можете удалить его вручную. Попробуйте удалить его как учетную запись, на которой запущен ваш ASP.NET (я предполагаю, что это ASP.NET, поскольку вы используете System.Web.Hosting.HostingEnvironment.MapPath.)

Если оба потерпели неудачу, попробуйте проверить, есть ли какой-либо другой процесс на самом деле в настоящее время использует этот файл. Хороший инструмент для этого - SysInternal Process Monitor. Отфильтруйте его по пути, содержащему ваше имя файла, и вы должны увидеть, использует ли оно что-нибудь. Завершите процесс и повторите попытку.

1
ответ дан 30 November 2019 в 16:58
поделиться

Вы, человек-пользователь, имеете логин с определенными правами. Веб-сервер может иметь другой логин с другими правами. Пользователь, начинающийся с IUSR_XXXX или что-то в этом роде. Убедитесь, что у пользователя есть права на каталог.

Без дополнительной информации о контексте, в котором вы удаляете файл, я предполагаю, что пользователь веб-сервера имеет другие права на файл, чем вы.

0
ответ дан 30 November 2019 в 16:58
поделиться
Другие вопросы по тегам:

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