Разрешения выходного файла 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. Вот как это сделать:
- Windows ключ + R
- Введите "services.msc" в появившемся окне
- В списке найдите "Опыт применения".
- Дважды щелкните по нему и измените с "отключено" на "включено"
Это должно работать сейчас! Работал для меня:)
Источник: 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), чтобы просто удалить дескриптор файла. (ПРИМЕЧАНИЕ: это НЕ "отличная" идея, но она работает....)