У меня есть файл в репозитории исходного кода TFS. Я пытаюсь найти программно, к какому проекту принадлежит этот файл, а затем какие другие проекты \ решения полагаются на результат этого проекта..cs файлы, проекты и решения
Как я мог это сделать?
У меня есть файл в репозитории исходного кода TFS. Я пытаюсь найти программно, к какому проекту принадлежит этот файл, а затем какие другие проекты \ решения полагаются на результат этого проекта..cs файлы, проекты и решения
Как я мог это сделать?
Файлы csproj
- это файлы на основе Xml, поэтому вы можете просто открыть файл, обработать Xml и выполнить поиск файла. Для файлов вы можете найти, включен ли файл в проект, ища в нем тег ItemGroup
и в пределах ItemGroup
тег Compile
, если файл предназначен для компиляции, если не поиск в пределах GroupItem
None
или другой в соответствии с файл Природе
для поиска для ссылочных проектов, которые вы должны искать в GroupItem
теги о ProjectReference
Tag
Существует другие полезные теги, как Материалы для ресурсов, None ... и т.д..
Предлагаю вам открыть csproj
в блокноте ++ и посмотреть, что вы можете найти, это довольно просто.
proj файлы являются файлами XML, если вы их разбираете, вы найдете все файлы проекта под ItemGroup
. Вы можете найти несколько элементов ItemGroup
. У некоторых есть дети типа Compile
, Contents
... и т. Д. Поэтому я предлагаю вам проверить пару из них, чтобы иметь представление о том, о чем я говорю. CS файлы скорее всего, будет под Compile
Для ваших зависимостей проекта, я никогда не делал этого раньше, но если зависимости объявлены в своем решении, то в каждом проекте вы должны найти ProjectReference
для других проектов это зависит от.
В заключение вам нужно проанализировать файлы проекта XML, а затем запросить исходные файлы и зависимости проекта.
** Вопросы, предлагающие нам рекомендовать или находить инструмент, библиотеку или любимый ресурс вне сайта, не относятся к теме для переполнения стека ** –
Хорошо, я отредактировал вопрос соответствующим образом. – Dunc