【问题标题】:What are the parameters passed to the 'install.ps1' script of a NuGet package?传递给 NuGet 包的“install.ps1”脚本的参数是什么?
【发布时间】:2017-02-02 10:20:12
【问题描述】:

我需要知道这些参数是什么:$installPath, $toolsPath, $package, $project

EntityFramework NuGet 包的示例:

install.ps1

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

Initialize-EFConfiguration $project
Add-EFProvider $project 'System.Data.SqlClient' 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'

Write-Host
Write-Host "Type 'get-help EntityFramework' to see all available Entity Framework commands."

它们的用途是什么?

有没有办法调试这个脚本?

【问题讨论】:

  • 如果文档记录正确,您应该可以使用Get-Help EntityFramework -Full 向您展示您需要知道的一切。
  • 只需将Write-Host "$installPath, $toolsPath, $package, $project" 添加到 install.ps1 脚本,安装它并检查输出 - 然后您会看到所有实际参数...

标签: powershell nuget


【解决方案1】:

你的问题有点不清楚。你问的是参数是干什么用的?

  • $installPath 是包所在文件夹的路径 安装。默认:$(solutionDir)\packages
  • $toolPath 是安装包的文件夹中的 \tools 目录的路径。默认:$(solutionDir)\packages\[packageId]-[version]\tools
  • $package 是对包对象的引用
  • $project 是对目标 EnvDTE 项目对象的引用。该对象定义为here

如果您的问题是关于调试 install.ps1 并获取参数的实际值,请参阅此 answer

【讨论】:

  • 我还发现你可以这样做:$project = 'Get-Project',然后通过在 Visual Studio 的 NuGet 包控制台中键入:'$project' 来打印它。
  • answer here 提供了有关 $project 和 $packages 参数的更多信息。
猜你喜欢
  • 2016-02-21
  • 2011-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多