在某些解决方案中,“删除并排序使用”选项不起作用。 它对Usings进行正确排序,但不会删除任何不必要的。 IDE 正确标记了未使用的,但似乎无法删除它们。 任何地方都不会显示任何错误或消息,它的排序和行为就像已成功完成一样,但不必要的使用仍然存在,并且仍然被 Intellisense 标记为这样。
我已经验证在不同的解决方案中它确实有效,所以它不是我的 VS2019 安装。 而且我没有安装任何可能发生冲突的插件(例如 Resharper)。 还尝试过清理和重建,以防需要无错误的编译才能使用。
对于某个会阻止删除功能的解决方案,有什么不同/特殊的想法吗?
我发现了导致此问题的另一件事。
对我来说,我发现它只发生在解决方案中的 1 个特定项目中。
将非工作 csproj 与工作 csproj 进行比较后,我确定差异在于警告级别。
非工作的设置为1。
将此值重置为默认值 4 可以让“删除和排序使用”功能按预期工作。
我找到了原因,这很烦人!
有一个指定用于项目静态分析的自定义规则集,并且未选择 CS8019 和 IDE0005(不必要的 using 指令)。
选择这些后,删除未使用的 usings 命令再次起作用。
感谢其他答案的建议。
对于某个解决方案可能有什么不同/特别的任何想法 这会阻止删除功能吗?
这是一种很奇怪的行为。您可以尝试以下建议:
1)关闭VS实例,删除
.vs
隐藏文件夹、bin
、obj
文件夹。
2) 清理
C:\Users\xxx\AppData\Local\Microsoft\VisualStudio\16.0_xxxx(every this folder)\ComponentModelCache
下的组件缓存
3)使用devenv /safemode启动VS IDE,打开您的项目,然后再次测试。
4) 如果您的项目是旧项目,意味着项目结构与VS2019有点不同,请尝试创建一个新的vs2019项目,然后将其内容迁移到新项目中。
此外,如果这些都不起作用,您可以尝试此链接的功能,使用
remove unused usings
运行代码清理命令。