Разрешения выходного файла 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), чтобы просто удалить дескриптор файла. (ПРИМЕЧАНИЕ: это НЕ "отличная" идея, но она работает...)