显示NuGet包的依赖项

Uns*_*ced 16 powershell nuget

当您显示"管理NuGet包"对话框时,它将显示可用的包,其中包含的信息比来自powershell的信息要多得多.

特别是,有一种方法可以从powershell中列出可用的包 - 或者只是一个特定的包 - 与它们所依赖的包,最好是它们的目标版本(范围)?

x0n*_*x0n 19

就在这里.

# shows all available packages
PM> get-package -list

 # get single package info
PM> get-package -list solrnet.nhibernate

# view dependencies
PM> get-package -list solrnet.nhibernate | select dependencies
NHibernate:[2.1.2.4000]|CommonServiceLocator:[1.0]|SolrNet:[0.3.1] 
Run Code Online (Sandbox Code Playgroud)

  • @MichaelEakins Visual Studio中的NuGet包管理器窗口是作为PowerShell主机实现的,它是*PowerShell.我知道这一点,因为我写了大部分内容. (13认同)
  • VS2015中的列表中似乎没有依赖项 (2认同)

Dav*_*idG 6

对于运行 Nuget v3 或更高版本(即 VS2015)的任何人,如果您运行该命令Get-Package,您将收到以下消息:

此命令/参数组合已被弃用,将在下一个版本中删除。请考虑使用替换它的新命令:'Find-Package [-Id]'。

的文档Find-Package很好地解释了新命令,您可以看到不再有-list参数。不幸的是,这个新的和旧的似乎都不会给你依赖。您可以看到像这样返回的所有属性:

Find-Package | Get-Member
Run Code Online (Sandbox Code Playgroud)

哪个将返回:

   TypeName: NuGet.PackageManagement.PowerShellCmdlets.PowerShellRemotePackage

Name              MemberType Definition
----              ---------- ----------
Equals            Method     bool Equals(System.Object obj)
GetHashCode       Method     int GetHashCode()
GetType           Method     type GetType()
ToString          Method     string ToString()
AllVersions       Property   bool AllVersions {get;set;}
AsyncLazyVersions Property   Microsoft.VisualStudio.... snip
Description       Property   string Description {get;set;}
Id                Property   string Id {get;set;}
LicenseUrl        Property   string LicenseUrl {get;set;}
Version           Property   NuGet.SemanticVer.... snip
Versions          Property   System.Collections.... snip
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的,但是 .. 你现在如何找到依赖关系? (5认同)