分析器工作但潜在的代码修复消失

Cat*_*hal 6 roslyn

我创建了几个诊断分析器和代码修复程序.它们都按预期在实验蜂巢中工作.

我将它们构建为一个Nuget包,并添加到正常实例中的项目中VS2015.奇怪的是,其中一个分析器/代码修复组合工作正常,但对于另一个,只有分析器工作,并且没有建议代码修复(如上所述,它确实在实验配置单元中工作).

我的问题是,我该如何分析这个问题?ActivityLog.xml中没有任何内容.还有其他人观察过这种行为吗?

更新:我在正常实例中使用vsix VS扩展进行了测试,并且代码修复正确显示.我关闭了该文件并重新打开,代码修复程序不再可用.无论我关闭并重新打开文件多少次,代码修复都不会回来.但后来我打开另一个包含不同诊断和代码修复的文件,这样就可以启动其他代码修复,因为我可以通过这样做可靠地获得代码修复!

这可能听起来很荒谬,但我想我已经与其他第三方分析仪观察到了这一点.也许我的VS安装有问题?

Gör*_*zer 0

当我为 Roslyn 分析器和代码修复提供程序开发 Nuget 包时,我遇到了类似的尴尬问题。当我更新代码并将软件包安装到项目中时,旧软件包正在运行,而不是新软件包。当我关闭并重新打开 Visual Studio 时,新的 Nuget 包正在运行。

我不确定,但我猜想 Visual Studio 中有一个针对 Nuget 包的缓存机制。我没有尝试以下方法,但它可能有助于解决您的问题。

如何使用命令行清除NuGet包缓存?