如何强制使用 Newtonsoft.Json 而不是 System.Text.Json.Serialization

How to enforce usage of Newtonsoft.Json over System.Text.Json.Serialization

我陷入了这个问答中描述的陷阱:

我的一些代码使用 System.Text.Json.Serialization.JsonIgnore 而不是 Newtonsoft.Json,可能是因为 ReSharper 建议缺少引用时选择了错误的包:

有没有办法禁用特定属性或命名空间的建议?

有什么方法可以防止在一般情况下引用此命名空间?

除了代码文件中的文本搜索之外。

我最终将以下验证添加到 CI 管道。

! grep --include=\*.cs -rnw . -e "System.Text.Json.Serialization"