Nuget包在那里,但缺少参考

问题描述 投票:36回答:3

在TFS中进行分支后,VS2015 Update 2缺少对所有Nuget软件包的引用。包还原说“已安装packages.config中列出的所有包”。

我可以手动添加对\ packages文件夹中所有软件包的引用,但为什么VS还没有在那里检查?

visual-studio-2015 nuget
3个回答
73
投票

您需要在程序包管理器控制台中使用NuGet命令行:

Update-Package -reinstall

强制将包引用重新安装到项目中。

NuGet Restore仅恢复packages目录(\ packages文件夹)中的文件,但不会恢复项目中的文件或以其他方式修改项目。例如,如果某个包在项目中添加了一些引用DLL或其他文件,那么如果删除这些文件中的任何一个,则在还原此包时不会重新添加它们。这可能导致您的项目在构建时无法找到缺少的依赖项。

因此,使用“Update-Package -reinstall”命令强制将包引用和内容文件重新安装到项目中。


2
投票

正如Shivam(https://stackoverflow.com/a/46763556/1034160)为VS2013所发现的,我在VS2017中的解决方案是从以下选项中清除Nuget缓存:选项 - > NugetPackageManager - >清除所有NuGet缓存(s)


2
投票

这对我有用:

  • 从解决方案中卸载项目
  • 编辑csproj文件并从csproj文件(ItemGroup)中删除nuggets条目。
  • 重新加载项目
© www.soinside.com 2019 - 2024. All rights reserved.