В проектах "старой школы" 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, но неясно, как применить это к С# в проектах библиотеки .NET Core.