Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace all remaining pkgprojs with NuGet Pack task #56712

Merged
merged 53 commits into from
Aug 5, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
c9cf047
Runtime specific and doc file packaging fixes
ViktorHofer Aug 2, 2021
d5bb915
Microsoft.Bcl.AsyncInterfaces
ViktorHofer Aug 2, 2021
bee162e
Microsoft.Diagnostics.Tracing.EventSource.Redist
ViktorHofer Aug 2, 2021
a4cc318
Microsoft.IO.Redist
ViktorHofer Aug 2, 2021
706767b
Microsoft.Win32.Registry.AccessControl
ViktorHofer Aug 2, 2021
4312f8e
Microsoft.Win32.SystemEvents
ViktorHofer Aug 2, 2021
2866267
Microsoft.XmlSerializer.Generator
ViktorHofer Aug 2, 2021
e18dd9f
System.ComponentModel.Composition
ViktorHofer Aug 2, 2021
2b2380b
System.ComponentModel.Composition.Registration
ViktorHofer Aug 2, 2021
7d4670a
System.Data.OleDb
ViktorHofer Aug 2, 2021
2d1efbd
System.Diagnostics.EventLog
ViktorHofer Aug 2, 2021
e14f1b1
System.Speech
ViktorHofer Aug 2, 2021
c84de1e
System.Threading.Tasks.Dataflow
ViktorHofer Aug 2, 2021
985c5ba
System.Threading.Channels
ViktorHofer Aug 2, 2021
47ea580
System.Threading.AccessControl
ViktorHofer Aug 2, 2021
daef8c7
System.Text.Encodings.Web
ViktorHofer Aug 2, 2021
2b78770
System.Text.Encoding.CodePages
ViktorHofer Aug 2, 2021
e9a61f9
System.ServiceProcess.ServiceController
ViktorHofer Aug 2, 2021
727eede
System.ServiceModel.Syndication
ViktorHofer Aug 2, 2021
aa1b71a
System.Security.Permissions
ViktorHofer Aug 2, 2021
a4dbdf8
System.Security.Cryptography.Xml
ViktorHofer Aug 2, 2021
140534a
System.Security.Cryptography.ProtectedData
ViktorHofer Aug 2, 2021
28eec68
System.Security.Cryptography.Pkcs
ViktorHofer Aug 2, 2021
90a7a91
System.Runtime.CompilerServices.Unsafe
ViktorHofer Aug 2, 2021
be0465f
System.Runtime.Caching
ViktorHofer Aug 2, 2021
a0e67ab
System.Resources.Extensions
ViktorHofer Aug 2, 2021
0e05341
System.Reflection.MetadataLoadContext
ViktorHofer Aug 2, 2021
267ed0b
System.Reflection.Metadata
ViktorHofer Aug 2, 2021
0cc919a
System.Reflection.Context
ViktorHofer Aug 2, 2021
825d26c
System.Numerics.Tensors
ViktorHofer Aug 2, 2021
8e4d858
System.Net.Http.WinHttpHandler
ViktorHofer Aug 2, 2021
a591b4a
System.Net.Http.Json
ViktorHofer Aug 3, 2021
c6fb744
System.Memory.Data
ViktorHofer Aug 3, 2021
c5eceb8
System.Management
ViktorHofer Aug 3, 2021
1ee98b3
System.IO.Ports + runtime.native.System.IO.Ports
ViktorHofer Aug 3, 2021
fd9fa9e
System.IO.Pipelines
ViktorHofer Aug 3, 2021
5136b7a
System.Formats.Cbor
ViktorHofer Aug 3, 2021
467b8d5
System.Formats.Asn1
ViktorHofer Aug 3, 2021
8972869
System.Drawing.Common
ViktorHofer Aug 3, 2021
c3792b7
System.DirectoryServices.Protocols
ViktorHofer Aug 3, 2021
b6c8078
System.DirectoryServices.AccountManagement
ViktorHofer Aug 3, 2021
08d8116
System.DirectoryServices
ViktorHofer Aug 3, 2021
1bf9641
System.Diagnostics.DiagnosticSource
ViktorHofer Aug 3, 2021
2566496
System.Text.Json
ViktorHofer Aug 3, 2021
11eaf7c
System.Data.Odbc
ViktorHofer Aug 3, 2021
d22aab7
System.CodeDom
ViktorHofer Aug 4, 2021
b169dd9
System.Collections.Immutable
ViktorHofer Aug 4, 2021
c0f6ea3
System.Configuration.ConfigurationManager
ViktorHofer Aug 4, 2021
a9a88d5
System.IO.Packaging
ViktorHofer Aug 4, 2021
ab10059
Avoid NuGet/Home/issues/10368
ViktorHofer Aug 4, 2021
8e62254
Update PackageValidation package to latest
ViktorHofer Aug 5, 2021
67b4772
Fix set azure devops variable
ViktorHofer Aug 5, 2021
af64d81
Fix IO.Ports suppression file
ViktorHofer Aug 5, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@
<SuppressFinalPackageVersion Condition="'$(SuppressFinalPackageVersion)' == '' and ($(IsExperimentalAssembly) or $(IsPrivateAssembly))">true</SuppressFinalPackageVersion>
<IsShippingAssembly Condition="$(IsExperimentalAssembly)">false</IsShippingAssembly>
<!-- We don't want Private packages to be shipped to NuGet.org -->
<IsShippingPackage Condition="($(MSBuildProjectName.Contains('Private')) or $(IsExperimentalAssembly)) and '$(MSBuildProjectExtension)' == '.pkgproj'">false</IsShippingPackage>
<IsShippingPackage Condition="$(MSBuildProjectName.Contains('Private')) or $(IsExperimentalAssembly)">false</IsShippingPackage>
<!-- A package isn't generated if in servicing or in runtimelab. Intended to be overridden at project level.
Excluding .sfxprojs as they have their own incremental servicing infra. -->
<GeneratePackage Condition="'$(GeneratePackage)' == ''">true</GeneratePackage>
Expand Down
2 changes: 2 additions & 0 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@
<MicrosoftCodeAnalysisCSharpCodeStyleVersion>3.10.0</MicrosoftCodeAnalysisCSharpCodeStyleVersion>
<MicrosoftCodeAnalysisCSharpVersion>3.10.0</MicrosoftCodeAnalysisCSharpVersion>
<MicrosoftCodeAnalysisNetAnalyzersVersion>6.0.0-rc1.21375.2</MicrosoftCodeAnalysisNetAnalyzersVersion>
<!-- SDK dependencies -->
<MicrosoftDotNetPackageValidationVersion>1.0.0-rc.1.21404.21</MicrosoftDotNetPackageValidationVersion>
<!-- Arcade dependencies -->
<MicrosoftDotNetApiCompatVersion>6.0.0-beta.21373.11</MicrosoftDotNetApiCompatVersion>
<MicrosoftDotNetBuildTasksFeedVersion>6.0.0-beta.21373.11</MicrosoftDotNetBuildTasksFeedVersion>
Expand Down
125 changes: 92 additions & 33 deletions eng/packaging.targets
Original file line number Diff line number Diff line change
@@ -1,16 +1,55 @@
<Project InitialTargets="_OverridePackDependsOnForCsProjToPkgProj">

<PropertyGroup Condition="'$(IsPackable)' == 'true'">
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);AddRuntimeSpecificAssemblies;LibIntellisenseDocs</TargetsForTfmSpecificContentInPackage>
<TargetsForTfmSpecificDebugSymbolsInPackage>$(TargetsForTfmSpecificDebugSymbolsInPackage);AddRuntimeDebugSymbolsWithTfm</TargetsForTfmSpecificDebugSymbolsInPackage>
<EnablePackageValidation Condition="'$(IsSourceProject)' == 'true' and !Exists('$(PkgProjPath)')">true</EnablePackageValidation>
<!-- Don't restore prebuilt packages during sourcebuild. -->
<DisablePackageBaselineValidation Condition="'$(DotNetBuildFromSource)' == 'true'">true</DisablePackageBaselineValidation>
<PackageValidationBaselineVersion Condition="'$(PackageValidationBaselineVersion)' == ''">$([MSBuild]::Subtract($(MajorVersion), 1)).0.0</PackageValidationBaselineVersion>
<SymbolPackageOutputPath>$(PackageOutputPath)</SymbolPackageOutputPath>
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);AddDocumentationFileToPackage;AddRuntimeSpecificFilesToPackage</TargetsForTfmSpecificContentInPackage>
<TargetsForTfmSpecificDebugSymbolsInPackage>$(TargetsForTfmSpecificDebugSymbolsInPackage);AddRuntimeSpecificSymbolToPackage</TargetsForTfmSpecificDebugSymbolsInPackage>
<IncludeBuildOutput Condition="'$(TargetsAnyOS)' != 'true' or '$(ExcludeFromPackage)' == 'true'">false</IncludeBuildOutput>
<!-- Don't include target platform specific dependencies, since we use the target platform to represent RIDs instead -->
<SuppressDependenciesWhenPacking Condition="'$(ExcludeFromPackage)' == 'true' or ('$(TargetsAnyOS)' != 'true' and $([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net5.0')))">true</SuppressDependenciesWhenPacking>
<PackageDesignerMarkerFile>$(MSBuildThisFileDirectory)useSharedDesignerContext.txt</PackageDesignerMarkerFile>
<PackageValidationBaselineVersion Condition="'$(PackageValidationBaselineVersion)' == ''">$([MSBuild]::Subtract($(MajorVersion), 1)).0.0</PackageValidationBaselineVersion>
<BeforePack>IncludeAnalyzersInPackage;$(BeforePack)</BeforePack>
<GenerateNuspecDependsOn>IncludeAnalyzersInPackage;$(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
</PropertyGroup>

<ItemGroup Condition="'$(EnablePackageValidation)' == 'true'">
<PackageReference Include="Microsoft.DotNet.PackageValidation" Version="$(MicrosoftDotNetPackageValidationVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />
<!-- TODO: Remove when the SDK is upgraded to RC1. -->
<PackageDownload Include="$([MSBuild]::ValueOrDefault('$(PackageValidationBaselineName)', '$(PackageId)'))"
Version="[$(PackageValidationBaselineVersion)]"
Condition="'$(DisablePackageBaselineValidation)' != 'true' and '$(PackageValidationBaselinePath)' == '' and '$(PackageValidationBaselineVersion)' != ''" />
</ItemGroup>

<ItemGroup Condition="'$(AddNETFrameworkAssemblyReferenceToPackage)' == 'true'">
<_FrameworkAssemblyReferences Include="$(MSBuildProjectName)"
TargetFramework="net461" />
</ItemGroup>

<Choose>
<When Condition="'$(IsPackable)' == 'true' and
('$(AddXamarinPlaceholderFilesToPackage)' == 'true' or '$(AddNETFrameworkPlaceholderFileToPackage)' == 'true')">
<PropertyGroup>
<!-- Placeholders don't need a dependency group. -->
<NoWarn>$(NoWarn);NU5128</NoWarn>
</PropertyGroup>
<ItemGroup Condition="'$(AddNETFrameworkPlaceholderFileToPackage)' == 'true'">
<None Include="$(PlaceholderFile)" PackagePath="lib/net461" Pack="true" />
<None Include="$(PlaceholderFile)" PackagePath="runtimes/win/lib/net461" Pack="true" Condition="$(TargetFrameworks.Contains('netstandard2.0-windows'))" />
</ItemGroup>
<ItemGroup Condition="'$(AddXamarinPlaceholderFilesToPackage)' == 'true'">
<None Include="$(PlaceholderFile)" PackagePath="lib\MonoAndroid10" Pack="true" />
<None Include="$(PlaceholderFile)" PackagePath="lib\MonoTouch10" Pack="true" />
<None Include="$(PlaceholderFile)" PackagePath="lib\xamarinios10" Pack="true" />
<None Include="$(PlaceholderFile)" PackagePath="lib\xamarinmac20" Pack="true" />
<None Include="$(PlaceholderFile)" PackagePath="lib\xamarintvos10" Pack="true" />
<None Include="$(PlaceholderFile)" PackagePath="lib\xamarinwatchos10" Pack="true" />
</ItemGroup>
</When>
</Choose>

<!-- There are some packages where we require only one ref for a specific framework to be present. In order to avoid problems with this package when targetting
dektop with RAR we will make sure there are no exclude=compile references in the package.
For more info, please check issues:
Expand All @@ -22,7 +61,7 @@
<Dependency>
<Exclude></Exclude>
</Dependency>
</ItemGroup>
</ItemGroup>
</Target>

<Target Name="ValidateExcludeCompileDesktop"
Expand Down Expand Up @@ -55,42 +94,62 @@
Targets="Build" />
</Target>

<Target Name="AddRuntimeSpecificAssemblies"
DependsOnTargets="BuiltProjectOutputGroup;SatelliteDllsProjectOutputGroup;$(TargetsForTfmSpecificBuildOutput)"
Condition="'$(TargetsAnyOS)' != 'true' and '$(ExcludeFromPackage)' == ''">
<Target Name="AddDocumentationFileToPackage"
Condition="'$(ExcludeFromPackage)' != 'true'">
<PropertyGroup>
<!-- Search for the documentation file in the intellisense package and otherwise pick up the generated one. -->
<_documentationFileToPackage Condition="Exists('$(XmlDocFileRoot)1033\$(TargetName).xml')">$(XmlDocFileRoot)1033\$(TargetName).xml</_documentationFileToPackage>
<_documentationFileToPackage Condition="'$(_documentationFileToPackage)' == '' and Exists('$(DocumentationFile)')">$(DocumentationFile)</_documentationFileToPackage>
</PropertyGroup>
<ItemGroup Condition="'$(_documentationFileToPackage)' != ''">
<!-- Place the documentation file into the lib or runtimes/lib folder depending on if the build is runtime agnostic or specific. -->
<TfmSpecificPackageFile Include="$(_documentationFileToPackage)"
PackagePath="$([MSBuild]::ValueOrDefault('$(BuildOutputTargetFolder)', 'lib'))/$(TargetFrameworkWithoutSuffix)"
Condition="'$(TargetsAnyOS)' == 'true'" />
<TfmRuntimeSpecificPackageFile Include="$(_documentationFileToPackage)"
Condition="'$(TargetsAnyOS)' != 'true'" />
</ItemGroup>
</Target>

<Target Name="AddRuntimeSpecificFilesToPackage"
DependsOnTargets="BuiltProjectOutputGroup;
SatelliteDllsProjectOutputGroup;
$(TargetsForTfmSpecificBuildOutput);
AddDocumentationFileToPackage"
Condition="'$(ExcludeFromPackage)' != 'true' and
'$(TargetsAnyOS)' != 'true'">
<ItemGroup>
<TfmSpecificPackageFile Include="@(SatelliteDllsProjectOutputGroupOutput);
@(BuiltProjectOutputGroupOutput)">
<PackagePath>runtimes/$(_runtimeOS)/lib/$(TargetFrameworkWithoutSuffix)</PackagePath>
</TfmSpecificPackageFile>
<TfmRuntimeSpecificPackageFile Include="@(BuiltProjectOutputGroupOutput);
@(SatelliteDllsProjectOutputGroupOutput)" />
<TfmSpecificPackageFile Include="@(TfmRuntimeSpecificPackageFile)"
PackagePath="runtimes/$(PackageTargetRuntime)/lib/$(TargetFrameworkWithoutSuffix)" />
<!-- Copy runtime specific assemblies into the rid agnostic 'lib' folder if the ridless tfm doesn't exist on .NETFramework.
The assumption holds that a ridless tfm doesn't follow a '-' charater. This is necessary to avoid NU5128. -->
<TfmSpecificPackageFile Include="@(TfmRuntimeSpecificPackageFile)"
PackagePath="$([MSBuild]::ValueOrDefault('$(BuildOutputTargetFolder)', 'lib'))/$(TargetFrameworkWithoutSuffix)"
Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and !$([System.Text.RegularExpressions.Regex]::IsMatch('$(TargetFrameworks)', '$(TargetFrameworkWithoutSuffix)(?!-)'))" />
</ItemGroup>
</Target>

<!-- Runtime independent symbols are automatically added by the pack task.-->
<Target Name="AddRuntimeDebugSymbolsWithTfm"
Condition="'$(IncludeSymbols)' == 'true' and '$(TargetsAnyOS)' != 'true' and '$(ExcludeFromPackage)' == ''">
<!-- Runtime agnostic symbols are automatically added by the pack task.-->
<Target Name="AddRuntimeSpecificSymbolToPackage"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potential for cleanup: I wonder if we need a separate target for this, or if we can just do it in AddRuntimeSpecificFilesToPackage

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a different extension point "TargetsForTfmSpecificDebugSymbolsInPackage" than "TargetsForTfmSpecificContentInPackage" so IMO it makes sense to be a separate target.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could have a single target and include it in both lists, it'd only run once. Up to you what you think is more maintainable. Seemed to me like it might be nice to have symbol inclusion next to binary inclusion.

Condition="'$(ExcludeFromPackage)' != 'true' and
'$(TargetsAnyOS)' != 'true' and
'$(IncludeSymbols)' == 'true'">
<PropertyGroup>
<RuntimeSymbolPath>$([System.IO.Path]::GetDirectoryName($(TargetPath)))\$(TargetName).pdb</RuntimeSymbolPath>
<RuntimeSymbolPath>$(TargetDir)$(TargetName).pdb</RuntimeSymbolPath>
</PropertyGroup>

<ItemGroup Condition="Exists('$(RuntimeSymbolPath)')">
<TfmSpecificDebugSymbolsFile Include="$(RuntimeSymbolPath)">
<TargetPath>/runtimes/$(_runtimeOS)/lib/$(TargetFrameworkWithoutSuffix)/$(TargetName).pdb</TargetPath>
<TargetFramework>$(TargetFrameworkWithoutSuffix)</TargetFramework>
</TfmSpecificDebugSymbolsFile>
</ItemGroup>
</Target>

<Target Name="LibIntellisenseDocs"
Condition="'$(IncludeBuildOutput)' == 'true'">
<PropertyGroup>
<_intellisenseRootFolder>$(BuildOutputTargetFolder)</_intellisenseRootFolder>
<_intellisenseRootFolder Condition="'$(_intellisenseRootFolder)' == ''">lib</_intellisenseRootFolder>
</PropertyGroup>
<ItemGroup>
<TfmSpecificPackageFile Include="$(XmlDocFileRoot)1033\$(TargetName).xml"
Condition="Exists('$(XmlDocFileRoot)1033\$(TargetName).xml')"
PackagePath="$(_intellisenseRootFolder)/$(TargetFramework)" />
<TfmSpecificDebugSymbolsFile Include="$(RuntimeSymbolPath)"
TargetPath="/runtimes/$(PackageTargetRuntime)/lib/$(TargetFrameworkWithoutSuffix)"
TargetFramework="$(TargetFrameworkWithoutSuffix)" />
<!-- Copy runtime specific symbol into the rid agnostic 'lib' folder if the ridless tfm doesn't exist on .NETFramework.
The assumption holds that a ridless tfm doesn't follow a '-' charater. This is necessary to avoid NU5128. -->
<TfmSpecificDebugSymbolsFile Include="$(RuntimeSymbolPath)"
TargetPath="/$([MSBuild]::ValueOrDefault('$(BuildOutputTargetFolder)', 'lib'))/$(TargetFrameworkWithoutSuffix)"
TargetFramework="$(TargetFrameworkWithoutSuffix)"
Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and !$([System.Text.RegularExpressions.Regex]::IsMatch('$(TargetFrameworks)', '$(TargetFrameworkWithoutSuffix)(?!-)'))" />
</ItemGroup>
</Target>

Expand Down
1 change: 0 additions & 1 deletion global.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
},
"msbuild-sdks": {
"Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21373.11",
"Microsoft.DotNet.PackageValidation": "1.0.0-preview.7.21352.4",
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21373.11",
"Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21373.11",
"Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21373.11",
Expand Down
2 changes: 0 additions & 2 deletions src/libraries/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,6 @@
<!-- Import packaging props -->
<Import Project="$(RepositoryEngineeringDir)packaging.props" />

<Import Sdk="Microsoft.DotNet.PackageValidation" Project="Sdk.props" Condition="'$(IsSourceProject)' == 'true'" />

<PropertyGroup>
<RefRootPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'ref'))</RefRootPath>
</PropertyGroup>
Expand Down
7 changes: 1 addition & 6 deletions src/libraries/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,11 @@
<Import Project="..\..\Directory.Build.targets" />

<PropertyGroup>
<GenerateNuspecDependsOn>IncludeAnalyzersInPackage;$(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
<NetCoreAppCurrentBuildSettings>$(NetCoreAppCurrent)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)</NetCoreAppCurrentBuildSettings>
<NativeBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'native', '$(NetCoreAppCurrentBuildSettings)'))</NativeBinDir>
<NetCoreAppCurrentTestHostPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'testhost', '$(NetCoreAppCurrentBuildSettings)'))</NetCoreAppCurrentTestHostPath>
<NetCoreAppCurrentTestHostSharedFrameworkPath>$([MSBuild]::NormalizeDirectory('$(NetCoreAppCurrentTestHostPath)', 'shared', '$(MicrosoftNetCoreAppFrameworkName)', '$(ProductVersion)'))</NetCoreAppCurrentTestHostSharedFrameworkPath>

<SymbolPackageOutputPath>$(PackageOutputPath)</SymbolPackageOutputPath>

<NoWarn Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == '.NETStandard' or ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '3.0')))">$(NoWarn);nullable</NoWarn>
<NoWarn Condition="'$(GeneratePlatformNotSupportedAssembly)' == 'true' or '$(GeneratePlatformNotSupportedAssemblyMessage)' != ''">$(NoWarn);nullable;CA1052</NoWarn>
<!-- Ignore Obsolete errors within the generated shims that type-forward types.
Expand All @@ -43,7 +40,7 @@
<!-- Reset these properties back to blank, since they are defaulted by Microsoft.NET.Sdk -->
<WarningsAsErrors Condition="'$(WarningsAsErrors)' == 'NU1605'" />
<!-- Set the documentation output file globally. -->
<DocumentationFile Condition="'$(IsSourceProject)' == 'true' and '$(DocumentationFile)' == '' and '$(MSBuildProjectExtension)' != '.vbproj'">$(OutputPath)$(MSBuildProjectName).xml</DocumentationFile>
<DocumentationFile Condition="'$(IsSourceProject)' == 'true' and '$(DocumentationFile)' == '' and '$(MSBuildProjectExtension)' != '.vbproj'">$(OutputPath)$(TargetName).xml</DocumentationFile>
<IsNETCoreAppSrc Condition="'$(IsNETCoreAppSrc)' == '' and
'$(IsSourceProject)' == 'true' and
$(NetCoreAppLibrary.Contains('$(AssemblyName);'))">true</IsNETCoreAppSrc>
Expand Down Expand Up @@ -151,8 +148,6 @@
<PackageReference Include="Microsoft.DotNet.GenFacades" Version="$(MicrosoftDotNetGenFacadesVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />
</ItemGroup>

<Import Sdk="Microsoft.DotNet.PackageValidation" Project="Sdk.targets" Condition="'$(IsSourceProject)' == 'true' and !Exists('$(PkgProjPath)')" />

<Target Name="SetGenApiProperties"
BeforeTargets="GenerateReferenceAssemblySource">
<PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,5 @@
<Import Project="..\Directory.Build.props" />
<PropertyGroup>
<StrongNameKeyId>Open</StrongNameKeyId>
<!-- This assembly should never be placed inbox as it is only for downlevel compatibility. -->
<PackageDescription>Provides the IAsyncEnumerable&lt;T&gt; and IAsyncDisposable interfaces and helper types for .NET Standard 2.0. This package is not required starting with .NET Standard 2.1 and .NET Core 3.0.

Commonly Used Types:
System.IAsyncDisposable
System.Collections.Generic.IAsyncEnumerable
System.Collections.Generic.IAsyncEnumerator</PackageDescription>
</PropertyGroup>
</Project>

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Left>lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll</Left>
<Right>lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll</Right>
</Suppression>
</Suppressions>
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net461;netstandard2.0;netstandard2.1</TargetFrameworks>
<IsPackable>true</IsPackable>
<!-- This assembly should never be placed inbox as it is only for downlevel compatibility. -->
<PackageDescription>Provides the IAsyncEnumerable&lt;T&gt; and IAsyncDisposable interfaces and helper types for .NET Standard 2.0. This package is not required starting with .NET Standard 2.1 and .NET Core 3.0.

Commonly Used Types:
System.IAsyncDisposable
System.Collections.Generic.IAsyncEnumerable
System.Collections.Generic.IAsyncEnumerator</PackageDescription>
</PropertyGroup>
<PropertyGroup>
<IsPartialFacadeAssembly Condition="'$(TargetFramework)' == 'netstandard2.1'">true</IsPartialFacadeAssembly>
Expand Down Expand Up @@ -33,8 +41,9 @@
<Link>System.Private.CoreLib\System\Runtime\CompilerServices\EnumeratorCancellationAttribute.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.1'">
<ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
<PackageReference Include="System.Threading.Tasks.Extensions" Version="$(SystemThreadingTasksExtensionsVersion)" />
<ProjectReference Include="$(LibrariesProjectRoot)System.Runtime.CompilerServices.Unsafe\src\System.Runtime.CompilerServices.Unsafe.ilproj" />
<!-- S.R.C.Unsafe isn't a primary but transitive dependency and this P2P makes sure that the live version is used. -->
<ProjectReference Include="$(LibrariesProjectRoot)System.Runtime.CompilerServices.Unsafe\src\System.Runtime.CompilerServices.Unsafe.ilproj" PrivateAssets="all" />
</ItemGroup>
</Project>
Loading