Dans les projets MSBuild "de la vieille école" - tels qu'ils sont encore utilisés par Windows Forms dans VS2017 par exemple - les fichiers pouvaient être "imbriqués" via une balise DependentUpon
dans le fichier csproj.
Je l'ai utilisé pour regrouper les tests unitaires dans Noda Time, par ex.
<Compile Include="LocalDateTest.PeriodArithmetic.cs">
<DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>
Cela a conduit à des tests faciles à réaliser :
J'ai sciemment "perdu" cette fonctionnalité lorsque j'ai déménagé vers project.json
pour .NET Core, mais j'avais espéré qu'il reviendrait lors de la conversion à MSBuild. Cependant, il semble que les projets MSBuild basés sur le SDK .NET Core (élément racine <Project Sdk="Microsoft.NET.Sdk">
) ne bénéficient pas du même traitement dans Visual Studio 2017, même si un fichier ItemGroup
est ajouté manuellement avec les mêmes éléments que le projet "old school".
Les projets ASP.NET Core bénéficient d'une imbrication automatique pour les feuilles de style en cascade (CSS) et le langage Javascript, mais la façon d'appliquer cela à C# dans les projets de bibliothèques .NET Core n'est pas claire.