NuGet包还原不起作用

时间:2013-07-02 14:57:31

标签: nuget nuget-package nuget-server

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

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

要测试此NuGet功能,我删除了packages文件夹下的文件夹。

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

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

但是,我没有看到NuGet包在输出中被下载的证据,并且构建错误仍然与未下载项目的情况相同。

任何人都可以确认我是否有遗漏或在这里做错了吗?

2 个答案:

答案 0 :(得分:1)

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

对以下内容有所帮助:

  1. 查看实际构建错误。
  2. 了解您要恢复的软件包。
  3. 某些软件包(例如我们的软件包)依赖于.targets文件,这些文件在用于软件包还原时具有issues

答案 1 :(得分: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-&gt; Options-&gt; Package Manager中设置。< / p>

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