Nei progetti MSBuild "vecchia scuola", come ancora utilizzati da Windows Form in VS2017, ad esempio, i file potevano essere "annidati" tramite un DependentUpon
elemento nel file csproj.
L'ho usato per raggruppare unit test insieme in Noda Time, ad es
<Compile Include="LocalDateTest.PeriodArithmetic.cs">
<DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>
Ciò ha portato a test facilmente navigabili:
Ho consapevolmente "perso" questa funzionalità quando sono passato a project.json
.NET Core, ma speravo che sarebbe tornata durante la conversione in MSBuild. Tuttavia, sembra che i progetti MSBuild basati su .NET Core SDK (elemento radice <Project Sdk="Microsoft.NET.Sdk">
) non ottengano lo stesso trattamento in Visual Studio 2017, anche se ItemGroup
viene aggiunto manualmente con gli stessi elementi del progetto "vecchia scuola".
I progetti ASP.NET Core ricevono l'annidamento automatico per CSS e Javascript minimizzati, ma non è chiaro come applicarlo a C # nei progetti di libreria .NET Core.