C# 删除和排序在Visual Studio 2019中不起作用的使用

C# 删除和排序在Visual Studio 2019中不起作用的使用,c#,intellisense,visual-studio-2019,C#,Intellisense,Visual Studio 2019,在某个解决方案中,“删除并使用排序”选项不起作用。 它对using进行正确排序,但不删除任何不必要的using。 IDE正确地标记了未使用的,但似乎无法删除它们。 任何地方都不会显示任何错误或消息,它的排序和行为就像它已成功完成一样,但不必要的使用仍然存在,并且仍然由Intellisense标记 我已经在另一个解决方案中验证了它的有效性,因此它不是我的VS2019安装。 而且我没有安装任何可能发生冲突的插件(如Resharper)。 还尝试了清理和重建,以防需要无错误编译 有什么想法可以不同/特

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

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

有什么想法可以不同/特殊的某个解决方案,将阻止删除功能

有没有关于某个解决方案的不同/特殊之处的想法 这会阻止删除功能吗

这是一种很奇怪的行为。我建议您可以尝试以下建议:

1)关闭VS实例,删除
.VS
隐藏文件夹、
bin
obj
文件夹

2)清理
C:\Users\xxx\AppData\Local\Microsoft\VisualStudio\16.0\u xxxx(每个文件夹)\ComponentModelCache下的vs组件缓存

3)用于启动VS IDE,打开项目,然后再次测试

4)如果您的项目是一个旧项目,这意味着项目结构与VS2019略有不同,请尝试创建一个新的VS2019项目,然后将其内容迁移到新项目中


此外,如果这些都不起作用,您可以尝试此链接的功能来运行代码清理命令,并使用删除未使用的usings

我找到了原因,这是一个令人讨厌的原因

有一个为项目的静态分析指定的自定义规则集,该规则集未选中CS8019和IDE0065(不必要的使用指令)

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


感谢其他答案的建议。

我发现了导致此问题的另一个原因

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

在将不工作的csproj与工作的csproj进行比较后,我确定区别在于警告级别

非工作的设置为1


将其重置为默认值4将允许删除和排序功能按预期工作。

我遇到了相同的问题,并找出了问题所在。在
Tools | Options | Text Editor | C#| Advanced
中查找这些设置:


HTH.

是否有任何条件编译器命令?尝试更改配置。我看不到@T.S.已经尝试过调试和发布配置。具体在哪里?你是指预处理器指令吗?在文件或项目属性中。此外,有时在具体文件定义上的项目文件中可能存在一个条件,即看不到任何自定义内容:(感谢Lance。已经尝试删除.vs文件夹,将把它添加到问题中。现在还尝试清除所有bin/obj文件夹,删除ComponentModelCache和SafeMode。仍然没有乐趣。你说的代码清理命令是什么意思,认为缺少链接。我已经运行了“分析和代码清理”->“运行代码清理”从右键单击project。它会对使用的项进行排序,但不会删除未使用的项。我现在正尝试手动重新创建project,这将是一项艰巨的任务,因为解决方案中有95个项,但如果它有效,至少会有一个变通方法。很高兴知道您的问题是由您自己解决的,因为您有变通方法,我建议您可以标记您的答案,以便对您有所帮助其他社区成员搜索并处理类似的问题。无论如何,祝你愉快!这些设置在哪里?在我的例子中,Shevek的答案对我来说是有效的。感谢分享。不过,有一点小小的更正。IDE0065与名称空间内外的using位置有关。我没有发现它与is问题(IDE0005是不必要使用的规则)。CS8019是我的问题。我最初在大修我的analyzer use for editorconfig时将此报告的严重性设置为“无”,这就是破坏usings删除的原因。我将其设置为“无”,以消除针对生成文件(迁移和设计器)的报告。尝试“静默”答案是这样的。它使用删除进行了修复,并停止了对生成文件的投诉。