Skip to content

[main] Update dependencies from dotnet/runtime #17948

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

Merged
merged 6 commits into from
May 31, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,8 @@
RuntimeFrameworkVersion="$(MicrosoftNETCoreAppRuntimePackageVersion)" />
</ItemGroup>

<Import Project="src\Layout\redist\targets\BuildToolsetTasks.targets" Condition="'$(MSBuildProjectName)' != 'toolset-tasks'"/>



</Project>
52 changes: 26 additions & 26 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,37 +25,37 @@
<Uri>https://github.com/dotnet/templating</Uri>
<Sha>cbc3cd8073a844a5439909a0efe58cf28a399773</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="6.0.0-preview.6.21276.13">
<Dependency Name="Microsoft.NETCore.App.Ref" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.6.0" Version="6.0.0-preview.6.21276.13">
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.6.0" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="6.0.0-preview.6.21276.13">
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="6.0.0-preview.6.21276.13">
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.Platforms" Version="6.0.0-preview.6.21276.13">
<Dependency Name="Microsoft.NETCore.Platforms" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.HostModel" Version="6.0.0-preview.6.21276.13">
<Dependency Name="Microsoft.NET.HostModel" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="6.0.0-preview.6.21276.13">
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="6.0.0-preview.6.21276.13">
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="Microsoft.Build" Version="17.0.0-preview-21274-08">
<Uri>https://github.com/dotnet/msbuild</Uri>
Expand Down Expand Up @@ -109,21 +109,21 @@
<Uri>https://github.com/mono/linker</Uri>
<Sha>50901f9ba5c8672c2758577a61f45fea3cc6cd76</Sha>
</Dependency>
<Dependency Name="System.CodeDom" Version="6.0.0-preview.6.21276.13">
<Dependency Name="System.CodeDom" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="System.Security.Cryptography.ProtectedData" Version="6.0.0-preview.6.21276.13">
<Dependency Name="System.Security.Cryptography.ProtectedData" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="System.Text.Encoding.CodePages" Version="6.0.0-preview.6.21276.13">
<Dependency Name="System.Text.Encoding.CodePages" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="System.Resources.Extensions" Version="6.0.0-preview.6.21276.13">
<Dependency Name="System.Resources.Extensions" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="6.0.0-preview.6.21276.7">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
Expand Down Expand Up @@ -220,9 +220,9 @@
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>c2a8af3f309fc27402fa9c18bac6df757a9c41ed</Sha>
</Dependency>
<Dependency Name="System.Reflection.MetadataLoadContext" Version="6.0.0-preview.6.21276.13">
<Dependency Name="System.Reflection.MetadataLoadContext" Version="6.0.0-preview.6.21281.1">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>6e5f722a9dab49f9626ea95326ef6e74129621ca</Sha>
<Sha>fea7ff2cce79da2df9cf1c50ce215287750f055e</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
22 changes: 11 additions & 11 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -31,24 +31,24 @@
<SystemReflectionMetadataVersion>5.0.0</SystemReflectionMetadataVersion>
<MicrosoftDotNetSignToolVersion>6.0.0-beta.21276.5</MicrosoftDotNetSignToolVersion>
<MicrosoftWebXdtPackageVersion>3.1.0</MicrosoftWebXdtPackageVersion>
<SystemSecurityCryptographyProtectedDataPackageVersion>6.0.0-preview.6.21276.13</SystemSecurityCryptographyProtectedDataPackageVersion>
<SystemSecurityCryptographyProtectedDataPackageVersion>6.0.0-preview.6.21281.1</SystemSecurityCryptographyProtectedDataPackageVersion>
<SystemCollectionsSpecializedPackageVersion>4.3.0</SystemCollectionsSpecializedPackageVersion>
<SystemXmlXmlDocumentPackageVersion>4.3.0</SystemXmlXmlDocumentPackageVersion>
<WebDeploymentPackageVersion>4.0.5</WebDeploymentPackageVersion>
<SystemTextJsonVersion>4.7.2</SystemTextJsonVersion>
<SystemReflectionMetadataLoadContextVersion>6.0.0-preview.6.21276.13</SystemReflectionMetadataLoadContextVersion>
<SystemReflectionMetadataLoadContextVersion>6.0.0-preview.6.21281.1</SystemReflectionMetadataLoadContextVersion>
<DeploymentReleasesVersion>1.0.0-preview1.1.21112.1</DeploymentReleasesVersion>
<SystemManagementPackageVersion>4.6.0</SystemManagementPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/runtime -->
<MicrosoftNETCoreAppRefPackageVersion>6.0.0-preview.6.21276.13</MicrosoftNETCoreAppRefPackageVersion>
<VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>6.0.0-preview.6.21276.13</VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>6.0.0-preview.6.21276.13</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>6.0.0-preview.6.21281.1</MicrosoftNETCoreAppRefPackageVersion>
<VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>6.0.0-preview.6.21281.1</VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>6.0.0-preview.6.21281.1</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppRuntimePackageVersion>$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)</MicrosoftNETCoreAppRuntimePackageVersion>
<MicrosoftExtensionsDependencyModelPackageVersion>6.0.0-preview.6.21276.13</MicrosoftExtensionsDependencyModelPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>6.0.0-preview.6.21276.13</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<MicrosoftNETHostModelVersion>6.0.0-preview.6.21276.13</MicrosoftNETHostModelVersion>
<MicrosoftExtensionsDependencyModelPackageVersion>6.0.0-preview.6.21281.1</MicrosoftExtensionsDependencyModelPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>6.0.0-preview.6.21281.1</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<MicrosoftNETHostModelVersion>6.0.0-preview.6.21281.1</MicrosoftNETHostModelVersion>
<MicrosoftExtensionsDependencyModelVersion>$(MicrosoftExtensionsDependencyModelPackageVersion)</MicrosoftExtensionsDependencyModelVersion>
</PropertyGroup>
<PropertyGroup>
Expand Down Expand Up @@ -80,10 +80,10 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/runtime -->
<SystemCodeDomPackageVersion>6.0.0-preview.6.21276.13</SystemCodeDomPackageVersion>
<SystemTextEncodingCodePagesPackageVersion>6.0.0-preview.6.21276.13</SystemTextEncodingCodePagesPackageVersion>
<SystemCodeDomPackageVersion>6.0.0-preview.6.21281.1</SystemCodeDomPackageVersion>
<SystemTextEncodingCodePagesPackageVersion>6.0.0-preview.6.21281.1</SystemTextEncodingCodePagesPackageVersion>
<SystemSecurityCryptographyProtectedDataPackageVersion>5.0.0-preview.7.20364.11</SystemSecurityCryptographyProtectedDataPackageVersion>
<SystemResourcesExtensionsPackageVersion>6.0.0-preview.6.21276.13</SystemResourcesExtensionsPackageVersion>
<SystemResourcesExtensionsPackageVersion>6.0.0-preview.6.21281.1</SystemResourcesExtensionsPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/roslyn-analyzers -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="$(MicrosoftExtensionsDependencyModelPackageVersion)" />
<!-- .NET 6 versions of this package no longer support .NET Core 2.2, so hard-code the version here to 5.0 -->
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure what this means. The package supports netstandard2.0, why wouldn't that asset be used?

cc @ViktorHofer

Copy link
Member

Choose a reason for hiding this comment

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

It looks like the latest build of DependencyModel now depends on System.Runtime.CompilerServices.Unsafe, and that package has a target in it blocking the build:

<Project InitialTargets="NETStandardCompatError_System_Runtime_CompilerServices_Unsafe_netcoreapp3_1">
  <Target Name="NETStandardCompatError_System_Runtime_CompilerServices_Unsafe_netcoreapp3_1"
          Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
    <Error Text="System.Runtime.CompilerServices.Unsafe doesn't support $(TargetFramework). Consider updating your TargetFramework to netcoreapp3.1 or later." />
  </Target>
</Project>

Copy link
Member

Choose a reason for hiding this comment

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

OK, that explains it. Thanks.

Copy link
Member

Choose a reason for hiding this comment

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

You're the first one that encounters these recent changes. I plan to send out a breaking change notice later this week after I synced up with @terrajobst on the format.

Is there a reason for dotnet/sdk to still have tests that build against an unsupported version of .NETCoreApp?

Copy link
Member

Choose a reason for hiding this comment

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

@ViktorHofer Late reply: Generally we want the SDK to continue to build projects successfully even if they're out of support. IE when a runtime goes out of support it means it won't get updates anymore, not that suddenly the tools stop working for that runtime.

<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="5.0.0" />
</ItemGroup>

</Project>
4 changes: 3 additions & 1 deletion src/Layout/redist/redist.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@
<EnableNETAnalyzers>false</EnableNETAnalyzers>
</PropertyGroup>

<Import Project="targets\BuildToolsetTasks.targets" />
<!-- This is currently imported in Directory.Build.targets -->
<!--<Import Project="targets\BuildToolsetTasks.targets" />-->

<Import Project="targets\GetRuntimeInformation.targets" />
<Import Project="targets\Version.targets" />
<Import Project="targets\BundledSdks.targets" />
Expand Down
33 changes: 28 additions & 5 deletions src/Layout/redist/targets/BuildToolsetTasks.targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,28 @@
<TaskTargetFramework>$(SdkTargetFramework)</TaskTargetFramework>
<TaskTargetFramework Condition="'$(MSBuildRuntimeType)' != 'Core'">net472</TaskTargetFramework>

<ToolsetTaskDll>$(ArtifactsDir)tasks\bin\toolset-tasks\$(Configuration)\$(TaskTargetFramework)\toolset-tasks.dll</ToolsetTaskDll>
<!--<ToolsetTaskDll>$(ArtifactsDir)tasks\bin\toolset-tasks\$(Configuration)\$(TaskTargetFramework)\toolset-tasks.dll</ToolsetTaskDll>-->
<ToolsetTaskDll>$(ArtifactsDir)bin\toolset-tasks\$(Configuration)\$(TaskTargetFramework)\toolset-tasks.dll</ToolsetTaskDll>
<ToolsetTaskProject>$(RepoRoot)src\Layout\toolset-tasks\toolset-tasks.csproj</ToolsetTaskProject>
</PropertyGroup>
<Target Name="BuildCoreSdkTasks" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
<!-- Use a different ArtifactsDir for this invocation so that the tasks project can be part of the solution
(for easy editing), but we don't hit problems with the tasks DLL being locked when we try to build the solution. -->

<!-- Right now we're using these tasks in all projects, so we build with a ProjectReference. Once https://github.com/dotnet/sdk/pull/17982
is merged and flows through to stage 0, we can delete the PatchRuntimeConfig target and go back to the way it was. -->
<ItemGroup>
<ProjectReference Include="$(ToolsetTaskProject)" ReferenceOutputAssembly="false" SkipGetTargetFrameworkProperties="true" SetTargetFramework="TargetFramework=$(TaskTargetFramework)" />
</ItemGroup>

<!--<Target Name="BuildCoreSdkTasks" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
--><!-- Use a different ArtifactsDir for this invocation so that the tasks project can be part of the solution
(for easy editing), but we don't hit problems with the tasks DLL being locked when we try to build the solution. --><!--

<MSBuild Projects="$(ToolsetTaskProject)"
Properties="ArtifactsDir=$(ArtifactsDir)tasks\;Phase=Restore"
Targets="Restore"/>

<MSBuild Projects="$(ToolsetTaskProject)"
Properties="ArtifactsDir=$(ArtifactsDir)tasks\"/>
</Target>
</Target>-->

<UsingTask TaskName="ReplaceFileContents" AssemblyFile="$(ToolsetTaskDll)" />
<UsingTask TaskName="Chmod" AssemblyFile="$(ToolsetTaskDll)" />
Expand All @@ -26,5 +34,20 @@
<UsingTask TaskName="GetCurrentRuntimeInformation" AssemblyFile="$(ToolsetTaskDll)"/>
<UsingTask TaskName="ZipFileCreateFromDirectory" AssemblyFile="$(ToolsetTaskDll)"/>
<UsingTask TaskName="OverrideAndCreateBundledNETCoreAppPackageVersion" AssemblyFile="$(ToolsetTaskDll)"/>
<UsingTask TaskName="AddBaseFrameworkToRuntimeConfig" AssemblyFile="$(ToolsetTaskDll)"/>

<Target Name="PatchRuntimeConfig" AfterTargets="GenerateBuildRuntimeConfigurationFiles"
Condition="'$(MSBuildProjectName)' != 'toolset-tasks' And '$(MSBuildProjectName)' != 'HelixTasks' And Exists($(ProjectRuntimeConfigFilePath))">

<!-- Currently, GenerateRuntimeConfigurationFiles omits the reference to Microsoft.NETCore.App from the runtimeconfig file when there is a different
shared framework. In this repo, this can cause the tests or tools such as dotnet-watch to use the stage 0 version of Microsoft.NETCore.App
instead of the version specified in Versions.props. This can cause failures when there are changes to the base framework, as we compile against
the one specified in Versions.props, but the project runs against an earlier version.

This task works around this by adding Microsoft.NETCore.App back to the list of runtimes in the runtimeconfig file if it's not there already. -->

<AddBaseFrameworkToRuntimeConfig RuntimeConfigPath="$(ProjectRuntimeConfigFilePath)" MicrosoftNetCoreAppVersion="$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)" />

</Target>

</Project>
64 changes: 64 additions & 0 deletions src/Layout/toolset-tasks/AddBaseFrameworkToRuntimeConfig.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Microsoft.NET.Build.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

namespace Microsoft.DotNet.Build.Tasks
{
public sealed class AddBaseFrameworkToRuntimeConfig : Task
{
[Required]
public string RuntimeConfigPath { get; set; }

[Required]
public string MicrosoftNetCoreAppVersion { get; set; }

public override bool Execute()
{
JsonSerializer serializer = new JsonSerializer();
serializer.ContractResolver = new CamelCasePropertyNamesContractResolver();
serializer.Formatting = Formatting.Indented;
serializer.DefaultValueHandling = DefaultValueHandling.Ignore;

RuntimeConfig runtimeConfig;
using (var sr = new StreamReader(RuntimeConfigPath))
{
runtimeConfig = serializer.Deserialize<RuntimeConfig>(new JsonTextReader(sr));
}

IEnumerable<RuntimeConfigFramework> currentFrameworks = runtimeConfig.RuntimeOptions.Frameworks ?? Enumerable.Empty<RuntimeConfigFramework>();
if (runtimeConfig.RuntimeOptions.Framework != null)
{
currentFrameworks = currentFrameworks.Prepend(runtimeConfig.RuntimeOptions.Framework);
}

if (!currentFrameworks.Any(f => f.Name.Equals("Microsoft.NETCore.App", StringComparison.OrdinalIgnoreCase)))
{
var newFrameworks = currentFrameworks.Prepend(new RuntimeConfigFramework()
{
Name = "Microsoft.NETCore.App",
Version = MicrosoftNetCoreAppVersion
});

runtimeConfig.RuntimeOptions.Framework = null;
runtimeConfig.RuntimeOptions.Frameworks = newFrameworks.ToList();

using (JsonTextWriter writer = new JsonTextWriter(new StreamWriter(File.Create(RuntimeConfigPath))))
{
serializer.Serialize(writer, runtimeConfig);
}
}

return true;
}
}
}
7 changes: 7 additions & 0 deletions src/Layout/toolset-tasks/toolset-tasks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<TargetFrameworks>$(SdkTargetFramework);net472</TargetFrameworks>
<TargetFrameworks Condition=" '$([MSBuild]::IsOSPlatform(`Windows`))' == 'false' ">$(SdkTargetFramework)</TargetFrameworks>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<RootNamespace>Microsoft.DotNet.Build.Tasks</RootNamespace>
</PropertyGroup>

<ItemGroup>
Expand All @@ -13,6 +14,12 @@
<PackageReference Include="System.Reflection.Metadata" Version="1.4.2" />
</ItemGroup>

<ItemGroup>
<Compile Include="..\..\Tasks\Microsoft.NET.Build.Tasks\RuntimeConfig.cs" LinkBase="RuntimeConfig"/>
<Compile Include="..\..\Tasks\Microsoft.NET.Build.Tasks\RuntimeOptions.cs" LinkBase="RuntimeConfig"/>
<Compile Include="..\..\Tasks\Microsoft.NET.Build.Tasks\RuntimeConfigFramework.cs" LinkBase="RuntimeConfig"/>
</ItemGroup>

<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
<Reference Include="System.Net.Http" />
</ItemGroup>
Expand Down