2013-08-13 5 views
2

У меня есть файл в репозитории исходного кода TFS. Я пытаюсь найти программно, к какому проекту принадлежит этот файл, а затем какие другие проекты \ решения полагаются на результат этого проекта..cs файлы, проекты и решения

Как я мог это сделать?

+1

** Вопросы, предлагающие нам рекомендовать или находить инструмент, библиотеку или любимый ресурс вне сайта, не относятся к теме для переполнения стека ** –

+0

Хорошо, я отредактировал вопрос соответствующим образом. – Dunc

ответ

0

Файлы csproj - это файлы на основе Xml, поэтому вы можете просто открыть файл, обработать Xml и выполнить поиск файла. Для файлов вы можете найти, включен ли файл в проект, ища в нем тег ItemGroup и в пределах ItemGroup тег Compile, если файл предназначен для компиляции, если не поиск в пределах GroupItemNone или другой в соответствии с файл Природе

для поиска для ссылочных проектов, которые вы должны искать в GroupItem теги о ProjectReference Tag

Существует другие полезные теги, как Материалы для ресурсов, None ... и т.д..

Предлагаю вам открыть csproj в блокноте ++ и посмотреть, что вы можете найти, это довольно просто.

2

proj файлы являются файлами XML, если вы их разбираете, вы найдете все файлы проекта под ItemGroup. Вы можете найти несколько элементов ItemGroup. У некоторых есть дети типа Compile, Contents ... и т. Д. Поэтому я предлагаю вам проверить пару из них, чтобы иметь представление о том, о чем я говорю. CS файлы скорее всего, будет под Compile

Для ваших зависимостей проекта, я никогда не делал этого раньше, но если зависимости объявлены в своем решении, то в каждом проекте вы должны найти ProjectReference для других проектов это зависит от.

В заключение вам нужно проанализировать файлы проекта XML, а затем запросить исходные файлы и зависимости проекта.

Смежные вопросы