Как я могу создать исполняемый пакет для OneGet Install-Package?

Я понимаю, как создать пакет для NuGet. Нет ничего особенно сложного в создании пакета NuGet или пакета PowerShell.

Я знаю, что может быть невозможно создать пакет PowerShell с двоичным командлетом в.NET Core, поэтому интересуюсь, возможно ли создать пакет с перехватчиками жизненного цикла.

Скажем, в npmВы можете определить сценарии в package.json объявить зависимости до / после установки / публикации.

Итак, вопрос в следующем:

Как выполнить собственный скрипт после добавления пакета в систему через Install-Package?

Например, я хочу добавить исполняемый файл в PATH (вероятно, это довольно распространенная задача)

1 ответ

Решение

Вероятно, это сработает: project.json # scripts Обратите внимание, что допустимые значения допустимы для исполняемых файлов платформы, поэтому, как я понял, PowerShell не разрешен по умолчанию.

Быстрый обходной путь, насколько доступны аргументы:

runner.cmd:

@powershell -File %1

И в project.json:

"scripts": {
    "postrestore": "%project:Directory%/scripts/runner.cmd %project:Directory%/scripts/install.ps1"
}
Другие вопросы по тегам