删除和排序使用在 Visual Studio 2019 年不起作用

Remove and Sort Usings not working in Visual Studio 2019

在某些解决方案中,"Remove and Sort Usings" 选项不起作用。 它正确地对 Usings 进行排序,但不会删除任何不必要的。 IDE 正确标记了未使用的,但似乎无法删除它们。 任何地方都不会显示任何错误或消息,它的排序和行为就像它已成功完成一样,但不必要的使用仍然存在,并且仍然被 Intellisense 标记为这样。

我已经验证在不同的解决方案中它确实有效,所以它不是我的 VS2019 安装。 而且我没有安装任何可能发生冲突的插件(如 Resharper)。 还尝试了清理和重建,以防需要无错误编译才能使用。

有什么想法可以 different/special 关于阻止删除功能的特定解决方案吗?

Any ideas what could be different/special about a certain solution that would prevent the remove functionality?

这是一个很奇怪的行为。您可以尝试这些建议:

1)关闭VS实例,删除.vs隐藏文件夹,binobj文件夹。

2) 清理 vs C:\Users\xxx\AppData\Local\Microsoft\VisualStudio.0_xxxx(every this folder)\ComponentModelCache

下的组件缓存

3)使用devenv /safemode启动VSIDE,打开你的工程再测试

4)如果你的项目是旧项目,意味着项目结构与VS2019有点不同,请尝试创建一个新的vs2019项目,然后迁移它的内容进入新项目。

另外,如果这些都不行,你可以试试这个link的功能到运行 Code Cleanup command with remove unused usings.

我找到了原因,这很烦人!

为项目的静态分析指定了一个自定义规则集,并且未选择 CS8019 和 IDE0065(不必要的使用指令)。

选择这些后,删除未使用的 usings 命令再次起作用。

感谢其他回答的建议。

我发现了导致此问题的另一件事。

对我来说,我发现它只发生在解决方案的 1 个特定项目中。

将非工作 csproj 与工作 csproj 进行比较后,我确定差异是警告级别。

非工作的设置为 1。

将此重置为默认值 4 可使 Remove and Sort Usings 功能按预期工作。

我遇到了同样的问题并弄清楚出了什么问题。在您的 Tools|Options|Text Editor|C#|Advanced 中查找这些设置:

HTH.