NuGet - install.ps1 не вызван
Я пытаюсь создать свой первый пакет NuGet. Я не знаю, почему моя install.ps1 script не вызвана. Это структура каталогов
--Package
|
- MyPackage.nuspec
- tools
|
- Install.ps1
- some_xml_file
Я создаю пакет, используя эту командную строку
nuget.exe pack MyPackage.nuspec
Когда я устанавливаю пакет из консоли диспетчера пакетов VS, install.ps1 не вызывается.
Я думал, что, возможно, у меня были некоторые ошибки в script, и причина в том, что я прокомментировал все, кроме
param($installPath, $toolsPath, $package, $project)
"ECHO"
Но я не вижу ECHO, появляющегося в консоли диспетчера пакетов. Что может быть неправильным?
Ответы
Ответ 1
Install.ps
будет вызываться, только если в папке \lib
и/или \content
есть что-то, а не только для пакета "только инструменты". См. здесь:
Пакет должен иметь файлы в папке содержимого или lib для запуска Install.ps1. Просто наличие чего-то в папке с инструментами не ударит.
Используйте Init.ps1
вместо этого (однако это будет выполняться каждый раз при открытии решения).
Ответ 2
Install.ps1
(и Uninstall.ps1
) больше не вызываются в v3, но вы можете использовать Init.ps1
. См. здесь:
Поддержка Powershell script была изменена, чтобы больше не выполнять установку и удалить скрипты, но сценарии инициализации все еще выполняются. Некоторые из аргументация в этом заключается в невозможности определить, какой пакет скрипты должны запускаться, когда не все пакеты напрямую ссылаются по проекту.