Visual C++ 2010 Неустранимая Ошибка C1083; Отказано В Разрешении

для класса в университете профессор предоставил нам некоторый каркасный код, который мы должны изменить. Когда я пытаюсь скомпилировать код в Visual C++ 2010 Express (x86), я получаю следующую ошибку:

C:Users[username]AppDataLocalTemp.NETFramework,Version=v4.0.AssemblyAttributes.cpp : fatal error C1083: Cannot open compiler generated file: 'Release.NETFramework,Version=v4.0.AssemblyAttributes.obj': Permission denied

учетная запись, в которую я вошел, имеет полные разрешения на чтение-запись-изменение для рассматриваемого файла, и я использую Windows 7 (x64). Чтобы сделать вещи более запутанными, проект компилируется в режиме отладки, но не в режиме выпуска, который профессор проинструктировал нас использовать.

заранее спасибо за любую помощь.

7 ответов


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


Это может не быть проблемой разрешения вообще, но может быть проблемой блокировки файлов. Я верю, что это может произойти, если вы:

  1. построение всего решения
  2. здания параллельно
  3. неправильно определение зависимостей проекта

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

пожалуйста, поправьте меня, если я неправильный.


У меня никогда не было этой конкретной ошибки, но, как правило, я обнаружил, что Visual Studio имеет много проблем с безопасностью. Например, я не могу зарегистрировать сборки COM в своей версии... По этой причине я всегда запускаю Visual Studio как администратор (недостаточно иметь учетную запись администратора, вы хотите, чтобы ярлык запускался как администратор). Это решает мою проблему COM и другие, с которыми я сталкивался на протяжении многих лет. Маловероятно, но я надеюсь, что это поможет.


в Visual Studio-это немного неправильно, когда дело доходит до сгенерированный файл права доступа на Windows 7 и Vista.

  • сначала попробуйте запустить Visual Studio Express в качестве администратора, щелкнув правой кнопкой мыши его ярлык и выбрав опцию желто-синий экран.

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


У меня есть решение с несколькими проектами, которые я унаследовал от предыдущих разработчиков. У меня также есть эта проблема, и я, наконец, узнал, откуда она исходит, поэтому, возможно, это также происходит и в случае с плакатами.

в моей настройке проекта есть много исходных файлов, на которые ссылаются в проекте. Когда Visual Studio определяет порядок построения, она параллельно создает независимые друг от друга проекты. Так может случиться, что файл, который компилируется в двух отдельных проектах строится одновременно, что может привести к блокировке.

на мой взгляд, ссылки на файлы в проекте-это зло. :) Правильным способом было бы поместить общие файлы в библиотеку, а затем установить зависимости соответственно. Теоретически можно решить эту проблему, установив зависимости сборки для файлов совместного использования проектов, но это ИМО произвольно, потому что проекты могут не иметь значимой зависимости (как в моем случае), они просто повторное использование одного и того же кода.

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

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


Если ваш проект отлично компилируется в одном режиме, а не в другом (например, Win32 vs x64, Debug vs Release), вы должны тщательно сравнить настройки сборки, особенно Каталоги Включения.

VS вводит в заблуждение ошибку" отказано в доступе "вместо" файл не найден", если ваш путь сборки содержит, например, ссылку на диск D:, который является диском DVD-RW без диска внутри.

открыть свойства проекта > Каталоги VC++ > включить каталоги выбираем "Конфигурации: Все Конфигурации" или "Платформа: Все Платформы", если вы видите <different options> затем тщательно проверьте, каковы различия. Или просто скопируйте Каталоги Включения от рабочей конфигурации до сломанной.

затем повторите с свойства проекта > C / C++ > дополнительные каталоги Include.


Я столкнулся с той же проблемой "Фатальная Ошибка: Доступ Запрещен " С Visual Studio C++ 2017 под Windows 10.

sollution было как упомянуто выше:для запуска Visual Studio от имени администратора.