$ project.Properties在Init.ps1中为null(Visual Studio 2012)

时间:2013-08-27 14:46:40

标签: nuget nuget-package

我创建了一个简单的NuGet包,其中包含Tools文件夹中的Init.ps1脚本。该脚本如下所示:

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

$postBuildEvent = $project.Properties.Item("PostBuildEvent").Value

在Visual Studio 2012项目中安装软件包时,我在$ project.Properties.Item上收到错误,因为$ project.Properties为null:“您无法在空值表达式上调用方法”。我检查了$ project.Properties是否为null,它是。

问题是,为什么它为空。我只是尝试改变post build事件(如描述here)。有人有线索吗?

修改 如果代码在Install.ps1中,则可以正常工作。首次安装软件包时似乎无法使用项目属性。

1 个答案:

答案 0 :(得分:0)

init.ps1的参数列表是:

param($installPath, $toolsPath, $package)

init.ps1没有$ project参数,因为它在解决方案级别执行,并且不依赖于项目。

有关详细信息,请参阅此处:http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package