2

我已在我的解决方案中添加了一个 NuGet 包,并在该解决方案上启用了包还原。这正确地创建了带有目标文件等的 .nuget 文件夹。

NuGet 包实际上是另一个项目,它成为解决方案中的依赖项。最初,我手动将此包添加到解决方案中。

为了测试这个 NuGet 功能,我删除了 packages 文件夹下的文件夹。

那时我显然会得到编译器错误,因为其他依赖项目依赖于刚刚删除的项目。

当我构建解决方案时,我希望 NuGet 去下载它需要的 NuGet 包,这是设置为启用包还原,然后构建成功,因为所有其他依赖项目现在都可以构建。

但是,我在输出中没有看到 NuGet 包被下载的证据,并且构建错误与尚未下载项目一样。

谁能确认我在这里是否遗漏了什么或做错了什么?

4

2 回答 2

1

据我所知,删除packages文件夹下的包应该通过 NuGet 的包恢复功能来恢复。

这将有助于:

  1. 查看实际的构建错误。
  2. 了解您要还原的软件包。

某些包,例如我们的包,依赖于 .targets 文件,这些文件在用于包还原时会出现问题。

于 2013-07-08T16:38:33.513 回答
1

确保解决方案文件夹中的 NuGet.Config 启用了“packageRestore”选项:

<?xml version="1.0" encoding="utf-8"?>  
<configuration>  
    <packageRestore>  
        <add key="enabled" value="True" />  
    </packageRestore>  
</configuration>  

此外,它应该在“C:\Users\%UserName%\Application Data\NuGet\NuGet.Config”中全局启用(可以在 VS、Tools->Options->Package Manager 中设置。

另请注意,自 NuGet 2.7 以来还有另一种还原包的方法 - “自动包还原”。有关更多信息,请参阅文档:http: //docs.nuget.org/docs/reference/package-restorehttp://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore

于 2013-10-10T14:26:56.350 回答