Есть ли способ указать MS Build через обычный файл .csproj проекта библиотеки классов включить все файлы кода (т. Е. Все файлы .cs в дереве проекта, включая подпапки), не перечисляя их по отдельности?
Самое близкое решение, которое я могу найти, это Использование подстановочных знаков для определения элементов .
Это пример того, как Visual Studio строит инструкцию для каждого файла в моем проекте библиотеки классов:
<ItemGroup>
<Compile Include="Controllers\HomeController.cs" />
<Compile Include="Controllers\ParticipantController.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Models\ParticipantModel.cs" />
<Compile Include="Models\UserModel.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Utility.cs" />
</ItemGroup>
Проекты другого типа, проекты веб-сайтов, используют механизм, с помощью которого обнаруживаются изменения файлов, и эти файлы перекомпилируются. Концепция компиляции всего, что нужно, - это то, что я собираюсь сделать с проектом библиотеки классов, но без необходимости обнаружения изменений.
Проблема, связанная с Visual Studio:
Я понимаю, что Visual Studio вряд ли соблюдает мое идеальное решение, которое строит файл сборки по одному файлу за раз, поэтому в итоге я бы вручную отредактировал файл сборки.
Есть ли способ заставить Visual Studio хорошо играть с моим идеальным решением?