Не удалось записать в выходной файл - доступ запрещен

недавно я переключил компьютеры и скопировал все свои проекты на новый локальный диск. Я переформатировал компьютер я сейчас так было почти чистой машине. Казалось, все работает нормально, но когда я открыл один из моих проектов, которые я запускал с моей старой машины, он больше не компилировался, и я получаю следующее сообщение об ошибке: Не удалось записать в выходной файл 'c:UsersuserDocumentsProjectsRegressionWebOnetouchUploadobjdebugOneTouchUpload - ... доступ к библиотеке DLL' -- ' лишенный.'

Я получаю такую ошибку для каждого проекта, который у меня есть в моем решении. Я также получаю эту ошибку: Непредвиденная ошибка при создании файла отладочной информации "c:UsersuserdocumentsprojectsRegressionWebRegressionWebobjDebugRegressionWeb - ... PDB ' Доступ запрещен

Я искал повсюду, и единственные подобные проблемы, которые я мог найти в интернете, связанные конкретно с ASP.NET и IIS, ни один из которых не имеет ничего общего с моим проектом (мои проекты-класс библиотеки в основном тестов NUnit с некоторыми классами поддержки).

Я администратор на своей локальной машине. Я уже взял на себя ответственность за каждый файл в проекте, используя takeown / f .RegressionWeb /r / d y, а также попытался убедиться, что ничто не имеет статуса только для чтения, но следующий файл вызвал ошибку, когда я попытался изменить свойство только для чтения его родительской папки: Произошла ошибка при изменении атрибутов для файла: С.:.. Regressionweb.ФСЛ.DotSettings.пользователь Доступ отказано

в основном этот проект работал отлично и не имел ошибок с моего старого компьютера. После копирования над всем, это DotSettings.пользовательский файл не будет изменен, и Visual Studio не сможет записывать ни в один из dll-файлов. Я уверен, что ответ должен лежать в настройке Visual Studio где-то. Любые предложения были бы весьма признательны.

5 ответов


Я думаю, Карл прав. Однажды у меня была похожая ситуация, и я удалил файл, о котором идет речь, очистил решение, а затем перестроил. Если проект нуждается в этом файле, он должен воссоздать его; в моем случае он не нужен, потому что он никогда не воссоздавал его, но проект работал просто отлично.

еще одна вещь, которую я бы рекомендовал; вы можете выбрать атрибут только для чтения родительской папки и выбрать этот параметр для рекурсии через все подпапки и файлы, но это не значит, что происходит именно это. Для всех ваших подпапок и файлов (особенно тех, которые появляются как ошибки) проверьте каждый отдельно и убедитесь, что атрибут только для чтения выключен.


кажется, что та же ошибка иногда отображается, когда пользователь пула приложений не имеет доступа к папке %TMP%/%TEMP%.

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

Это может быть папка temp в профиле пользователя пула приложений, например c:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp, или системная Временная папка на c:\windows\temp - ...


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


посмотрите, связано ли это с этим:не удалось записать в выходной файл-доступ запрещен . Это было бы не так-то просто выследить. В этом случае проект сам ссылается на dll и предотвращает доступ к файлу.


Я смог заставить это работать, закрыв Visual Studio, а затем открыв его снова, но будьте осторожны, чтобы запустить Visual Studio "как администратор". Для этого в меню Пуск щелкните правой кнопкой мыши Visual Studio и выберите "Запуск от имени администратора".