我正在为NuGet包编写我的第一个安装PowerShell脚本。我正在尝试将文件从lib
文件夹复制到另一个NuGet包的tools
文件夹中。默认的install.ps1脚本有四个参数,其中两个是:
- $package
- $项目
它们看起来是某种类型的"对象",但我不确定它们包含什么属性和方法。我在网上做了一些搜索,但还没有找到这些论点的参考资料或任何文档。
看看这篇StackOverflow的帖子,这个问题包含了一个到Project Interface的链接。这就是NuGet install.ps1文件中的$project
吗?
在NuGet 2:中
- $project=>Project-它是项目的Visual Studio对象模型
- $package=>NuGet.IPackage-NuGet包
在NuGet3:中
- $project=>EnvDTE.项目
- $package=>ScriptPackage
请注意,NuGet 3中的$包具有较少的可用属性,因此现有NuGet包中包含的某些PowerShell脚本将不起作用。
您总是可以通过使用GetType().FullName
来查看PowerShell变量的.NET类型,例如:
Write-Output $project.GetType().FullName
Write-Output $package.GetType().FullName