dirs.proj (25 lines of code) (raw):

<Project Sdk="Microsoft.Build.Traversal"> <ItemGroup> <!-- Build Avalonia.Build.Tasks first because everything depends on it --> <ProjectReference Include="src/Avalonia.Build.Tasks/Avalonia.Build.Tasks.csproj" /> <ProjectReference Include="src/**/*.*proj" /> <ProjectReference Condition="'$(SkipBuildingSamples)' != 'True'" Include="samples/**/*.*proj" /> <ProjectReference Condition="'$(SkipBuildingTests)' != 'True'" Include="tests/**/*.*proj" Exclude="tests/BuildTests/**" /> <ProjectReference Include="packages/**/*.*proj" /> <ProjectReference Remove="**/*.shproj" /> <!-- Exclude iOS, Android and Browser samples from build --> <ProjectReference Remove="samples/*.iOS/*.csproj" /> <ProjectReference Remove="samples/*.tvOS/*.csproj" /> <ProjectReference Remove="samples/*.MacCatalyst/*.csproj" /> <ProjectReference Remove="samples/*.Android/*.csproj" /> <ProjectReference Remove="samples/*.Browser/*.csproj" /> <ProjectReference Remove="samples/*.Blazor/*.csproj" /> <ProjectReference Remove="samples/SingleProjectSandbox/*.csproj" /> <ProjectReference Remove="samples/ControlCatalog.Desktop/*.*proj" /> </ItemGroup> <ItemGroup Condition="!$([MSBuild]::IsOsPlatform('Windows'))"> <!-- Build mobile backends only on Windows, where we have installed android workload --> <ProjectReference Remove="src/Android/**/*.*proj" /> <ProjectReference Remove="src/iOS/**/*.*proj" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.VisualStudio.SlnGen" Version="8.5.17" PrivateAssets="all" /> </ItemGroup> </Project>