如何禁用NuGet包还原并在本地引入包?

时间:2014-08-08 16:03:46

标签: asp.net visual-studio nuget nuget-package-restore

如何让NuGet重新生成/创建包含ASP.NET项目的所有.dll 本地的'packages'文件夹?我知道这违反了“启用包恢复”的传统使用,但它是此对话的先决条件和超出范围。

不幸的是,在声明我们无法使用它之前,我已经走了启用恢复的道路。现在我需要在本地重新生成这些包,我似乎无法弄清楚它是如何完成的。有关如何删除包和启用NuGet包恢复的1,000个文档,但没有关于如何回到每个解决方案的'packages'文件夹的任何内容。实际上,我必须将该软件包签入TFS并在构建时为解决方案提供所有可用的内容。

我已经禁用了'启用NuGet包恢复'并重建了,但依赖关系并没有带到我能说的任何地方。

3 个答案:

答案 0 :(得分:1)

因此,您最初为解决方案启用了基于MSBuild的程序包还原,您已“禁用”它,现在您想要还原程序包并将其添加到版本控制中。

如果您安装了最新版本的NuGet,或者应该安装2.7或更高版本,那么Visual Studio应该在您构建解决方案时自动恢复软件包。

现在,如果您有最新版本的NuGet,并且Visual Studio在构建时没有恢复软件包,那么您的解决方案中仍然可以使用.nuget / NuGet.targets文件。如果此文件仍然存在,则Visual Studio假定您正在使用基于MSBuild的程序包还原,并且在构建时不会还原程序包。

恢复软件包的另一种方法是下载NuGet.exe并运行:

NuGet.exe restore YourSolution.sln

还有some instructions on NuGet's web site有关如何从基于MSBuild的程序包还原迁移并转移到较新的自动程序包还原。此迁移指南中可能还会影响TFS的一件事是NuSet.config文件中的disableSourceControlIntegration设置。如果不是.nuget / NuGet.config文件本身,您可能希望删除该设置。

答案 1 :(得分:0)

请转到工具 - >图书馆包管理器 - >包管理器设置

包裹经理 - 一般

请取消选中该复选框(允许自动下载...) vs 2.13默认情况下将启用。 vs 2012默认情况下禁用

答案 2 :(得分:-1)

您可以选择参考,按F4并将Copy Local属性设置为True。 enter image description here