$package 和 $project 参数在 NuGet install.ps1 脚本中包含什么?
What do the $package and $project params contain in a NuGet install.ps1 script?
我正在为 NuGet 包编写我的第一个安装 PowerShell 脚本。我正在尝试将文件从 lib
文件夹复制到另一个 NuGet 包的 tools
文件夹中。默认的 install.ps1 脚本有四个参数,其中两个是:
- $包
- $项目
它们似乎是某种 "objects",但我不确定它们包含哪些属性和方法。我在网上做了一些搜索,但还没有找到这些论点的参考资料或任何文档。
正在查看 , the question contains a link to Project Interface。那是 NuGet 安装中的 $project
.ps1 文件吗?
在 NuGet 2 中:
- $project => EnvDTE.Project - 这是项目的 Visual Studio 对象模型。
- $package => NuGet.IPackage - NuGet 包。
在 NuGet 3 中:
- $project => EnvDTE.Project
- $package => ScriptPackage
请注意,NuGet 3 中的 $package 可用属性较少,因此现有 NuGet 包中包含的某些 PowerShell 脚本将无法运行。
您始终可以使用 GetType().FullName
查看 PowerShell 变量是哪个 .NET 类型,例如:
Write-Output $project.GetType().FullName
Write-Output $package.GetType().FullName
我正在为 NuGet 包编写我的第一个安装 PowerShell 脚本。我正在尝试将文件从 lib
文件夹复制到另一个 NuGet 包的 tools
文件夹中。默认的 install.ps1 脚本有四个参数,其中两个是:
- $包
- $项目
它们似乎是某种 "objects",但我不确定它们包含哪些属性和方法。我在网上做了一些搜索,但还没有找到这些论点的参考资料或任何文档。
正在查看 $project
.ps1 文件吗?
在 NuGet 2 中:
- $project => EnvDTE.Project - 这是项目的 Visual Studio 对象模型。
- $package => NuGet.IPackage - NuGet 包。
在 NuGet 3 中:
- $project => EnvDTE.Project
- $package => ScriptPackage
请注意,NuGet 3 中的 $package 可用属性较少,因此现有 NuGet 包中包含的某些 PowerShell 脚本将无法运行。
您始终可以使用 GetType().FullName
查看 PowerShell 变量是哪个 .NET 类型,例如:
Write-Output $project.GetType().FullName
Write-Output $package.GetType().FullName