У "старих" проектах MSBuild - як і раніше, наприклад, у Windows Forms у VS2017 - файли можуть бути "вкладені" через DependentUpon
елемент у файлі csproj.
Я використовував це для групування модульних тестів разом у Noda Time, наприклад
<Compile Include="LocalDateTest.PeriodArithmetic.cs">
<DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>
Це призвело до легко переміщуваних тестів:
Я свідомо "загубив" цю функцію під час переходу на project.json
.NET Core, але сподівався, що вона повернеться при перетворенні на MSBuild. Однак схоже, що проекти MSBuild, засновані на .NET Core SDK (кореневий елемент <Project Sdk="Microsoft.NET.Sdk">
), не отримують однакової обробки у Visual Studio 2017, навіть якщо ItemGroup
додано вручну з тими ж елементами, що і проект "старої школи".
Проекти ASP.NET Core отримують автоматичне вкладання для мінімізованих CSS та Javascript, але незрозуміло, як застосувати це до C # у проектах бібліотеки .NET Core.