<Project>
  <PropertyGroup>
    <!-- This is set to false by default when using the compilers' NuGet package. -->
    <UseSharedCompilation>true</UseSharedCompilation>
    <!-- Use the inbox compilers that come with the SDK -->
    <UseSdkCompilers>true</UseSdkCompilers>
    <CompilerVersion>4.6.0</CompilerVersion>
  </PropertyGroup>

  <PropertyGroup>
    <_IsTestProject Condition="$(MSBuildProjectName.EndsWith('Tests', StringComparison.OrdinalIgnoreCase))">true</_IsTestProject>
    <NoWarn Condition="'$(_IsTestProject)' != 'true'">$(NoWarn.Replace("1591", ""))</NoWarn> <!-- Removing CS1591 from warning exclusion list as we want to make sure documentation is enforced -->
    <GenerateDocumentationFile Condition="'$(_IsTestProject)' != 'true'">true</GenerateDocumentationFile>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Condition="'$(UseSdkCompilers)' != 'true'" Include="Microsoft.Net.Compilers.Toolset" Version="$(CompilerVersion)" IsImplicitlyDefined="true" PrivateAssets="all" />
  </ItemGroup>
</Project>