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

时间:2018-12-19 15:14:47

标签: visual-studio visual-studio-2017 nuget objectbrowser

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

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

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

虽然我们可以设置TeamCity自动执行该操作,但是不必每次构建都增加版本,这会很好,但是要在Feed中维护所有额外的Nuget包将变得困难。

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

1 个答案:

答案 0 :(得分:0)

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

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

我仅更新了解决方案目录软件包,但显然Visual Studio 2017赞成使用用户目录软件包,这就是它提取旧API信息的地方。从我的用户目录中删除该程序包后,一切正常。