как искать в структуре каталогов и получать имя файла .sln, используя MSBuild - PullRequest
2 голосов
/ 02 ноября 2011

Я настраиваю среду сборки для нескольких проектов.Каждый проект имеет более одного решения.Мне нужно построить все решения, которые попадут в разные папки в корневом каталоге.Рычаг папки с файлами решения находится в корневом каталоге и может отличаться.То есть файл решений может быть встроен в папку, которая, в свою очередь, может находиться в другой папке и так далее.Как я могу выполнить поиск в структуре корневого каталога и получить список всех имен файлов решений (.sln) и его пути, используя MSBuild, чтобы я мог построить эти решения?

Аналогично мне пришлось бы искатьи получить список всех dll и exe, сгенерированных из сборки, чтобы я мог выполнить статический анализ кода на них.Я ищу способ поиска и получения списка сборок и пути их файлов.

1 Ответ

3 голосов
/ 03 ноября 2011

Это найдет и сообщит обо всех файлах решения ниже папки файла, в котором это размещено:

<Target Name="FindSolutions">
   <ItemGroup>
      <SolutionFile Include="$(MSBuildThisFileDirectory)\**\*.sln" />
   </ItemGroup>
   <Message Text="Found '%(SolutionFile.Identity)'" />
</Target>

Ключ **, который рекурсивно соответствует всем папкам.

...