Разрешения выходного файла Visual Studio?

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

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

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

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

4 ответа

Решение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам