W projektach MSBuild „starej szkoły” - nadal używanych na przykład przez Windows Forms w VS2017 - pliki mogą być „zagnieżdżane” za pośrednictwem DependentUpon
elementu w pliku csproj.
Użyłem tego do grupowania testów jednostkowych w czasie Noda, np
<Compile Include="LocalDateTest.PeriodArithmetic.cs">
<DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>
Doprowadziło to do łatwych w nawigacji testów:
Świadomie „straciłem” tę funkcję podczas przechodzenia project.json
na .NET Core, ale miałem nadzieję, że powróci ona podczas konwersji do MSBuild. Wygląda jednak na to, że projekty MSBuild oparte na .NET Core SDK (element główny <Project Sdk="Microsoft.NET.Sdk">
) nie są traktowane w ten sam sposób w programie Visual Studio 2017, nawet jeśli ItemGroup
są dodawane ręcznie z tymi samymi elementami, co projekt „starej szkoły”.
Projekty ASP.NET Core otrzymują automatyczne zagnieżdżanie dla zminimalizowanych CSS i JavaScript, ale nie jest jasne, jak zastosować to do języka C # w projektach bibliotek .NET Core.