Разрешения выходного файла Visual Studio?
Я использую Visual Studio 2010, как установить или автоматически изменить владельца выходного файла из Visual Studio (например, исполняемого файла) для пользователя, отличного от администратора?
все выходные файлы в настоящее время принадлежат администратору (из-за того, что Visual Studio запускается административной привилегией), поэтому иногда я не могу удалить эти файлы из-за прав доступа.
Иногда визуальная студия сама по себе не может ее удалить (после запуска исполняемого файла) до нескольких минут, ее действительно раздражает, когда мне нужно перестроить исполняемый файл. кто-нибудь знает, в чем проблема?
сообщение об ошибке: error LNK1168: cannot open [path to file].exe for writing
Ответы
Ответ 1
никто не дает правильного ответа, поэтому я закрываю этот вопрос как ошибку в операционной системе, а не в Visual Studio, возможно, O/S скомпрометирован, поскольку дескриптор файла принадлежит процессу "Система" (PID 4) и Я не могу освободить дескриптор файла, так как он сообщает, что дескриптор файла недействителен с помощью проводника процессов.
Ответ 2
Wooho Я, наконец, понял это.
Это ошибка в Windows 7 и, вероятно, в Windows Server 2008 (возможно, только для 64-битных версий). Он появляется, когда вы отключите Application Experience.
Повторное включение этой службы устранило эту проблему для меня.
Вы не можете себе представить, насколько я счастлив, это делало программирование настолько расстраивающим, что оно не просто возилось с VC, но и с любым компилятором, и чтобы оно было довольно неожиданным.
Немного больше здесь о том, почему это вызывает проблему.
Список других вопросов SO, которые, как представляется, связаны между собой:
Ответ 3
Как уже упоминалось выше, исправление этой проблемы заключается в том, чтобы включить службу обслуживания приложений Windows. Вот как это сделать:
- Клавиша Windows + R
- Введите "services.msc" в появившемся окне
- В списке найдите "Application Experience".
- Дважды щелкните по этому значению и измените с "disabled" на "enabled"
Теперь он должен работать! Работал для меня:)
Источник: http://www.techknowl.com/disable-unwanted-services-and-speed-up.html
Ответ 4
Ну, файл по мере его создания будет принадлежать создателю, если вы используете Visual Studio в качестве администратора, вы просто застряли с ним таким образом с точки зрения владельца.
Лично, если вы не используете IIS для веб-приложений, я все чаще и чаще пользуюсь Visual Studio в качестве обычного пользователя, по крайней мере, с VS 2010.
Что касается проблемы, когда Visual Studio не может удалить файл, я видел это раньше с ошибками сборки, а иногда, если у вас есть несколько проектов, ссылающихся на одну и ту же сборку. Лучше всего попробовать и отследить блокировку, а затем вы можете либо заблокировать блокировку, либо перезапустить Visual Studio.
Обычно я использую Process Explorer (From SysInternals), чтобы просто удалить дескриптор файла. (ПРИМЕЧАНИЕ: это НЕ "отличная" идея, но она работает...)