<commit_before><?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <ItemGroup>
    <TargetingPackDirs Include="$(RefPath)" />
    <AdditionalReferencePaths Include="@(TargetingPackDirs)" />
  </ItemGroup>

  <PropertyGroup>
    <ContractOutputPath>$(RefPath)</ContractOutputPath>
    <FrameworkPathOverride>$(ContractOutputPath)</FrameworkPathOverride>
    <AssemblySearchPaths>$(AssemblySearchPaths);$(ContractOutputPath);{RawFileName}</AssemblySearchPaths>
    <!-- Disable RAR from transitively discovering dependencies for References -->
    <_FindDependencies>false</_FindDependencies>
  </PropertyGroup>

  <!-- For .NET Sdk projects the TFI and TFV is inferred from the TargetFramework. -->
  <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''
                        AND '$(TargetFrameworkVersion)' == ''
                        AND '$(TargetFrameworkProfile)' == ''
                        AND ('$(UsingMicrosoftNETSdk)' != 'true' OR '$(TargetFramework)' == '')">
    <TargetingDefaultPlatform>true</TargetingDefaultPlatform>
  </PropertyGroup>

  <!-- For .NET Sdk projects the TFI is inferred from the TargetFramework. -->
  <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''
                        AND ('$(UsingMicrosoftNETSdk)' != 'true' OR '$(TargetFramework)' == '')">
     <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
  </PropertyGroup>

  <!--
    When targeting an explicit platform other than the default,
    also allow the target framework directory.
  -->
  <PropertyGroup Condition="'$(TargetingDefaultPlatform)' != 'true'">
    <AssemblySearchPaths>$(AssemblySearchPaths);{TargetFrameworkDirectory}</AssemblySearchPaths>
  </PropertyGroup>

  <!-- Setup the default target for projects not already explicitly targeting another platform -->
  <PropertyGroup Condition="'$(TargetingDefaultPlatform)' == 'true'">
    <!-- Setting a default portable profile, although nothing should resolve from there as we want to use the pacakge refs -->
    <TargetPlatformIdentifier>Portable</TargetPlatformIdentifier>
    <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <!-- We do not want to target a portable profile. -->
    <TargetFrameworkProfile></TargetFrameworkProfile>
    <!-- We set this property to avoid MSBuild errors regarding not setting TargetFrameworkProfile (see above line) -->
    <PortableNuGetMode>true</PortableNuGetMode>
    <TargetFrameworkMonikerDisplayName>.NET Portable Subset</TargetFrameworkMonikerDisplayName>
    <ImplicitlyExpandTargetFramework>false</ImplicitlyExpandTargetFramework>
    <!-- Disable RAR complaining about us referencing higher .NET Portable libraries as we aren't a traditional portable library -->
    <ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>true</ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>
    <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == ''">.NETCoreApp,Version=v1.0</NuGetTargetMoniker>
  </PropertyGroup>

  <!--
    Between the legacy C# project system and the new managed C# project system, some Targets run in different
    orders. A normal "Build" and the legacy C# project system will execute 'Compile', which depends on
    'ResolveReferences', which then depends on 'BeforeResolveReferences', so hooking before 
    'BeforeResolveReferences' allows @(Reference) items to be added before 'ResolveAssemblyReferences'
    gets executed.

    However, in the new managed C# project system, 'ResolveProjectReferencesDesignTime' gets executed first,
    which depends on 'ResolveAssemblyReferences'. This means 'ResolveReferences' doesn't get executed before
    'ResolveAssemblyReferences' when doing a design-time build in the managed C# project system.
    Work around this by BeforeTargets both 'BeforeResolveReferences' (to preserve any legacy ordering) and
    'ResolveAssemblyReferences' (to work in the managed C# project system).
  -->
  <Target Name="AddReferencesDynamically"
          BeforeTargets="BeforeResolveReferences;ResolveAssemblyReferences" />

  <PropertyGroup Condition="'$(IncludeDefaultReferences)' == ''">
    <IncludeDefaultReferences Condition="'$(MSBuildProjectExtension)' == '.csproj'">true</IncludeDefaultReferences>
    <IncludeDefaultReferences Condition="'$(MSBuildProjectExtension)' == '.vbproj'">true</IncludeDefaultReferences>
  </PropertyGroup>

  <!-- By default add VS references to invokable non perf test projects. -->
  <PropertyGroup>
    <IncludeVSTestReferences Condition="'$(IncludeVSTestReferences)' == '' AND '$(IsInvokableTestProject)' == 'true'">true</IncludeVSTestReferences>
  </PropertyGroup>

  <Target Name="SetupDefaultReferences">
    <ItemGroup Condition="'$(IncludeDefaultReferences)' =='true'">
      <!-- netstandard is a default reference whenever building for NETStandard or building an implementation assembly -->
      <DefaultReference Condition="($(NuGetTargetMoniker.StartsWith('.NETStandard')) OR '$(IsReferenceAssembly)' != 'true') AND Exists('$(RefPath)netstandard.dll')"
                        Include="netstandard" />
    </ItemGroup>
  </Target>
  
  <Target Name="UpdateReferenceItems"
          DependsOnTargets="SetupDefaultReferences"
          BeforeTargets="AddReferencesDynamically">
    <ItemGroup>
      <Reference Include="@(DefaultReference)" />
    </ItemGroup>

    <ItemGroup>
      <!-- Simple name references will be resolved from the targeting pack folders and should never be copied to output -->
      <Reference Condition="'%(Reference.Extension)' != '.dll'">
        <Private>false</Private>
      </Reference>
    </ItemGroup>
  </Target>

  <!-- Need to add references to the mscorlib design-time facade for some old-style portable dependencies like xunit -->
  <Target Name="AddDesignTimeFacadeReferences"
      Condition="'$(TargetingDefaultPlatform)' == 'true' AND '$(IsReferenceAssembly)' != 'true' AND '$(ExcludeMscorlibFacade)' != 'true'"
      BeforeTargets="ResolveReferences"
      DependsOnTargets="GetReferenceAssemblyPaths"
  >
    <PropertyGroup>
      <_resolvedMscorlib Condition="'%(ReferencePath.FileName)' == 'mscorlib'">true</_resolvedMscorlib>
    </PropertyGroup>

    <ItemGroup>
      <PossibleTargetFrameworks Include="$(_TargetFrameworkDirectories)" />
      <ReferencePath Include="%(PossibleTargetFrameworks.Identity)mscorlib.dll"
                     Condition="'$(_resolvedMscorlib)' != 'true' and '%(PossibleTargetFrameworks.Identity)' != '' and Exists('%(PossibleTargetFrameworks.Identity)mscorlib.dll')" />
    </ItemGroup>
  </Target>

  <PropertyGroup>
    <!-- Disable WindowsAppContainer property to prevent importing AppX targets which we don't need -->
    <WindowsAppContainer Condition="'$(WindowsAppContainer)'==''">false</WindowsAppContainer>
  </PropertyGroup>

  <Import Project="depProj.targets"
          Condition="'$(MSBuildProjectExtension)' == '.depproj'" />

  <Import Project="IL.targets"
           Condition="'$(MSBuildProjectExtension)' == '.ilproj' AND '$(SkipImportILTargets)'!='true' and '$(UsingMicrosoftNETSdk)' != 'true'" />

  <PropertyGroup Condition="'$(UsingMicrosoftNETSdk)' != 'true'">
    <CSharpTargetsFile>$(MSBuildToolsPath)\Microsoft.CSharp.targets</CSharpTargetsFile>
    <!--
        workaround file casing issue where it has different casing in different places which fails on linux builds
        https://github.com/dotnet/buildtools/issues/1464
    -->
    <CSharpTargetsFile Condition="!Exists('$(CSharpTargetsFile)')">$(MSBuildToolsPath)\Microsoft.CSharp.Targets</CSharpTargetsFile>
  </PropertyGroup><commit_msg>Allow depProj.targets import to be disabled<commit_after><?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <ItemGroup>
    <TargetingPackDirs Include="$(RefPath)" />
    <AdditionalReferencePaths Include="@(TargetingPackDirs)" />
  </ItemGroup>

  <PropertyGroup>
    <ContractOutputPath>$(RefPath)</ContractOutputPath>
    <FrameworkPathOverride>$(ContractOutputPath)</FrameworkPathOverride>
    <AssemblySearchPaths>$(AssemblySearchPaths);$(ContractOutputPath);{RawFileName}</AssemblySearchPaths>
    <!-- Disable RAR from transitively discovering dependencies for References -->
    <_FindDependencies>false</_FindDependencies>
  </PropertyGroup>

  <!-- For .NET Sdk projects the TFI and TFV is inferred from the TargetFramework. -->
  <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''
                        AND '$(TargetFrameworkVersion)' == ''
                        AND '$(TargetFrameworkProfile)' == ''
                        AND ('$(UsingMicrosoftNETSdk)' != 'true' OR '$(TargetFramework)' == '')">
    <TargetingDefaultPlatform>true</TargetingDefaultPlatform>
  </PropertyGroup>

  <!-- For .NET Sdk projects the TFI is inferred from the TargetFramework. -->
  <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''
                        AND ('$(UsingMicrosoftNETSdk)' != 'true' OR '$(TargetFramework)' == '')">
     <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
  </PropertyGroup>

  <!--
    When targeting an explicit platform other than the default,
    also allow the target framework directory.
  -->
  <PropertyGroup Condition="'$(TargetingDefaultPlatform)' != 'true'">
    <AssemblySearchPaths>$(AssemblySearchPaths);{TargetFrameworkDirectory}</AssemblySearchPaths>
  </PropertyGroup>

  <!-- Setup the default target for projects not already explicitly targeting another platform -->
  <PropertyGroup Condition="'$(TargetingDefaultPlatform)' == 'true'">
    <!-- Setting a default portable profile, although nothing should resolve from there as we want to use the pacakge refs -->
    <TargetPlatformIdentifier>Portable</TargetPlatformIdentifier>
    <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <!-- We do not want to target a portable profile. -->
    <TargetFrameworkProfile></TargetFrameworkProfile>
    <!-- We set this property to avoid MSBuild errors regarding not setting TargetFrameworkProfile (see above line) -->
    <PortableNuGetMode>true</PortableNuGetMode>
    <TargetFrameworkMonikerDisplayName>.NET Portable Subset</TargetFrameworkMonikerDisplayName>
    <ImplicitlyExpandTargetFramework>false</ImplicitlyExpandTargetFramework>
    <!-- Disable RAR complaining about us referencing higher .NET Portable libraries as we aren't a traditional portable library -->
    <ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>true</ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>
    <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == ''">.NETCoreApp,Version=v1.0</NuGetTargetMoniker>
  </PropertyGroup>

  <!--
    Between the legacy C# project system and the new managed C# project system, some Targets run in different
    orders. A normal "Build" and the legacy C# project system will execute 'Compile', which depends on
    'ResolveReferences', which then depends on 'BeforeResolveReferences', so hooking before 
    'BeforeResolveReferences' allows @(Reference) items to be added before 'ResolveAssemblyReferences'
    gets executed.

    However, in the new managed C# project system, 'ResolveProjectReferencesDesignTime' gets executed first,
    which depends on 'ResolveAssemblyReferences'. This means 'ResolveReferences' doesn't get executed before
    'ResolveAssemblyReferences' when doing a design-time build in the managed C# project system.
    Work around this by BeforeTargets both 'BeforeResolveReferences' (to preserve any legacy ordering) and
    'ResolveAssemblyReferences' (to work in the managed C# project system).
  -->
  <Target Name="AddReferencesDynamically"
          BeforeTargets="BeforeResolveReferences;ResolveAssemblyReferences" />

  <PropertyGroup Condition="'$(IncludeDefaultReferences)' == ''">
    <IncludeDefaultReferences Condition="'$(MSBuildProjectExtension)' == '.csproj'">true</IncludeDefaultReferences>
    <IncludeDefaultReferences Condition="'$(MSBuildProjectExtension)' == '.vbproj'">true</IncludeDefaultReferences>
  </PropertyGroup>

  <!-- By default add VS references to invokable non perf test projects. -->
  <PropertyGroup>
    <IncludeVSTestReferences Condition="'$(IncludeVSTestReferences)' == '' AND '$(IsInvokableTestProject)' == 'true'">true</IncludeVSTestReferences>
  </PropertyGroup>

  <Target Name="SetupDefaultReferences">
    <ItemGroup Condition="'$(IncludeDefaultReferences)' =='true'">
      <!-- netstandard is a default reference whenever building for NETStandard or building an implementation assembly -->
      <DefaultReference Condition="($(NuGetTargetMoniker.StartsWith('.NETStandard')) OR '$(IsReferenceAssembly)' != 'true') AND Exists('$(RefPath)netstandard.dll')"
                        Include="netstandard" />
    </ItemGroup>
  </Target>
  
  <Target Name="UpdateReferenceItems"
          DependsOnTargets="SetupDefaultReferences"
          BeforeTargets="AddReferencesDynamically">
    <ItemGroup>
      <Reference Include="@(DefaultReference)" />
    </ItemGroup>

    <ItemGroup>
      <!-- Simple name references will be resolved from the targeting pack folders and should never be copied to output -->
      <Reference Condition="'%(Reference.Extension)' != '.dll'">
        <Private>false</Private>
      </Reference>
    </ItemGroup>
  </Target>

  <!-- Need to add references to the mscorlib design-time facade for some old-style portable dependencies like xunit -->
  <Target Name="AddDesignTimeFacadeReferences"
      Condition="'$(TargetingDefaultPlatform)' == 'true' AND '$(IsReferenceAssembly)' != 'true' AND '$(ExcludeMscorlibFacade)' != 'true'"
      BeforeTargets="ResolveReferences"
      DependsOnTargets="GetReferenceAssemblyPaths"
  >
    <PropertyGroup>
      <_resolvedMscorlib Condition="'%(ReferencePath.FileName)' == 'mscorlib'">true</_resolvedMscorlib>
    </PropertyGroup>

    <ItemGroup>
      <PossibleTargetFrameworks Include="$(_TargetFrameworkDirectories)" />
      <ReferencePath Include="%(PossibleTargetFrameworks.Identity)mscorlib.dll"
                     Condition="'$(_resolvedMscorlib)' != 'true' and '%(PossibleTargetFrameworks.Identity)' != '' and Exists('%(PossibleTargetFrameworks.Identity)mscorlib.dll')" />
    </ItemGroup>
  </Target>

  <PropertyGroup>
    <!-- Disable WindowsAppContainer property to prevent importing AppX targets which we don't need -->
    <WindowsAppContainer Condition="'$(WindowsAppContainer)'==''">false</WindowsAppContainer>
  </PropertyGroup>

  <Import Project="depProj.targets"
          Condition="'$(MSBuildProjectExtension)' == '.depproj' AND '$(ExcludeDepProjImport)' != 'true' " />

  <Import Project="IL.targets"
           Condition="'$(MSBuildProjectExtension)' == '.ilproj' AND '$(SkipImportILTargets)'!='true' and '$(UsingMicrosoftNETSdk)' != 'true'" />

  <PropertyGroup Condition="'$(UsingMicrosoftNETSdk)' != 'true'">
    <CSharpTargetsFile>$(MSBuildToolsPath)\Microsoft.CSharp.targets</CSharpTargetsFile>
    <!--
        workaround file casing issue where it has different casing in different places which fails on linux builds
        https://github.com/dotnet/buildtools/issues/1464
    -->
    <CSharpTargetsFile Condition="!Exists('$(CSharpTargetsFile)')">$(MSBuildToolsPath)\Microsoft.CSharp.Targets</CSharpTargetsFile>
  </PropertyGroup>
{'fraction_non_alphanumeric': 0.12420443587270974, 'fraction_numerical': 0.0023143683702989393, 'mean_word_length': 4.752958579881657, 'pattern_counts': {'":': 0, '<': 229, '<?xml version=': 2, '>': 229, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4825544', 'n_tokens_mistral': 4135, 'n_tokens_neox': 3761, 'n_words': 977}