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 файл в папке проекта и перестроить проект. Почему это сработало, я не знаю, но, похоже, сработало.
Это может не быть проблемой разрешения вообще, но может быть проблемой блокировки файлов. Я верю, что это может произойти, если вы:
- построение всего решения
- здания параллельно
- неправильно определение зависимостей проекта
происходит так, что один проект записывает объект, а другой проект пытается прочитать этот объект и не может, потому что блокировка записи предотвращает его.
пожалуйста, поправьте меня, если я неправильный.
У меня никогда не было этой конкретной ошибки, но, как правило, я обнаружил, что 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 от имени администратора.