Устаревший класс библиотеки
Каков наилучший способ предотвратить использование С# программистом определенного класса библиотеки?
Класс из внешней сборки, поэтому на нем нельзя использовать атрибут [Obsolete]
. Я пытался использовать настраиваемые шаблоны Resharper, но, похоже, не поддерживает типы генериков.
Ответы
Ответ 1
Исправить библиотечный метод/класс (есть несколько плагинов для Reflector) - добавьте DeprecatedAttribute
или измените его код, чтобы, например, создать исключение.
Вы также можете создать специальный unit test, который запускается на сервере CI и сбой, если указано конкретное использование устаревшего элемента.
Ответ 2
Вы можете разобрать библиотеку с помощью ildasm, добавить атрибуты [Obsolete(true)]
и собрать с помощью ilasm.
Возможно, вы найдете инструмент редактирования сборки, например Reflexil вместе с пробной версией Reflector.
Обратите внимание, что если вы редактируете сборку, вы теряете все подписи и прочее.