Visual studio 2015 Visual Studio未下载NuGet包的DLL

Visual studio 2015 Visual Studio未下载NuGet包的DLL,visual-studio-2015,nuget,Visual Studio 2015,Nuget,我们在本地TeamCity服务器上有一些NuGet包,并在各种项目中使用这些包。我刚度假回来,从源代码中获取了最新的代码,并试图重新构建,但由于缺少DLL,结果导致了一堆编译错误 我们的一个软件包的DLL似乎不是从NuGet下载的。我尝试启动一个新的WPF项目,并添加了三个包。这三个文件都显示在packages.config文件中,但其中只有两个下载了DLL。第三个只下载了*.pdb文件 团队中没有其他人有这个问题,我在我的备用机器上尝试了它,它下载得很好,所以我的机器、Visual Studi

我们在本地TeamCity服务器上有一些NuGet包,并在各种项目中使用这些包。我刚度假回来,从源代码中获取了最新的代码,并试图重新构建,但由于缺少DLL,结果导致了一堆编译错误

我们的一个软件包的DLL似乎不是从NuGet下载的。我尝试启动一个新的WPF项目,并添加了三个包。这三个文件都显示在packages.config文件中,但其中只有两个下载了DLL。第三个只下载了*.pdb文件

团队中没有其他人有这个问题,我在我的备用机器上尝试了它,它下载得很好,所以我的机器、Visual Studio或NuGet安装似乎有问题。然而,由于我可以毫无问题地从同一个源抓取其他包,因此VS或NuGet看起来都不是一个全局问题

我知道没什么好谈的,但我不知道还能告诉你什么。如果有人能提出任何建议,我将不胜感激。由于包的来源是我们自己的,很遗憾,我不能分享


我正在使用Visual Studio Enterprise 2015 Update 3(build 14.0.25424.00),该版本在Windows 10 Pro 64位(版本1607,build 14393.105)上具有NuGet package manager版本3.4.4.1321。如果还有什么我可以补充的,请让我知道。

将此作为答案发布,以便其他人可以找到它,即使您似乎已经找到了答案。我经历过这个问题,所以要理解你的问题

首先关闭Visual Studio的所有实例。当在VS之外做任何会影响VS思考的事情时,这通常是一个好主意

如您所见,您需要使用nuget的命令行版本来清除缓存。你的第一个问题是找到这个,因为它并不明显。您的第二个问题(如果您搜索它)是,您会发现它们的负载,每个解决方案的.nuget文件夹中都有一个

解决这个问题的最简单方法是从他们的网站上下载。将它保存在远离任何项目的地方,以防您再次需要它

此时,您将无法运行命令来清除缓存,因为您需要首先升级nuget本身。我同意这看起来很奇怪,因为你刚刚下载了最新的,但是你需要做以下事情

nuget update -self
一旦你这样做了,你就可以像jessehouwing提到的那样清除你的缓存

nuget.exe locals all -clear
当您下次启动VisualStudio时,您应该会发现所有的工作都与预期的一样。您可能需要卸载并重新安装软件包以使其全部正常工作,但在清除缓存后,应该可以正常工作


希望一切都清楚。

为了搜索者的利益(因为这让我有些沮丧)

当我移动到一台新机器(Windows10)时,我遇到了类似的问题,Nuget(在我的旧Win10机器上很好)会关闭除DLL之外的所有东西

解决方案

  • 转到“开始”菜单并键入“允许应用程序通过windows防火墙”
  • 单击“更改设置”,然后单击“允许其他应用”
  • 输入您的Visual studio位置(例如,对于VS 2017-C:\Program Files(x86)\Microsoft Visual studio\2017\Community\Common7\IDE,然后单击devenv.exe)
  • 为了确定,我检查了私人和公共网络
  • 已删除“包”文件夹
  • 包还原或重建项目

  • 这个给我修好了。希望它也能帮助其他人。

    转到
    .NET CLI
    并粘贴以下内容:

    dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design --version 3.1.3>
    

    这类事情确实让我们程序员感到沮丧。不是编码,只是搞乱了在一台电脑上运行的东西,而不是另一台

    坦率地说,这种情况太频繁了

    无论如何,我想我应该共享一个小的滑动面板,其中有一个复选框,它为我解决了这个问题

    我在一些软件包的参考资料上看到了黄色的小星号图标

    发布更新包-重新安装失败,因为这些包依赖于其他包

    进入nuget菜单,我看到一个“选项”滑块。点击它

    现在你可以看到这样的情况:

    现在检查是否允许强制重新安装有问题的软件包


    顺便说一句,在新机器上开始开发时,我已经花了几个小时来解决这个问题(这不是第一次出现同样的问题)。

    尝试清除本地包缓存:
    nuget.exe locals all-clear
    @jessehouwing我收到一个错误“未知命令‘locals’”-有什么想法吗?我在我的解决方案的.nugget文件夹中打开了一个命令提示符来运行这个。Thanks@jessehouwing另外,我尝试的新WPF项目没有.nuget文件夹,因此如何为该解决方案运行nugget.exe?感谢您再次从下载最新版本的nuget.exe:啊,看来您需要在运行命令之前更新nuget.exe本身。请参阅和来自ajbeaven的评论以了解详细信息感谢发布此消息另一件要检查的事情-确保您下载的NuGet软件包的目标是与您的项目相同版本的.NET。我有一个目标为4.7.1的项目,我的NuGet软件包目标为4.7.2。即使安装成功,DLL也不会被引用。此外,我还必须从解决方案中的
    packages/
    文件夹中删除这些软件包。您也可以通过单击“工具”菜单>“NuGet软件包管理器”在Visual Studio中清除缓存包管理器设置。单击“清除所有NuGet缓存”按钮。点击“确定”按钮。谢谢您,先生。我也有同样的问题。