我在我的解决方案中添加了一个NuGet包,并在解决方案上启用了包恢复。这正确地创建了带有目标文件等的.nuget文件夹。
NuGet包实际上是另一个在解决方案中成为依赖项的项目。最初我手动将此包添加到解决方案中。
要测试此NuGet功能,我删除了packages文件夹下的文件夹。
那时我明显得到编译器错误,因为其他依赖项目依赖于刚刚删除的项目。
当我构建解决方案时,我希望NuGet去下载它需要的NuGet包,这是设置为启用包恢复,然后成功构建,因为所有其他相关项目现在都可以构建。
但是,我没有看到NuGet包在输出中被下载的证据,并且构建错误仍然与未下载项目的情况相同。
任何人都可以确认我是否有遗漏或在这里做错了吗?
答案 0 :(得分:1)
据我所知,删除packages
文件夹下的软件包应该由NuGet的软件包恢复功能恢复。
对以下内容有所帮助:
某些软件包(例如我们的软件包)依赖于.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-restore和http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore