В VS2008, для C#, Как я могу выяснить, какие ссылки необходимы, а какие нет? Если вы посмотрите в проводнике решений для определенного проекта и развернете папку с ссылками, есть ли способ рассказать те, которые никогда не вызываются? Будет ли это определено во время компиляции и просто не включено?В VS2008, для C#, Как я могу выяснить, какие ссылки необходимы, а какие нет?
ответ
Похож на Resharper is it. Однако я не стал бы слишком беспокоиться об этом, так как неиспользуемые сборки - ignored by the compiler.
Если они не нужны, компилятор не добавит их в манифест сборки, так что это не действительно больно иметь их там.
Если вы хотите быть обсессивно-компульсивным (например, я часто бываю :), тогда вы можете просто удалить его, перестроить и если есть ошибка, добавьте его обратно. Если ошибок нет, перейдите к следующему. Недостатком этого является то, что если вы удалите ссылку, которую вы не используете , теперь, но вы хотите использовать ее позже, вы должны помнить, какие классы находятся в сборке (например, если вы удаляете System.Core
, тогда вам нужно помнить что System.Linq
вещи есть, если вы когда-нибудь решите использовать его позже)
Reflector на помощь еще раз!
- File> Open> Ваша сборка
- Щелкните правой кнопкой мыши узел в левой панели и выберите Анализ
- На правой панели разверните зависит от
Это создаст список все из них, от которых он зависит, и все их зависимости, вплоть до черепах.
Стефан Brenner создал небольшой инструмент, чтобы сделать это (http://www.stephan-brenner.com/?p=56) и Если вы хотите, чтобы создать решение для проверки того, что в коде есть старая запись в MSDN (http://msdn.microsoft.com/en-us/magazine/cc163641.aspx), который делает это. Я надеюсь, это поможет вам.
Я делаю то же самое, потому что я навязчиво-компульсивно об этом. Мне не нравятся дополнительные ссылки, потому что другие могут подумать, что они являются необходимыми ссылками. Если я включаю ссылку, которая не нужна, я добавляю readme.text в корневую папку проекта и объясняю, почему я сохранил ссылку. – AMissico
Кроме того, ссылки на сторонние библиотеки всегда включают эти библиотеки в выходную папку, поэтому я всегда удаляю те, которые не используются. – AMissico