Поскольку я пока не смог найти решение simple и fast , я нашел, по крайней мере, решение, которое позволяет мне получить искомый результат, даже если он занимает некоторое время (идеально для ленивого воскресного дня).
Решение включает в себя Visual Studio .NET 2010 и ReSharper (я использую версию 7.1) и работает следующим образом.
Пошаговое решение
1.) Щелкните правой кнопкой мыши основной файл RESX в VS.NET и выберите «Найти использование» в контекстном меню:
Откроется окно ReSharper «Find Results».
2.) Дважды щелкните каждое вхождение в окне решения:
Откроется окно исходного кода с ресурсом.
3.) Переименуйте этот ресурс в окне исходного кода:
Откроется диалоговое окно ReSharper «Rename Resource».
4.) Дайте ресурсу новое имя с уникальным префиксом . В моем примере это «TaskDialog _»:
Он будет переименовывать как ресурс, так и автоматически сгенерированный C # -обертку / класс доступа.
5.) Повторите вышеуказанные шаги 2, 3 и 4 для всех ресурсов в окне «Использование».
6.) Откройте файл RESX в редакторе ресурсов Visual Studio и выберите все файлы без префикса:
7.) Теперь нажмите кнопку «Удалить ресурс» в верхней части окна или просто нажмите клавишу Del :
Наконец-то у вас есть файл RESX, в котором содержатся только ресурсы, используемые в действительности.
8.) (Опционально) Если у вас есть ресурсы на нескольких языках (например, «Resources.de.resx» для немецкого), повторите шаги 7 и 8 для этих файлов RESX.
Внимание
Обратите внимание, что это не будет работать, если вы обращаетесь к своим строкам, кроме как через строго типизированный, автоматически сгенерированный класс C # Resources
.