xamarin-macios/dotnet/HIERARCHY.md

2.1 KiB

File layout

Microsoft.platform.Workload

  • WorkloadManifest.json: workload manifest that describes the different workloads for platform.
  • WorkloadManifest.targets: imports Microsoft.platform.Sdk if we're building for platform (based on TargetPlatformIdentifier).

Documentation

Microsoft.platform.Sdk

  • Sdk/AutoImport.props: automatically imported into every build that references Microsoft.NET.Sdk. It has strict restrictions on what it can do, to make sure it doesn't break builds for other SDKs. It imports Microsoft.platform.Sdk.DefaultItems.props, where the default inclusion itemgroups are defined.
  • Sdk/Sdk.targets: imported by WorkloadManifest.targets (after the customer's csproj).
  • targets/Microsoft.platform.Sdk.DefaultItems.props: imported into every build that references Microsoft.NET.Sdk (because it's imported by AutoImport.props). This file contains the default inclusion itemgroups for to platform.
  • targets/Microsoft.platform.Sdk.SupportedTargetPlatforms.targets: lists which versions of platform are supported
  • targets/Microsoft.platform.Sdk.targets: contains logic specific to platform.
  • targets/Microsoft.platform.TargetFrameworkInference.targets: contains logic specific to platform.
  • targets/Xamarin.Shared.Sdk.DefaultItems.targets: contains logic to enable the default behavior we want.
  • targets/Xamarin.Shared.Sdk.TargetFrameworkInference.targets: some TargetFramework logic.
  • targets/Xamarin.Shared.Sdk.Versions.targets: declares various properties related to version information.
  • targets/Xamarin.Shared.Sdk.targets: all of the build logic shared between all platforms.

Microsoft.platform.Ref

Contains reference assemblies.

Microsoft.platform.Runtime.[runtimeIdentifier]

Contains implementation assemblies and native bits.