NuGet - install.ps1 не вызывается - PullRequest
11 голосов
/ 01 августа 2011

Я пытаюсь создать свой первый пакет NuGet. Я не знаю, почему мой скрипт install.ps1 не вызывается. Это структура каталогов

--Package
|
 - MyPackage.nuspec
 - tools
 |
  - Install.ps1
  - some_xml_file

Я собираю пакет, используя эту командную строку nuget.exe pack MyPackage.nuspec

Когда я устанавливаю пакет из консоли VS Package Manager, install.ps1 не вызывается.

Я подумал, что, возможно, у меня были некоторые ошибки в скрипте, и поэтому я закомментировал все, кроме

param($installPath, $toolsPath, $package, $project)
"ECHO"

Но я не вижу ECHO в консоли диспетчера пакетов. Что может быть не так?

Ответы [ 2 ]

15 голосов
/ 01 августа 2011

Install.ps будет вызываться только в том случае, если в папке \lib и / или \content есть что-то, но не для пакета "только для инструментов".См. здесь :

Пакет должен иметь файлы в папке содержимого или библиотеки lib для запуска Install.ps1.Просто наличие чего-либо в папке инструментов не сработает.

Используйте взамен Init.ps1 (однако, это будет выполняться при каждом открытии решения).

5 голосов
/ 02 декабря 2016

Install.ps1Uninstall.ps1) больше не вызываются в v3, но вы можете использовать Init.ps1.См. здесь :

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

...