Почему невозможно удалить неиспользуемые ссылки в C # - PullRequest
7 голосов
/ 18 февраля 2011

Существует ли какая-либо причина, по которой в Visual Studio невозможно удалить неиспользуемые ссылки (на проекты и сборки) в проектах C # и C ++, хотя это можно сделать из проекта Visual Basic ( см. Здесь )?

Я знаю, что вы можете сделать это с другими инструментами, такими как Resharper , мне просто интересно, была ли какая-то техническая причина для того, чтобы не делать это в проектах C # и C ++?Или Microsoft просто выбрала , чтобы она работала таким образом.Вроде бы очень полезная функция.

Ответы [ 3 ]

10 голосов
/ 18 февраля 2011

Обратите внимание, что компилятор автоматически удалит все неиспользуемые ссылки из сборки, поэтому на уровне метаданных это избыточно. Тогда это просто становится проблемой IDE / tooling. Это было бы невозможно? нет (хотя очевидно, что для обеспечения его развертывания необходимо оставить все, что помечено как локальное для копирования). Следовательно, мы можем предположить, что это просто «время для реализации против утилиты» (по сравнению с другими более полезными вещами, которые можно сделать).

Я уверен, что вы могли бы написать расширение IDE для него, если хотите; p

1 голос
/ 21 февраля 2011

Я нашел это предложение в Microsoft Connect.Похоже, Microsoft на самом деле думает, что это хорошая идея, но просто не было «времени» (читай: приоритет) для ее реализации.Жаль!

0 голосов
/ 18 февраля 2011

Эта функция доступна для VB (через кнопку «Неиспользуемые ссылки» на странице свойств «Ссылки»). Но в случае с CSharp, например, пользователь может добавить ссылку на сборку, чтобы ее скопировали в выходной каталог. Они могут использовать сборку с помощью отражения вместо компиляции против нее - в таких случаях VS не может обнаружить, что такая сборка «используется». Поэтому разработка такого алгоритма не на 100% успешна. Но флаг - это опция, которая помечает сборку как «неиспользованную» (однако у пользователя все равно будет выбор, удалять ли сборку из списка ссылок).

Удаление неиспользуемых пространств имен может немного помочь в этом направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...