$project.Properties имеет значение NULL в Init.ps1 (Visual Studio 2012)

Я создал простой пакет 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, он работает. Кажется, что свойства проекта недоступны при первой установке пакета.


person Jürgen Bayer    schedule 27.08.2013    source источник


Ответы (1)


Список параметров для init.ps1:

param($installPath, $toolsPath, $package)

В init.ps1 нет параметра $project, поскольку он выполняется на уровне решения и не зависит от проекта.

Дополнительные сведения см. здесь: http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package

person CarllDev    schedule 28.01.2014