如何清除 Visual Studio 的对象浏览器缓存?

How do you clear Visual Studio's object browser cache?

我们有一个正在处理的库项目,在另一个项目中,我将功能分支安装为 Nuget 包。正在分支上进行更改,但版本号未更新,因此 Nuget 包正在更新,但名称相同。

我已经从我的 packages 文件夹中删除了 Nuget 包,所以我知道我正在下载最新的,如果我手动浏览(在对象浏览器中)到我下载到我的 packages 文件夹的 dll,对象浏览器数据看起来正确。

我已经在我的项目中卸载并重新安装了 Nuget 包,我已经关闭了 Visual Studio 2017 的所有实例,但是我安装的 dll 的对象浏览器中仍然存在旧项目通过 Nuget。我期望构建失败,因为我正在引用旧项目,但一切都成功构建,但是当我 运行 应用程序时,我收到 运行 时间错误,因为我在代码中引用旧项目当前下载的 dll 中不再存在。

如果我们不必为每个构建升级版本就好了,尽管我们可以设置 TeamCity 自动执行此操作,但在我们的提要中维护所有额外的 Nuget 包会变得很困难。

所以,除了在 dev Nuget 包上增加版本号之外,有什么方法可以在 Visual Studio 2017 中清除缓存,以便对象浏览器更新以反映包中实际存在的 dll文件夹?

我发现了问题。在我测试库的项目中,我有一个 wpf 项目和一个针对 .Net 标准的库项目。由于我积极从事的项目是 wpf,因此我被划分在解决方案目录中的 packages 文件夹中,忘记了我也在同一解决方案中引用了 .Net 标准,该解决方案从 C:\Users\[username]\.nuget\packages[=13= 中提取 Nuget 包]

由于项目类型,Visual Studio 有两个 Nuget 包位置。一个在 C:\Users\[username]\.nuget\packages,一个在 [solution dir]\packages

我只更新了解决方案目录包,但显然 Visual Studio 2017 支持使用用户目录包,这就是它提取旧 API 信息的地方。从我的用户目录中删除包后,一切都按预期工作。