有没有办法在Visual Studio中查看已安装的NuGet包来自哪个包源?

时间:2017-06-27 19:01:07

标签: visual-studio nuget nuget-package

在Visual Studio的NuGet包管理器中,您可以通过单击包管理器中的“已安装”选项卡来查看解决方案中已安装的NuGet包。

但是,在同一个包在多个NuGet包源中的情况下,查看特定NuGet包来自哪个包源会很有用。有没有办法在NuGet包管理器或VS中的任何其他位置看到这个?

修改 请在下面的评论中复制以澄清:

我正在使用预先存在的项目作为模型创建项目。两个项目都需要引用相同的Nuget包,因此我在Visual Studio中打开模型项目,打开Nuget包管理器,并查看其已安装的包。模型项目安装了“PackageA”。我打开新项目,为它打开Nuget包管理器,然后浏览“PackageA”。我注意到“PackageA”在多个Package Sources中可用。 (这些是我公司的内部,而不是nuget,org)在我的新项目中,我想从与模型项目相同的Package Source安装“PackageA”

2 个答案:

答案 0 :(得分:2)

  

有没有办法在Visual Studio中查看已安装的NuGet包来自哪个包源?

简单的答案是否定的。这是因为在包管理器的“已安装”选项卡中,解决方案中安装了哪些NuGet包的信息基于packages.config文件。该文件中只有包ID, version, targetFramework选项,因此我们可以根据Packages.config在包管理器中获取NuGet包源信息。

此外,当我们使用NuGet管理我们的包时,NuGet将从NuGet包源下载包,并将这些包设置到解决方案文件夹中的Packages文件夹中。我们接下来要做的是与Packages文件夹中的包而不是NuGet包源(NuGet恢复除外,还原只是从NuGet包源下载包)。所以我们找不到包源只是基于已经在Package.config中没有包源信息下载的包。

此外,当我们使用NuGet下载软件包时,NuGet将逐个搜索NuGet软件包源代码,NuGet 无法聪明地将软件包源存储在每个软件包中从。下载。

  

我想从与模型项目相同的Package Source安装“PackageA”

要解决此问题,您可以打开Packages文件夹,复制“PackagesA”,将其设置为您要使用的NuGet包源,然后从该Package Source安装“PackageA”,您将获得与模型项目相同的包。

答案 1 :(得分:-2)

Visual Studio中的解决方案资源管理器实际上对此非常有用。它包括依赖关系的依赖关系,并显示了它们的版本:

enter image description here

NuGet网站上的“使用的用户”部分可能更有用:https://www.nuget.org/packages/Newtonsoft.Json/