tl; dr version: убедитесь, что вы не пытаетесь открыть файл, помеченный в файловой системе как доступный только для чтения в режиме чтения / записи.
Я сталкивался с этой ошибкой в своих путешествиях, пытаясь прочитать в XML-файл.
Я обнаружил, что в некоторых случаях (подробно описано ниже) эта ошибка будет генерироваться для файла, даже если путь и имя файла указаны правильно.
Сведения о файле:
- Путь и имя файла верны, файл существует
- И учетная запись службы, и вошедший в систему пользователь имеют права полного доступа к файлу и полный путь
- Файл помечен как доступный только для чтения
- Он работает на Windows Server 2008 R2
- В пути к файлу использовались буквы локального диска, а не UNC-путь
При попытке прочитать файл программным способом при выполнении точно такого же кода наблюдалось следующее поведение:
- При запуске в качестве зарегистрированного пользователя файл читается без ошибок
- При запуске в качестве учетной записи службы при попытке чтения файла выдается ошибка «Доступ запрещен» без подробностей
Чтобы это исправить, мне пришлось изменить вызов метода со значения по умолчанию (открытие как RW) на открытие файла как RO. Как только я сделал это одно изменение, оно перестало выдавать ошибку.