2012-10-18 9 views
16

C#プログラマが特定のライブラリクラスを使用しないようにする最良の方法は何ですか?それで[Obsolete]属性を使用することは不可能であるので、廃止されたライブラリクラス

クラスは、外部のアセンブリからです。 Resharperカスタムパターンを使用しようとしましたが、ジェネリック型をサポートしていないようです。

+8

完全に削除しますか? –

+0

ライブラリには、プロジェクトで使用される他のクラスはほとんどありません。ライブラリはサードパーティ製です。 –

+0

ああ、ライブラリのコードはありませんか? –

答えて

2

ライブラリメソッド/クラス(リフレクタにはいくつかのプラグインがあります)を追加 - DeprecatedAttributeを追加するか、例外をスローするようにコードを修正します。

また、CIサーバで実行される特別な単体テストを作成することもできます。特定の廃止予定アイテムの使用が示されている場合は失敗します。

+0

私は単体テストの代わりに "コード分析"と言っていたと思います。単体テストは機能性のためのものですが、コード分析はコード自体に規則を適用することです。これはおそらくカスタムコード分析ルールが有用な場合があるインスタンスです。 –

1

あなたは、ILDASMでライブラリを分解[Obsolete(true)]属性を追加し、ILASMで組み立て直すことができます。

あなたはリフレクターの裁判と一緒Reflexilのように、いくつかのアセンブリ編集ツールを見つけることができるかもしれません。

アセンブリを編集すると、すべての署名と処理が緩くなることに注意してください。

関連する問題