File: D\a\_work\1\s\bin_\repo\msbuild\eng\packaging.targets
Web Access
Project: ..\..\..\src\Package\DevDivPackage\DevDivPackage.csproj (MSBuildFiles)
<Project>
 
  <PropertyGroup>
    <BeforePack>$(BeforePack);AddNETStandardCompatErrorFileForPackaging</BeforePack>
    <PlaceholderFile>$(RepositoryEngineeringDir)_._</PlaceholderFile>
  </PropertyGroup>
 
  <!-- Include a netstandard compat error if the project targets .NETStandard and runtimes.
       This prohibits users to consume packages on an older .NETCoreApp version than the minimum supported one. -->
  <ItemGroup>
    <NETStandardCompatError Include="netcoreapp2.0"
                            Supported="$(LatestDotNetCoreForMSBuild)"
                            Condition="$(TargetFrameworks.Contains('netstandard2.')) and $(TargetFrameworks.Contains('$(LatestDotNetCoreForMSBuild)'))" />
    <NETStandardCompatError Include="net461"
                            Supported="$(FullFrameworkTFM)"
                            Condition="$(TargetFrameworks.Contains('netstandard2.0')) and $(TargetFrameworks.Contains('$(FullFrameworkTFM)')) and !$(TargetFrameworks.Contains('net35'))" />
  </ItemGroup>
 
  <!-- Add targets file that marks a .NETStandard applicable tfm as unsupported. -->
  <Target Name="AddNETStandardCompatErrorFileForPackaging"
          Condition="'@(NETStandardCompatError)' != '' and '$(DisableNETStandardCompatErrors)' != 'true'"
          Inputs="%(NETStandardCompatError.Identity)"
          Outputs="unused">
    <PropertyGroup>
      <_NETStandardCompatErrorFilePath>$(BaseIntermediateOutputPath)netstandardcompaterror_%(NETStandardCompatError.Identity).targets</_NETStandardCompatErrorFilePath>
      <_NETStandardCompatErrorFileTarget>NETStandardCompatError_$(PackageId.Replace('.', '_'))_$([System.String]::new('%(NETStandardCompatError.Supported)').Replace('.', '_'))</_NETStandardCompatErrorFileTarget>
      <_NETStandardCompatErrorFileContent>
<![CDATA[<Project InitialTargets="$(_NETStandardCompatErrorFileTarget)">
  <Target Name="$(_NETStandardCompatErrorFileTarget)"
          Condition="'%24(SuppressTfmSupportBuildWarnings)' == ''">
    <Warning Text="$(PackageId) $(PackageVersion) doesn't support %24(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to %(NETStandardCompatError.Supported) or later. You may also set &lt%3BSuppressTfmSupportBuildWarnings&gt%3Btrue&lt%3B/SuppressTfmSupportBuildWarnings&gt%3B in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
  </Target>
</Project>]]>
      </_NETStandardCompatErrorFileContent>
      <_NETStandardCompatErrorPlaceholderFilePackagePath>buildTransitive$([System.IO.Path]::DirectorySeparatorChar)%(NETStandardCompatError.Supported)</_NETStandardCompatErrorPlaceholderFilePackagePath>
    </PropertyGroup>
 
    <WriteLinesToFile File="$(_NETStandardCompatErrorFilePath)"
                      Lines="$(_NETStandardCompatErrorFileContent)"
                      Overwrite="true"
                      WriteOnlyWhenDifferent="true" />
 
    <ItemGroup>
      <_PackageBuildFile Include="@(None->Metadata('PackagePath'));
                                  @(Content->Metadata('PackagePath'))" />
      <_PackageBuildFile PackagePathWithoutFilename="$([System.IO.Path]::GetDirectoryName('%(Identity)'))" />
 
      <None Include="$(_NETStandardCompatErrorFilePath)"
            PackagePath="buildTransitive\%(NETStandardCompatError.Identity)\$(PackageId).targets"
            Pack="true" />
      <!-- Add the placeholder file to the supported target framework buildTransitive folder, if it's empty. -->
      <None Include="$(PlaceholderFile)"
            PackagePath="$(_NETStandardCompatErrorPlaceholderFilePackagePath)\"
            Pack="true"
            Condition="'@(_PackageBuildFile)' == '' or
                       !@(_PackageBuildFile->AnyHaveMetadataValue('PackagePathWithoutFilename', '$(_NETStandardCompatErrorPlaceholderFilePackagePath)'))" />
    </ItemGroup>
  </Target>
 
</Project>