Visual studio 2017 将位于本地包存储库中的NuGet包安装到新的Visual Studio解决方案中

Visual studio 2017 将位于本地包存储库中的NuGet包安装到新的Visual Studio解决方案中,visual-studio-2017,nuget,Visual Studio 2017,Nuget,更新:显然,提供太多的预漫游会增加更多的混乱,而不是清晰度,所以我的问题是: 当前解决方案中没有对包的引用,因此它们不会显示为已安装在“管理解决方案包”窗口中时,如何从本地包存储库(即不是中央NuGet存储库)向项目添加包。 背景细节原件: 我们使用一个本地NuGet包文件夹,其中包含项目要使用的所有包。我们不希望对其进行任意更新或更改(即不安装现有软件包或恢复(如果可能)) 我们最近转向了VS2017,正在从头开始构建我们的解决方案和项目。我们设置了一个NuGet.Config来指向本地pac

更新:显然,提供太多的预漫游会增加更多的混乱,而不是清晰度,所以我的问题是:

当前解决方案中没有对包的引用,因此它们不会显示为已安装在“管理解决方案包”窗口中时,如何从本地包存储库(即不是中央NuGet存储库)向项目添加包。

背景细节原件:

我们使用一个本地NuGet包文件夹,其中包含项目要使用的所有包。我们不希望对其进行任意更新或更改(即不安装现有软件包或恢复(如果可能))

我们最近转向了VS2017,正在从头开始构建我们的解决方案和项目。我们设置了一个NuGet.Config来指向本地packages文件夹。它可以工作(就像我们在NuGet中央存储库中测试安装一个包到一个项目中时看到的那样)

但是,由于NuGet软件包当前未安装到解决方案中的任何项目中,NuGet报告(通过Get软件包或GUI)没有安装软件包

这似乎意味着,我们无法在不访问中央NuGet存储库的情况下将packages目录中的项目添加到相应的解决方案,尽管它们在本地package文件夹中可用

我更喜欢在存储库中查看包,以便将它们添加到各自的项目中,并让NuGet为项目创建packages.config文件(使用新格式)

我真的需要从NuGet的中央服务器重新安装软件包才能将它们添加到项目中吗?

从中央NuGet存储库安装时,会覆盖本地存储库中的现有包。更重要的是,我们的一些软件包使用的版本在NuGet存储库中不再可用

我们当前的解决方法是在解决方案中的一个项目中手动编辑packages.config文件,从而使包在“Manage package for Solutions”窗口中可见。然后,只需在GUI中选择目标项目,就可以在实际的目标项目中安装该包(这将对目标项目的.csproj文件执行适当的更改)。然后,我们从原始项目中删除手动编辑的packages.config

这是使用VS 2017安装的NuGet 4.6

非常感谢你的建议

如果当前解决方案中没有对包的引用,因此它们不会在“管理解决方案包”窗口中显示为已安装,如何从本地包存储库(即,不是中央NuGet存储库)向项目添加包

不确定我是否完全正确理解您的问题,如果没有,请免费让我知道

要解决此问题,您可以为这些包创建本地提要,以便在解决方案的管理包中看到这些包,并将它们添加到各自的项目中,并让NuGet为项目创建packages.config文件,即使您没有安装它们

  • 将那些包
    .nupkg
    添加到本地存储库文件夹中(包括那些在NuGet存储库中不再可用的版本)
  • 进入Visual Studio,通过工具>NuGet软件包管理器>软件包管理器设置打开NuGet设置对话框。单击设置对话框中的软件包源选项卡,然后单击左上角的
    plus
    图标以添加新的软件包源
  • 输入本地存储库的名称和源。名称可以是任何字符串,并且将是Visual Studio中NuGet包管理器中显示的名称

现在,您已经添加了本地包源,您将能够通过控制台或包对话框,通过从包源菜单中选择本地存储库,以通常的方式从Visual Studio中使用本地存储库:

希望这有帮助

如果当前解决方案中没有对包的引用,因此它们不会在“管理解决方案包”窗口中显示为已安装,如何从本地包存储库(即,不是中央NuGet存储库)向项目添加包

不确定我是否完全正确理解您的问题,如果没有,请免费让我知道

要解决此问题,您可以为这些包创建本地提要,以便在解决方案的管理包中看到这些包,并将它们添加到各自的项目中,并让NuGet为项目创建packages.config文件,即使您没有安装它们

  • 将那些包
    .nupkg
    添加到本地存储库文件夹中(包括那些在NuGet存储库中不再可用的版本)
  • 进入Visual Studio,通过工具>NuGet软件包管理器>软件包管理器设置打开NuGet设置对话框。单击设置对话框中的软件包源选项卡,然后单击左上角的
    plus
    图标以添加新的软件包源
  • 输入本地存储库的名称和源。名称可以是任何字符串,并且将是Visual Studio中NuGet包管理器中显示的名称

现在,您已经添加了本地包源,您将能够通过控制台或包对话框,通过从包源菜单中选择本地存储库,以通常的方式从Visual Studio中使用本地存储库:


希望这能有所帮助。

我不确定与项目相比,您的软件包文件夹结构是什么。如果在项目中安装了.nupkg文件,则会使用相同的packages文件夹中的.nupkg文件?如果不希望在本地复制和提取它们,可以使用PackageReferences。但是我不这么认为