У меня есть проект, который я строю с помощью следующей команды в Zsh на Windows 10 машины:Визуальный Devenv Студия 2013 не удается построить проект, когда не авторизованы на Windows 10
devenv $sln -project $project -rebuild "Release|x64"
Если я запустить его локально в терминал, он всегда работает. Однако я запускаю его через планировщик задач, а иногда через (cygwin) ssh. Он по-прежнему работает, но только если я фактически зарегистрирован на компьютере локально или с сеансом удаленного рабочего стола.
Если команда выполняется, когда пользователь подписывается, я вижу следующее сообщение:
Microsoft Visual Studio была обнаружена проблема с настройкой. Чтобы исправить , перезагрузите его как Администратор. Для получения дополнительной информации, пожалуйста, : http://go.microsoft.com/fwlink/?LinkId=320596
Пример использования ssh.
- Я вхожу в физической машине
- Я SSH в указанную машину
- команду Run. Работает отлично.
- Выйти на физическую машину
- Команда запуска в той же сессии ssh. Не удается.
Когда я говорю «физическая машина», я имею в виду хост-компьютер, в котором выполняется команда.
У меня есть до настоящего времени для Windows 10 Professional машины и до настоящего времени Visual Studio 2013.
Он также завершается неудачно, если команда выполняется с помощью планировщика задач Windows (набор для работы, когда не вошли в систему с наивысшими правами) , в то время как пользователь выйдет из системы.
Установка devenv всегда открыта как Администратор (используя все методы, которые я видел на S.O.) не помогает. Отключение UAC не помогает.
Я бы предпочел просто оставить машину в журнале все время, однако проблема также возникает после сеанса удаленного рабочего стола: - Если я удаленный рабочий стол на этом компьютере, команда продолжает работать, пока у меня есть удаленный сеанс open (даже через ssh и планировщик задач), но как только я отключу сеанс rdp, он перестает работать.
Редактировать: Правильный профиль пользователя загружен в точке выполнения, а журнал активности devenv не обнаруживает ошибок или предупреждений. Журнал просто показывает, что devenv выходит после Client rights determined
.
Edit: Я проверил @Callan's msbuild
решение, и это, кажется, работает для всех моих проектов с использованием следующих для решения сборки:
msbuild $sln /t:Rebuild /p:Configuration=Release;Platform=x64
А следующий за одного проекта сборки (Found here):
msbuild $sln /t:"$project:Rebuild" /p:Configuration=Release;Platform=x64 /p:BuildProjectReferences=false
Это не является строго решением проблемы, поскольку, как отметил @SimonMourier, они не эквивалентны. Это решение, которое, к счастью, работает для меня, и хотя оно может не работать для всех случаев, оно начинает выглядеть, как будто нет лучшего решения.
Это, безусловно, лучше, чем мое текущее обходное решение для автоматического входа в систему и блокировки устройства, а затем сообщите моей машине о перезагрузке в конце сеанса RDP, гарантируя, что у меня всегда есть интерактивный сеанс.
Visual Studio нуждается в правильном профиле пользователя для загрузки в run.Maybe related: https://support.microsoft.com/en-us/kb/2968540. Кроме того, вы проверили журнал активности: https://blogs.msdn.microsoft.com/visualstudio/2010/02/24/troubleshooting-extensions-with-the-activity-log/ –
Насколько я могу сказать правильный загружен профиль пользователя. И 'USERNAME', и' USERPROFILE' установлены как ожидалось. Я проверил журнал, и первые 42 записи идентичны для неудачной и рабочей сборки. 43-я запись в рабочей сборке - «Ввод функции CVsPackageInfo :: HrInstantiatePackage», тогда как в неудачной сборке программа, похоже, только начинает чистое завершение «AppId остановил отключение реестра». 42-я запись в обоих случаях: «Определены права клиента: ...» – Jools
Да, я уверен, что загружен правильный профиль пользователя, так как оба журнала сообщают о чтении «токена прав клиента» из одного и того же каталога пользователя. – Jools