Greg Burghardt
Greg Burghardt

Reputation: 18803

What do the $package and $project params contain in a NuGet install.ps1 script?

I'm writing my first install PowerShell script for a NuGet package. I'm trying to copy a file from the lib folder into the tools folder of another NuGet package. The default install.ps1 script has four parameters, two of which are:

They appear to be "objects" of some sort, but I'm not sure what properties and methods they contain. I've done some searching online, but have yet to find a reference or any documentation for these arguments.

Looking at this StackOverflow post, the question contains a link to Project Interface. Is that what $project is in the NuGet install.ps1 file?

Upvotes: 14

Views: 3088

Answers (1)

Matt Ward
Matt Ward

Reputation: 47967

In NuGet 2:

In NuGet 3:

Note that the $package in NuGet 3 has a fewer properties available so some PowerShell scripts included with existing NuGet packages will not work.

You can always see which .NET Type a PowerShell variable is by using GetType().FullName, e.g.:

Write-Output $project.GetType().FullName
Write-Output $package.GetType().FullName

Upvotes: 13

Related Questions