Ответ 1
Resharper сделает это за вас, и вы можете настроить его в опции "Чистый код", в которой вы можете запускать решение в широком диапазоне; o )
В больших и/или долгосрочных проектах я склонен ссылаться на многие сборки и пространства имен, и часто я в конечном итоге удаляю некоторые функции позже или перемещая их в другой проект.
Мне просто интересно, есть ли способ проверить каждый проект (heck, каждый .cs файл) во всем моем решении Visual Studio и получить список всех ссылочных ассемблерных и пространств имен, которые фактически не используются и могут быть безопасно удалены? Я знаю, что ReSharper может сделать это для одного файла кода, но я не видел возможности проверять все файлы или проверять ненужные сборки.
Используя Visual Studio 2005 и 2008 Professional, если это имеет значение.
Изменить: Спасибо. Проблема с ReSharper или "Remove and Readd if build breaks" заключается в том, что она довольно утомительна для каждого отдельного файла и сборки (у моего проекта имеется около 120 файлов .cs в 7 сборках и ссылки на 18 сборок за пределами решения) поэтому идеально я ищу что-то "одним кликом". Большие бонусные точки для некоторого автоматического способа, который можно использовать в buildscripts для создания отчета:)
Resharper сделает это за вас, и вы можете настроить его в опции "Чистый код", в которой вы можете запускать решение в широком диапазоне; o )
Если у вас есть ReSharper, выберите решение, щелкните правой кнопкой мыши и выберите код очистки. Затем Resharper просматривает каждый файл кода в решении.
Что касается удаления ссылок на проект, то при запуске компилятора он не добавит ссылку, если никакой код не использует эту DLL.
Если у вас установлен ReSharper, то из Обозревателя решений вы можете щелкнуть правой кнопкой мыши ссылку и нажать Найти зависимый код. Если он возвращается с диалогом результатов, вы используете эту ссылку/сборку. Если вы получите сообщение "Код зависит от имени модуля модуля не найден". Тогда вы должны быть в порядке, чтобы удалить эту ссылку/сборку, потому что она не используется.
Я нашел этот вопрос во время поиска в Google и искал способ удалить неиспользуемые инструкции "Использование" из моего кода.
Рефактор замечательный, но он недоступен для меня. Однако, как выясняется, Visual Studio 2008 делает это самостоятельно.
Вот шаги:
Готово. Я понимаю, что это не отвечает на исходный вопрос (так много для всего проекта), но он отвечает на мой вопрос.
(Перекрестная ссылка из здесь) Учитывая, что VisualStudio (или это msbuild?) Обнаруживает неиспользуемые ссылки и не включает их в выходной файл, вы можете написать script, который анализирует ссылки из csproj и сравнивает это с ссылочными ассемблиями, обнаруженными отражением на выходе проекта.
Если вы мотивированы...
Как уже упоминалось в предыдущих ответах, Resharper хорошо работает для этого, а также множество других случаев, таких как способы сделать чистить код и генерировать определенные вещи для вас. Лучший способ узнать все преимущества Resharper - загрузить пробную версию, распечатать Keymap Cheatsheet и приклеить ее рядом с вами, где вы развиваетесь в.
Короче говоря, он решает эту проблему, но это чертовски много больше, чем просто.
Удаление неиспользуемых ссылок - это функция, которая уже поддерживает Visual Studio 2008. К сожалению, только для проектов VB.NET.
Я открыл предложение Microsoft Connect для получения этой функции для проектов С#:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326
Если вам нравится эта функция, тогда вы можете проголосовать за мое предложение.
Да, я не думаю, что он есть. Я просто удаляю некоторые из них, я не думаю, что они нужны, а затем выполните:/
BTW. которые будут продолжать использовать ошибки. Вы можете использовать команды Visual Studio Power для удаления и сортировки сообщений, так что сделайте это сначала, а затем удалите случайные сборки: D
Любой хороший профилировщик кода сделает это за вас. Мне нравится DevPartner лично.
Он не избавится от каких-либо ссылок в коде на ваши ссылочные сборки (я думаю), но вы можете перейти к свойствам каждого из ваших проектов, получить ссылку и нажать "Неиспользуемые ссылки...". Затем Visual Studio дает вам возможность удалить их прямо там.
Невозможно сделать это на уровне решения.