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.ps1Uninstall.ps1) больше не вызываются в v3, но вы можете использовать Init.ps1. См. здесь:

Поддержка Powershell script была изменена, чтобы больше не выполнять установку и удалить скрипты, но сценарии инициализации все еще выполняются. Некоторые из аргументация в этом заключается в невозможности определить, какой пакет скрипты должны запускаться, когда не все пакеты напрямую ссылаются по проекту.