0

如何让 NuGet 重新生成/创建包含项目本地所有 .dll 的“包”文件ASP.NET?我知道这违背了“启用包还原”的传统用法,但它是此对话的先决条件并且超出了范围。

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

我已经禁用了“启用 NuGet 包还原”并进行了重建,但是依赖项并没有在我能告诉的任何地方引入本地。

4

3 回答 3

1

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

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

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

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

NuGet.exe restore YourSolution.sln

NuGet 的网站上也有一些关于如何从基于 MSBuild 的包还原迁移到更新的自动包还原的说明。本迁移指南中也可能影响 TFS 的一件事是 NuGet.config 文件中的 disableSourceControlIntegration 设置。如果不是 .nuget/NuGet.config 文件本身,您可能希望删除该设置。

于 2014-08-08T16:58:12.943 回答
0

请转到工具-> 库包管理器-> 包管理器设置

包管理器 - 常规

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

于 2017-08-30T10:21:55.970 回答
-1

您可以选择您的参考,按 F4 并将 Copy Local 属性设置为 True。 在此处输入图像描述

于 2014-08-08T16:35:21.493 回答