防止 C# 程序员使用特定库类的最佳方法是什么?
类来自外部程序集,因此不可能[Obsolete]
在其上使用属性。我尝试使用 Resharper 自定义模式,但它似乎不支持泛型类型。
修补库方法/类(Reflector 有几个插件) -DeprecatedAttribute
例如,添加或修改其代码以引发异常。
您还可以进行特殊的单元测试,该测试在 CI 服务器上运行,如果指示特定的已弃用项目使用情况则失败。
您可以使用 ildasm 反汇编库,添加[Obsolete(true)]
属性并使用 ilasm 重新组装。
您也许可以找到一些程序集编辑工具,例如Reflexil以及 Reflector 的试用版。
请注意,如果您编辑程序集,您将丢失所有签名和内容。