如何使用 roslyn 获取未使用的引用?

How to get unused references using roslyn?

我有数百个项目,我想使用 roslyn 从每个项目中删除未使用的引用。 我看到了这个 https://github.com/dotnet/roslyn/issues/625 但我不知道它是否已经实现并且是否有一个我可以开始的 poc 示例。

如果您知道如何执行此操作,请帮助我。

我通过注册编译操作来做到这一点,该操作简单地检查项目中的所有源代码树,找到它们引用的所有符号并考虑声明它们的程序集已使用,因此项目引用的所有其他内容都未使用。这是分析器:https://github.com/HellBrick/HellBrick.Diagnostics/blob/ff0b3a415475eda3d2e9927a2ab4638ada5d7148/src/HellBrick.Diagnostics/UnusedReferences/UnusedReferencesAnalyzer.cs

不确定这是否是最干净、最正确的方法,但它似乎完成了工作。