Разрешения выходного файла Visual Studio? - PullRequest
22 голосов
/ 22 июля 2010

Я использую Visual Studio 2010, как установить или автоматически изменить владельца выходного файла из Visual Studio (например, исполняемого файла) на пользователя, отличного от администратора?

все выходные файлы в настоящее время принадлежатАдминистратор (поскольку Visual Studio запускается с правами администратора), поэтому иногда я не могу удалить эти файлы из-за прав доступа.

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

Сообщение об ошибке: error LNK1168: cannot open [path to file].exe for writing

Ответы [ 4 ]

33 голосов
/ 30 декабря 2010

Wooho Я наконец понял это.

Это ошибка в Windows 7 и, вероятно, в Windows Server 2008 (возможно, только в 64-битных версиях).Он появляется, когда вы отключаете Application Experience сервис.

Повторное включение этого сервиса исправило эту проблему для меня.

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

Чуть больше информации здесь о том, почему это вызывает проблему.

Список других вопросов SO, которые, по-видимому, связаны:

8 голосов
/ 15 апреля 2013

Как упомянуто выше, решение этой проблемы - включить службу Windows Application Experience.Вот как это сделать:

  1. ключ Windows + R
  2. Введите «services.msc» в появившемся окне
  3. . В списке найдите «Приложение».Опыт. "
  4. Дважды щелкните по нему и измените с" отключено "на" включено "

Это должно работать сейчас!Работал у меня:)

Источник: http://www.techknowl.com/disable-unwanted-services-and-speed-up.html

0 голосов
/ 26 июля 2010

никто не дает правильного ответа, поэтому я закрываю этот вопрос как ошибку в операционной системе, а не в Visual Studio, возможно, операционная система скомпрометирована, поскольку дескриптор файла принадлежит процессу 'System' (PID 4) иЯ не могу освободить дескриптор файла, так как он сообщает, что дескриптор файла недопустим с помощью проводника процессов.

0 голосов
/ 22 июля 2010

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

Лично, если вы не используете IIS для веб-приложений, я все чаще и чаще запускаю Visual Studio как обычный пользователь, по крайней мере с VS 2010.

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

Обычно я использую Process Explorer (из SysInternals), чтобы просто удалить дескриптор файла. (ПРИМЕЧАНИЕ: это НЕ "отличная" идея, но она работает ....)

...