Формат проекта SDK: Включите все каталоги и дочерние каталоги, начинающиеся с '.' - PullRequest
0 голосов
/ 20 декабря 2018

Мы используем каталоги в проектах Visual Studio для организации кода, который функционально принадлежит друг к другу, и кода, который находится в отдельном пространстве имен.

У нас есть соглашение для добавления "."на имя каталога, если каталог «открывает» новое пространство имен.Это удобно, потому что эти каталоги перечислены первыми.После этого каталоги без "."префикс будет указан рядом с файлами кода, которые просто лежат вокруг.ReSharper в порядке с префиксом "."в том смысле, что он может предложить правильное пространство имен - если оно будет неправильным.

Теперь мы прилагаем некоторые усилия для перехода на новый, скудный формат проекта SDK.Это включает все файлы, которые он находит в проекте, но, к сожалению, он пропускает все каталоги, начинающиеся с "."это разумно (каталог .vs действительно не имеет смысла включать в проект).

Теперь я могу добавить все наши каталоги с "." вручную, что отчасти противоречит концепцииформат Lean-проекта (оказывается, даже если я сделаю «включить в проект» в каталоге в Visual Studio, файл проекта содержит <Compile Include="..." /> для каждого отдельного файла, в котором существует каталог, поэтому файлы, добавленные в каталог, впоследствии не будут включеныв проекте автоматически).

Есть ли способ предоставить шаблон вместо аналогичного <Compile Include="**\.*\" /> для включения всех каталогов, начинающихся с "."в любой иерархической глубине каталога?Есть ли другой, лучший подход?

Мы экспериментировали также с другими символами вместо ".", Но ReSharper не может справиться ни с чем, кроме точки.

1 Ответ

0 голосов
/ 27 декабря 2018

Следующие три строки помогли мне:

<ItemGroup>
  <Compile Include="Sources\**\.*\**\*.cs" />
</ItemGroup>
...