En los proyectos de MSBuild de la "vieja escuela", como todavía lo usan Windows Forms en VS2017, por ejemplo, los archivos se pueden "anidar" a través de un DependentUpon
elemento en el archivo csproj.
Usé esto para agrupar las pruebas unitarias en Noda Time, por ejemplo
<Compile Include="LocalDateTest.PeriodArithmetic.cs">
<DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>
Eso llevó a pruebas de fácil navegación:
"Perdí" a sabiendas esta característica al pasar a project.json
.NET Core, pero esperaba que volviera al convertir a MSBuild. Sin embargo, parece que los proyectos de MSBuild basados en .NET Core SDK (elemento raíz <Project Sdk="Microsoft.NET.Sdk">
) no reciben el mismo tratamiento en Visual Studio 2017, incluso si ItemGroup
se agrega manualmente con los mismos elementos que el proyecto de la "vieja escuela".
Los proyectos ASP.NET Core reciben anidación automática para CSS y Javascript minificados, pero no está claro cómo aplicar eso a C # en proyectos de biblioteca .NET Core.