В рамках процесса развертывания я пытаюсь передать GAC серию файлов. Фактический процесс сборки происходит на сервере сборки, и я пытаюсь использовать psexec для GAC файлов на любом компьютере, запросившем сборку.
Текущая строка, которую я пытаюсь выполнить:
C: \ PsTools> psexec.exe \ КОМПЬЮТЕР -u ПОЛЬЗОВАТЕЛЬ -p ПРОЙТИ gacutil.exe -i Assembly.dll -f
Ошибка, которую я получаю:
Ошибка при добавлении сборки в кеш: система не может найти указанный файл.
Таким образом, очевидно, что ссылка на dll находится на удаленном ящике, и, к сожалению, dll находится в ящике сборки. Есть ли способ как-то сделать это с помощью psexec, или мне нужно скопировать его во временное место на \\ КОМПЬЮТЕРЕ? Я знаю, что есть команды для копирования исполняемого файла как часть процесса psexec, но я не могу найти ничего похожего для вспомогательных файлов.
Я говорю, что вам нужно сначала скопировать этот файл на сервер, или, в качестве альтернативы, вы можете поделиться файлом с сервера сборки и указать его в своей команде psexec.
например
psexec.exe \ КОМПЬЮТЕР -u ПОЛЬЗОВАТЕЛЬ -p ПРОЙТИ gacutil.exe -i \ buildbox \ share \ Assembly.dll -f
единственное, что нужно помнить, это то, что удаленный процесс (запущенный на вашем целевом компьютере) работает в контексте системной учетной записи, и вам нужно будет согласовать это с вашими сетевыми ресурсами
надеюсь, это поможет