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

时间:2016-01-29 09:56:57

标签: roslyn

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

How to clear NuGet package cache using command line?