Я создал простой пакет NuGet, включающий сценарий Init.ps1 в папке Tools. Скрипт начинается следующим образом:
param($installPath, $toolsPath, $package, $project)
$postBuildEvent = $project.Properties.Item("PostBuildEvent").Value
При установке пакета в проекте Visual Studio 2012 я получаю сообщение об ошибке в $project.Properties.Item, поскольку $project.Properties имеет значение null: «Вы не можете вызвать метод для выражения с нулевым значением». Я проверил, является ли $project.Properties нулевым, и это так.
Вопрос в том, почему он нулевой. Я просто пытаюсь изменить событие после сборки (как описано здесь). У кого-нибудь есть подсказки?
Изменить: если код находится внутри Install.ps1, он работает. Кажется, что свойства проекта недоступны при первой установке пакета.