1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-09 17:44:48 +09:00

Add a new net6.0 TargetFramework (#42709)

* upgrade to net6.0

* add comment and update package version

* address feedback and fix failures

* address feedbacl

* address feedback
This commit is contained in:
Anirudh Agnihotry 2020-10-07 15:36:58 -07:00 committed by GitHub
parent 4fef87c65e
commit 2db717954a
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
53 changed files with 178 additions and 678 deletions

View file

@ -22,4 +22,27 @@
<NETCoreAppMaximumVersion>$(MajorVersion).$(MinorVersion)</NETCoreAppMaximumVersion>
</PropertyGroup>
<!--
SDK currently does not know about net6.0 TargetFramework.
We need to manually add these to correctly resolve the targeting packs.
https://github.com/dotnet/sdk/issues/13950
-->
<ItemGroup>
<KnownFrameworkReference Include="Microsoft.NETCore.App"
DefaultRuntimeFrameworkVersion="5.0.0-rc.1.20451.14"
IsTrimmable="true"
LatestRuntimeFrameworkVersion="5.0.0-rc.1.20451.14"
RuntimeFrameworkName="Microsoft.NETCore.App"
RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**"
RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;ios-arm64;ios-arm;ios-x64;ios-x86;tvos-arm64;tvos-x64;android-arm64;android-arm;android-x64;android-x86;browser-wasm"
TargetFramework="$(NetCoreAppCurrent)"
TargetingPackName="Microsoft.NETCore.App.Ref"
TargetingPackVersion="5.0.0-rc.1.20451.14" />
<KnownAppHostPack Include="Microsoft.NETCore.App"
AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**"
AppHostPackVersion="5.0.0-rc.1.20451.14"
AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86"
TargetFramework="$(NetCoreAppCurrent)" />
</ItemGroup>
</Project>

View file

@ -21,10 +21,15 @@
TODO: Update to $(MajorVersion).$(MinorVersion) when all sub-repos import
Arcade at the beginning (SkipImportArcadeSdkFromRoot=false).
-->
<NetCoreAppCurrentVersion>5.0</NetCoreAppCurrentVersion>
<NetCoreAppCurrentVersion>6.0</NetCoreAppCurrentVersion>
<AspNetCoreAppCurrentVersion>5.0</AspNetCoreAppCurrentVersion>
<NetCoreAppToolCurrentVersion>5.0</NetCoreAppToolCurrentVersion>
<NetCoreAppCurrentIdentifier>.NETCoreApp</NetCoreAppCurrentIdentifier>
<NetCoreAppCurrentTargetFrameworkMoniker>$(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppCurrentVersion)</NetCoreAppCurrentTargetFrameworkMoniker>
<NetCoreAppCurrent>net$(NetCoreAppCurrentVersion)</NetCoreAppCurrent>
<AspNetCoreAppCurrent>net$(AspNetCoreAppCurrentVersion)</AspNetCoreAppCurrent>
<NetCoreAppToolCurrent>net$(NetCoreAppToolCurrentVersion)</NetCoreAppToolCurrent>
<NetCoreAppCurrentToolTargetFrameworkMoniker>$(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppToolCurrentVersion)</NetCoreAppCurrentToolTargetFrameworkMoniker>
<!-- Used by Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk. -->
<NETCoreAppFramework>$(NetCoreAppCurrent)</NETCoreAppFramework>
<SharedFrameworkName>Microsoft.NETCore.App</SharedFrameworkName>

View file

@ -38,9 +38,9 @@
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>61cde6e8fb9d5c9790867b279deb41783a780cd8</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="5.0.0-beta.20474.4">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="5.0.0-beta.20501.10">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>61cde6e8fb9d5c9790867b279deb41783a780cd8</Sha>
<Sha>b6d0e8c2a27c94adc20bd97cf248d6522d20bf08</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="5.0.0-beta.20474.4">
<Uri>https://github.com/dotnet/arcade</Uri>
@ -158,9 +158,9 @@
<Uri>https://github.com/dotnet/llvm-project</Uri>
<Sha>67ada402f1f9e16199e876a1cab1649debe28eab</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App" Version="5.0.0-preview.4.20202.18">
<Dependency Name="Microsoft.NETCore.App" Version="5.0.0-rc.1.20451.14">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>0375524a91a47ca4db3ee1be548f74bab7e26e76</Sha>
<Sha>38017c3935de95d0335bac04f4901ddfc2718656</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.DotNetHost" Version="6.0.0-alpha.1.20501.4">
<Uri>https://github.com/dotnet/runtime</Uri>
@ -182,9 +182,9 @@
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>bdfbf0cf85878673a80d7822cc11bde5c9fda30c</Sha>
</Dependency>
<Dependency Name="System.Text.Json" Version="5.0.0-preview.4.20202.18">
<Dependency Name="System.Text.Json" Version="5.0.0-rc.1.20451.14">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>0375524a91a47ca4db3ee1be548f74bab7e26e76</Sha>
<Sha>38017c3935de95d0335bac04f4901ddfc2718656</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="6.0.0-alpha.1.20478.2">
<Uri>https://github.com/mono/linker</Uri>

View file

@ -59,11 +59,11 @@
<MicrosoftDotNetGenFacadesVersion>5.0.0-beta.20474.4</MicrosoftDotNetGenFacadesVersion>
<MicrosoftDotNetXUnitExtensionsVersion>5.0.0-beta.20474.4</MicrosoftDotNetXUnitExtensionsVersion>
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.20474.4</MicrosoftDotNetXUnitConsoleRunnerVersion>
<MicrosoftDotNetBuildTasksPackagingVersion>5.0.0-beta.20474.4</MicrosoftDotNetBuildTasksPackagingVersion>
<MicrosoftDotNetBuildTasksPackagingVersion>5.0.0-beta.20501.10</MicrosoftDotNetBuildTasksPackagingVersion>
<MicrosoftDotNetRemoteExecutorVersion>5.0.0-beta.20474.4</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetVersionToolsTasksVersion>5.0.0-beta.20474.4</MicrosoftDotNetVersionToolsTasksVersion>
<!-- Installer dependencies -->
<MicrosoftNETCoreAppVersion>5.0.0-preview.4.20202.18</MicrosoftNETCoreAppVersion>
<MicrosoftNETCoreAppVersion>5.0.0-rc.1.20451.14</MicrosoftNETCoreAppVersion>
<MicrosoftNETCoreDotNetHostVersion>6.0.0-alpha.1.20501.4</MicrosoftNETCoreDotNetHostVersion>
<MicrosoftNETCoreDotNetHostPolicyVersion>6.0.0-alpha.1.20501.4</MicrosoftNETCoreDotNetHostPolicyVersion>
<MicrosoftExtensionsDependencyModelVersion>3.1.0</MicrosoftExtensionsDependencyModelVersion>
@ -94,7 +94,7 @@
<SystemSecurityCryptographyCngVersion>4.7.0</SystemSecurityCryptographyCngVersion>
<SystemSecurityCryptographyPkcsVersion>4.7.0</SystemSecurityCryptographyPkcsVersion>
<SystemSecurityCryptographyOpenSslVersion>4.7.0</SystemSecurityCryptographyOpenSslVersion>
<SystemTextJsonVersion>5.0.0-preview.4.20202.18</SystemTextJsonVersion>
<SystemTextJsonVersion>5.0.0-rc.1.20451.14</SystemTextJsonVersion>
<SystemThreadingVersion>4.3.0</SystemThreadingVersion>
<SystemThreadingTasksExtensionsVersion>4.5.4</SystemThreadingTasksExtensionsVersion>
<SystemValueTupleVersion>4.5.0</SystemValueTupleVersion>

View file

@ -68,8 +68,8 @@ function Get-Help() {
Write-Host "Libraries settings:"
Write-Host " -allconfigurations Build packages for all build configurations."
Write-Host " -coverage Collect code coverage when testing."
Write-Host " -framework (-f) Build framework: net5.0 or net48."
Write-Host " [Default: net5.0]"
Write-Host " -framework (-f) Build framework: net6.0 or net48."
Write-Host " [Default: net6.0]"
Write-Host " -testnobuild Skip building tests when invoking -test."
Write-Host " -testscope Scope tests, allowed values: innerloop, outerloop, all."
Write-Host ""

View file

@ -62,8 +62,8 @@ usage()
echo "Libraries settings:"
echo " --allconfigurations Build packages for all build configurations."
echo " --coverage Collect code coverage when testing."
echo " --framework (-f) Build framework: net5.0 or net48."
echo " [Default: net5.0]"
echo " --framework (-f) Build framework: net6.0 or net48."
echo " [Default: net6.0]"
echo " --testnobuild Skip building tests when invoking -test."
echo " --testscope Test scope, allowed values: innerloop, outerloop, all."
echo ""

View file

@ -14,7 +14,7 @@ RUN ./src/coreclr/build.sh -release -skiptests -clang9 && \
FROM $SDK_BASE_IMAGE as target
ARG TESTHOST_LOCATION=/repo/artifacts/bin/testhost
ARG TFM=net5.0
ARG TFM=net6.0
ARG OS=Linux
ARG ARCH=x64
ARG CONFIGURATION=Release

View file

@ -4,7 +4,7 @@ ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:5.0-nanoserver-1809
FROM $SDK_BASE_IMAGE as target
ARG TESTHOST_LOCATION=".\\artifacts\\bin\\testhost"
ARG TFM=net5.0
ARG TFM=net6.0
ARG OS=Windows_NT
ARG ARCH=x64
ARG CONFIGURATION=Release

View file

@ -13,7 +13,7 @@ RUN ./build.sh -ci -subset clr+libs -runtimeconfiguration release -c $CONFIGURAT
FROM $SDK_BASE_IMAGE as target
ARG TESTHOST_LOCATION=/repo/artifacts/bin/testhost
ARG TFM=net5.0
ARG TFM=net6.0
ARG OS=Linux
ARG ARCH=x64
ARG CONFIGURATION=Release

View file

@ -4,7 +4,7 @@ ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:5.0-nanoserver-1809
FROM $SDK_BASE_IMAGE as target
ARG TESTHOST_LOCATION=".\\artifacts\\bin\\testhost"
ARG TFM=net5.0
ARG TFM=net6.0
ARG OS=Windows_NT
ARG ARCH=x64
ARG CONFIGURATION=Release

View file

@ -5,7 +5,7 @@ parameters:
osSubgroup: ''
container: ''
runtimeVariant: ''
framework: net5.0 # Specify the appropriate framework when running release branches (ie netcoreapp3.0 for release/3.0)
framework: net6.0 # Specify the appropriate framework when running release branches (ie netcoreapp3.0 for release/3.0)
liveLibrariesBuildConfig: ''
variables: {}
runtimeType: 'coreclr'

View file

@ -4,7 +4,7 @@ parameters:
archType: ''
osSubgroup: ''
crossrootfsDir: ''
framework: 'net5.0'
framework: 'net6.0'
isOfficialAllConfigurations: false
isSourceBuild: false
liveRuntimeBuildConfig: ''

View file

@ -5,7 +5,7 @@ parameters:
archType: ''
targetRid: ''
crossrootfsDir: ''
framework: 'net5.0'
framework: 'net6.0'
isOfficialBuild: false
isOfficialAllConfigurations: false
runtimeVariant: ''

View file

@ -4,7 +4,7 @@ parameters:
osSubgroup: ''
archType: ''
targetRid: ''
framework: 'net5.0'
framework: 'net6.0'
isOfficialBuild: false
liveRuntimeBuildConfig: ''
runtimeFlavor: 'coreclr'

View file

@ -33,4 +33,23 @@
<Target Name="PublishTrimmed" DependsOnTargets="RestoreProject;UpdateRuntimePack;Publish" />
<ItemGroup>
<KnownFrameworkReference Include="Microsoft.NETCore.App"
DefaultRuntimeFrameworkVersion="5.0.0-rc.1.20451.14"
IsTrimmable="true"
LatestRuntimeFrameworkVersion="5.0.0-rc.1.20451.14"
RuntimeFrameworkName="Microsoft.NETCore.App"
RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**"
RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;ios-arm64;ios-arm;ios-x64;ios-x86;tvos-arm64;tvos-x64;android-arm64;android-arm;android-x64;android-x86;browser-wasm"
TargetFramework="net6.0"
TargetingPackName="Microsoft.NETCore.App.Ref"
TargetingPackVersion="5.0.0-rc.1.20451.14" />
<KnownAppHostPack Include="Microsoft.NETCore.App"
AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**"
AppHostPackVersion="5.0.0-rc.1.20451.14"
AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86"
TargetFramework="net6.0" />
</ItemGroup>
</Project>

View file

@ -6,6 +6,7 @@
<RuntimeIdentifier>{RuntimeIdentifier}</RuntimeIdentifier>
<RuntimePackDir>{RuntimePackDir}</RuntimePackDir>
<TargetingPackDir>{TargetingPackDir}</TargetingPackDir>
<NETCoreAppMaximumVersion>{NetCoreAppMaximumVersion}</NETCoreAppMaximumVersion>
<!-- These can be removed once we get an SDK with https://github.com/mono/linker/pull/1385. -->
<LinkerNoWarn>IL2026</LinkerNoWarn>

View file

@ -74,6 +74,7 @@
<WriteLinesToFile File="$(_projectFile)"
Lines="$([System.IO.File]::ReadAllText('$(ProjectTemplate)')
.Replace('{NetCoreAppCurrent}', '$(NetCoreAppCurrent)')
.Replace('{NetCoreAppMaximumVersion}', '$(NetCoreAppMaximumVersion)')
.Replace('{RuntimePackDir}', '%(TestConsoleApps.RuntimePackDirectory)')
.Replace('{TargetingPackDir}','$(MicrosoftNetCoreAppRefPackDir)')
.Replace('{RuntimeIdentifier}','%(TestConsoleApps.TestRuntimeIdentifier)')

View file

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
</PropertyGroup>
</Project>

View file

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Library</OutputType>
<AssemblyName>ILCompiler.ReadyToRun</AssemblyName>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants>READYTORUN;$(DefineConstants)</DefineConstants>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<AssemblyName>ILCompiler.TypeSystem.ReadyToRun.Tests</AssemblyName>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<Configurations>Debug;Release;Checked</Configurations>
<!-- This seems to be required for supporting assemblies to be copied into the output -->
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

View file

@ -3,7 +3,7 @@
<AssemblyName>crossgen2</AssemblyName>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputType>Exe</OutputType>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<NoWarn>8002,NU1701</NoWarn>
<Platforms>x64;x86;arm64;arm</Platforms>
<PlatformTarget>AnyCPU</PlatformTarget>

View file

@ -3,7 +3,7 @@
<PropertyGroup>
<AssemblyName>dotnet-pgo</AssemblyName>
<OutputType>Exe</OutputType>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>8.0</LangVersion>
<OutputPath>$(RuntimeBinDir)/dotnet-pgo</OutputPath>

View file

@ -7,7 +7,7 @@
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<AssemblyKey>Open</AssemblyKey>
<IsDotNetFrameworkProductAssembly>true</IsDotNetFrameworkProductAssembly>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<CLSCompliant>false</CLSCompliant>
<NoWarn>8002,NU1701</NoWarn>
<RuntimeIdentifiers>win-x64;win-x86</RuntimeIdentifiers>

View file

@ -3,7 +3,7 @@
<AssemblyName>R2RTest</AssemblyName>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputType>Exe</OutputType>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<NoWarn>8002,NU1701</NoWarn>
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputPath>$(RuntimeBinDir)\R2RTest</OutputPath>

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<RuntimeFrameworkVersion>$(MicrosoftNETCoreAppVersion)</RuntimeFrameworkVersion>
<UseAppHost>false</UseAppHost>
<CLRTestKind>BuildOnly</CLRTestKind>

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
</PropertyGroup>
</Project>

View file

@ -3,5 +3,27 @@
This file is imported by the test projects from the artifacts dir or the src/tests dir. It
provides basic info needed for restore and build with the vanilla SDK.
-->
<PropertyGroup>
<NETCoreAppMaximumVersion>$(NetCoreAppCurrentVersion)</NETCoreAppMaximumVersion>
</PropertyGroup>
<ItemGroup>
<KnownFrameworkReference Include="Microsoft.NETCore.App"
DefaultRuntimeFrameworkVersion="5.0.0-rc.1.20451.14"
IsTrimmable="true"
LatestRuntimeFrameworkVersion="5.0.0-rc.1.20451.14"
RuntimeFrameworkName="Microsoft.NETCore.App"
RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**"
RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;ios-arm64;ios-arm;ios-x64;ios-x86;tvos-arm64;tvos-x64;android-arm64;android-arm;android-x64;android-x86;browser-wasm"
TargetFramework="net6.0"
TargetingPackName="Microsoft.NETCore.App.Ref"
TargetingPackVersion="5.0.0-rc.1.20451.14" />
<KnownAppHostPack Include="Microsoft.NETCore.App"
AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**"
AppHostPackVersion="5.0.0-rc.1.20451.14"
AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86"
TargetFramework="net6.0" />
</ItemGroup>
</Project>

View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash
usage_list=("-outconfig: Configuration, typically a quadruplet such as 'net5.0-Linux-Release-x64', used to name output directory.")
usage_list=("-outconfig: Configuration, typically a quadruplet such as 'net6.0-Linux-Release-x64', used to name output directory.")
usage_list+=("-staticLibLink: Optional argument to statically link any native library.")
__scriptpath="$(cd "$(dirname "$0")"; pwd -P)"

View file

@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);netstandard2.0;net461</TargetFrameworks>
<TargetFrameworks>$(NetCoreAppCurrent);net5.0;netstandard2.0;net461</TargetFrameworks>
<ExcludeCurrentNetCoreAppFromPackage>true</ExcludeCurrentNetCoreAppFromPackage>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
@ -18,4 +19,9 @@
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">
<Reference Include="System.Runtime" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Primitives"/>
</ItemGroup>
</Project>

View file

@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);netstandard2.0;net461</TargetFrameworks>
<TargetFrameworks>$(NetCoreAppCurrent);net5.0;netstandard2.0;net461</TargetFrameworks>
<ExcludeCurrentNetCoreAppFromPackage>true</ExcludeCurrentNetCoreAppFromPackage>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
@ -10,7 +11,7 @@
<Compile Include="System\Net\Http\Json\HttpContentJsonExtensions.cs" />
<Compile Include="System\Net\Http\Json\JsonContent.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)'">
<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0' and '$(TargetFramework)' != 'net461'">
<Compile Include="System\Net\Http\Json\HttpContentJsonExtensions.netcoreapp.cs" />
<Compile Include="System\Net\Http\Json\JsonContent.netcoreapp.cs" />
</ItemGroup>
@ -21,7 +22,7 @@
<Compile Include="System\Net\Http\Json\TranscodingReadStream.cs" />
<Compile Include="System\Net\Http\Json\TranscodingWriteStream.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)'">
<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0' and '$(TargetFramework)' != 'net461'">
<Reference Include="System.Memory" />
<Reference Include="System.Net.Mail" />
<Reference Include="System.Net.Http" />

View file

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);netstandard2.0;net461;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>net5.0;netstandard2.0;net461;netcoreapp3.0</TargetFrameworks>
</PropertyGroup>
<!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
<PropertyGroup>
@ -14,7 +14,7 @@
<Compile Include="System.Security.Permissions.cs" />
<Compile Include="System.Security.Permissions.Forwards.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)' or '$(TargetFramework)' == 'netcoreapp3.0'">
<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0' and '$(TargetFramework)' != 'net461'">
<Compile Include="System.Security.Permissions.netcoreapp.cs" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
@ -30,7 +30,7 @@
<ItemGroup Condition="!$(TargetFramework.StartsWith('net4'))">
<ProjectReference Include="$(LibrariesProjectRoot)System.Security.AccessControl\ref\System.Security.AccessControl.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)' or '$(TargetFramework)' == 'netcoreapp3.0'">
<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0' and '$(TargetFramework)' != 'net461'">
<ProjectReference Include="$(LibrariesProjectRoot)System.Windows.Extensions\ref\System.Windows.Extensions.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)'">
@ -46,7 +46,7 @@
<ProjectReference Include="$(LibrariesProjectRoot)System.Text.RegularExpressions\ref\System.Text.RegularExpressions.csproj" />
<ProjectReference Include="$(LibrariesProjectRoot)System.Threading\ref\System.Threading.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0'">
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0' or '$(TargetFramework)' == 'net5.0'">
<Reference Include="netstandard" />
<Reference Include="System.Collections.NonGeneric" />
<Reference Include="System.ComponentModel.Primitives" />

View file

@ -1,7 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
<TargetFrameworks>$(NetCoreAppCurrent);netcoreapp3.0;netstandard2.0;net461</TargetFrameworks>
<TargetFrameworks>$(NetCoreAppCurrent);net5.0;netcoreapp3.0;netstandard2.0;net461</TargetFrameworks>
<ExcludeCurrentNetCoreAppFromPackage>true</ExcludeCurrentNetCoreAppFromPackage>
</PropertyGroup>
<!-- We conditionally apply net5.0+ obsoletions -->
<PropertyGroup Condition="!($(TargetFramework.StartsWith('netcoreapp')) or $(TargetFramework.StartsWith('netstandard')) or $(TargetFramework.StartsWith('net4')))">
@ -182,7 +183,7 @@
<Compile Include="$(CommonPath)System\Obsoletions.cs"
Link="Common\System\Obsoletions.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)' or '$(TargetFramework)' == 'netcoreapp3.0'">
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)' or '$(TargetFramework)' == 'net5.0' or '$(TargetFramework)' == 'netcoreapp3.0'">
<Compile Include="System\Xaml\Permissions\XamlLoadPermission.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
@ -207,7 +208,7 @@
<ItemGroup Condition="!$(TargetFramework.StartsWith('net4'))">
<ProjectReference Include="$(LibrariesProjectRoot)System.Security.AccessControl\src\System.Security.AccessControl.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)' or '$(TargetFramework)' == 'netcoreapp3.0'">
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)' or '$(TargetFramework)' == 'net5.0' or '$(TargetFramework)' == 'netcoreapp3.0'">
<ProjectReference Include="$(LibrariesProjectRoot)System.Windows.Extensions\src\System.Windows.Extensions.csproj" />
<Reference Include="System.Collections" />
<Reference Include="System.Collections.NonGeneric" />

View file

@ -0,0 +1,18 @@
<Project>
<PropertyGroup>
<RuntimeFrameworkVersion>$(MicrosoftNETCoreAppVersion)</RuntimeFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<KnownFrameworkReference Include="Microsoft.NETCore.App"
DefaultRuntimeFrameworkVersion="$(RuntimeFrameworkVersion)"
IsTrimmable="true"
LatestRuntimeFrameworkVersion="$(RuntimeFrameworkVersion)"
RuntimeFrameworkName="Microsoft.NETCore.App"
RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**"
RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;ios-arm64;ios-arm;ios-x64;ios-x86;tvos-arm64;tvos-x64;android-arm64;android-arm;android-x64;android-x86;browser-wasm"
TargetFramework="net6.0"
TargetingPackName="Microsoft.NETCore.App.Ref"
TargetingPackVersion="$(RuntimeFrameworkVersion)" />
</ItemGroup>
</Project>

View file

@ -7,6 +7,7 @@
<TestPackageVersion>{PackageVersion}</TestPackageVersion>
<!-- Turn off end of life target framework checks as we intentionally build older .NETCoreApp configurations. -->
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<NETCoreAppMaximumVersion>99.0</NETCoreAppMaximumVersion>
<SupportFilesDir Condition="'$(SupportFilesDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\support</SupportFilesDir>
</PropertyGroup>

View file

@ -5,9 +5,9 @@
<TargetFramework Condition="'$(TargetFramework)' == ''">$(NetCoreAppCurrent)</TargetFramework>
<!-- Set to true to build this project -->
<BaselineApiCompat Condition="'$(BaselineApiCompat)' == ''">false</BaselineApiCompat>
<PreviousNetCoreApp>netcoreapp3.1</PreviousNetCoreApp>
<PreviousNetCoreApp>net5.0</PreviousNetCoreApp>
<PreviousNetCoreAppPackageId>microsoft.netcore.app.ref</PreviousNetCoreAppPackageId>
<PreviousNetCoreAppPackageVersion>3.1.0</PreviousNetCoreAppPackageVersion>
<PreviousNetCoreAppPackageVersion>5.0.0-rc.1.20451.14</PreviousNetCoreAppPackageVersion>
</PropertyGroup>
<ItemGroup>
@ -111,7 +111,7 @@
<_previousNetCoreAppBaselineParam Condition="'$(UpdatePreviousNetCoreAppBaseline)' == 'true'">&gt; &quot;$(_previousNetCoreAppBaselineFile)&quot;</_previousNetCoreAppBaselineParam>
</PropertyGroup>
<Error Condition="'$(NetCoreAppCurrent)' != 'net5.0'" Text="Update value of PreviousNetCoreApp" />
<Error Condition="'$(NetCoreAppCurrent)' != 'net6.0'" Text="Update value of PreviousNetCoreApp" />
<Error Condition="!Exists($(PreviousNetCoreAppRefPath))" Text="Missing reference assemblies for '$(PreviousNetCoreApp)'" />
<Exec Command="$(_ApiCompatCommand) &quot;$(PreviousNetCoreAppRefPath.TrimEnd('\/'))&quot; @&quot;$(ApiCompatResponseFile)&quot; $(_previousNetCoreAppBaselineParam)"
CustomErrorRegularExpression="^[a-zA-Z]+ :"

View file

@ -1,170 +1,16 @@
Compat issues with assembly netstandard:
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.ComponentModel.BackgroundWorker.WorkerReportsProgress' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.ComponentModel.BackgroundWorker.WorkerSupportsCancellation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.Process.EnableRaisingEvents' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Environment' in the contract but not the implementation.
CannotChangeAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' on 'System.Diagnostics.ProcessStartInfo.Verb' changed from '[DefaultValueAttribute(null)]' in the contract to '[DefaultValueAttribute("")]' in the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.WindowStyle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.ComponentModel.MarshalByValueComponent' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.ComponentModel.Design.DesignerOptionService.DesignerOptionCollection' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.Constraint' in the contract but not the implementation.
CannotChangeAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' on 'System.Data.DataColumn.DataType' changed from '[DefaultValueAttribute(typeof(string))]' in the contract to '[DefaultValueAttribute(typeof(String))]' in the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.DataRelation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.DataViewSetting' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.Common.DataColumnMapping' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.Common.DataTableMapping' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Diagnostics.SwitchLevelAttribute' exists on 'System.Diagnostics.BooleanSwitch' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Diagnostics.SwitchLevelAttribute' exists on 'System.Diagnostics.TraceSwitch' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchema.Includes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchema.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAll.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAnnotated.Annotation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAnnotation.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAttributeGroup.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaChoice.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContent.Content' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentExtension.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentExtension.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentRestriction.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentRestriction.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexType.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexType.ContentModel' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexType.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaElement.Constraints' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaElement.SchemaType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaGroup.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaIdentityConstraint.Fields' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaIdentityConstraint.Selector' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaImport.Annotation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaInclude.Annotation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaRedefine.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSequence.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContent.Content' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentExtension.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentRestriction.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentRestriction.BaseType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentRestriction.Facets' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleType.Content' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeList.ItemType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeRestriction.BaseType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeRestriction.Facets' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeUnion.BaseTypes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.ComponentModel.MarshalByValueComponent' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.ComponentModel.Design.DesignerOptionService.DesignerOptionCollection' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Diagnostics.SwitchLevelAttribute' exists on 'System.Diagnostics.BooleanSwitch' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Diagnostics.SwitchLevelAttribute' exists on 'System.Diagnostics.TraceSwitch' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.ComponentModel.MarshalByValueComponent' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.ComponentModel.Design.DesignerOptionService.DesignerOptionCollection' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.Constraint' in the contract but not the implementation.
CannotChangeAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' on 'System.Data.DataColumn.DataType' changed from '[DefaultValueAttribute(typeof(string))]' in the contract to '[DefaultValueAttribute(typeof(String))]' in the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.DataRelation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.DataViewSetting' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.Common.DataColumnMapping' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.Common.DataTableMapping' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.Constraint' in the contract but not the implementation.
CannotChangeAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' on 'System.Data.DataColumn.DataType' changed from '[DefaultValueAttribute(typeof(string))]' in the contract to '[DefaultValueAttribute(typeof(String))]' in the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.DataRelation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.DataViewSetting' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.Common.DataColumnMapping' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.TypeConverterAttribute' exists on 'System.Data.Common.DataTableMapping' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Diagnostics.SwitchLevelAttribute' exists on 'System.Diagnostics.BooleanSwitch' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Diagnostics.SwitchLevelAttribute' exists on 'System.Diagnostics.TraceSwitch' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchema.Includes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchema.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAll.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAnnotated.Annotation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAnnotation.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAttributeGroup.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaChoice.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContent.Content' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentExtension.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentExtension.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentRestriction.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentRestriction.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexType.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexType.ContentModel' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexType.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaElement.Constraints' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaElement.SchemaType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaGroup.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaIdentityConstraint.Fields' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaIdentityConstraint.Selector' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaImport.Annotation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaInclude.Annotation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaRedefine.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSequence.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContent.Content' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentExtension.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentRestriction.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentRestriction.BaseType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentRestriction.Facets' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleType.Content' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeList.ItemType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeRestriction.BaseType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeRestriction.Facets' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeUnion.BaseTypes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchema.Includes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchema.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAll.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAnnotated.Annotation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAnnotation.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaAttributeGroup.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaChoice.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContent.Content' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentExtension.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentExtension.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentRestriction.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexContentRestriction.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexType.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexType.ContentModel' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaComplexType.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaElement.Constraints' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaElement.SchemaType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaGroup.Particle' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaIdentityConstraint.Fields' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaIdentityConstraint.Selector' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaImport.Annotation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaInclude.Annotation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaRedefine.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSequence.Items' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContent.Content' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentExtension.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentRestriction.Attributes' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentRestriction.BaseType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleContentRestriction.Facets' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleType.Content' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeList.ItemType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeRestriction.BaseType' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeRestriction.Facets' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Xml.Serialization.XmlElementAttribute' exists on 'System.Xml.Schema.XmlSchemaSimpleTypeUnion.BaseTypes' in the contract but not the implementation.
Compat issues with assembly System:
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.ComponentModel.BackgroundWorker.WorkerReportsProgress' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.ComponentModel.BackgroundWorker.WorkerSupportsCancellation' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.Process.EnableRaisingEvents' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Environment' in the contract but not the implementation.
CannotChangeAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' on 'System.Diagnostics.ProcessStartInfo.Verb' changed from '[DefaultValueAttribute(null)]' in the contract to '[DefaultValueAttribute("")]' in the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.WindowStyle' in the contract but not the implementation.
Compat issues with assembly System.ComponentModel.EventBasedAsync:
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.ComponentModel.BackgroundWorker.WorkerReportsProgress' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.ComponentModel.BackgroundWorker.WorkerSupportsCancellation' in the contract but not the implementation.
Compat issues with assembly System.Diagnostics.Process:
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.Process.EnableRaisingEvents' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Environment' in the contract but not the implementation.
CannotChangeAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' on 'System.Diagnostics.ProcessStartInfo.Verb' changed from '[DefaultValueAttribute(null)]' in the contract to '[DefaultValueAttribute("")]' in the implementation.
CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.WindowStyle' in the contract but not the implementation.
Compat issues due to removal of System.Runtime.InteropServices.WindowsRuntime:
TypesMustExist : Type 'System.Runtime.InteropServices.WindowsRuntime.DefaultInterfaceAttribute' does not exist in the implementation but it does exist in the contract.
TypesMustExist : Type 'System.Runtime.InteropServices.WindowsRuntime.EventRegistrationToken' does not exist in the implementation but it does exist in the contract.
TypesMustExist : Type 'System.Runtime.InteropServices.WindowsRuntime.EventRegistrationTokenTable<T>' does not exist in the implementation but it does exist in the contract.
TypesMustExist : Type 'System.Runtime.InteropServices.WindowsRuntime.IActivationFactory' does not exist in the implementation but it does exist in the contract.
TypesMustExist : Type 'System.Runtime.InteropServices.WindowsRuntime.InterfaceImplementedInVersionAttribute' does not exist in the implementation but it does exist in the contract.
TypesMustExist : Type 'System.Runtime.InteropServices.WindowsRuntime.ReadOnlyArrayAttribute' does not exist in the implementation but it does exist in the contract.
TypesMustExist : Type 'System.Runtime.InteropServices.WindowsRuntime.ReturnValueNameAttribute' does not exist in the implementation but it does exist in the contract.
TypesMustExist : Type 'System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeMarshal' does not exist in the implementation but it does exist in the contract.
TypesMustExist : Type 'System.Runtime.InteropServices.WindowsRuntime.WriteOnlyArrayAttribute' does not exist in the implementation but it does exist in the contract.
Compat issues with assembly System.Text.Json:
CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Text.Json.Serialization.JsonConverterAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Enum | AttributeTargets.Property | AttributeTargets.Struct, AllowMultiple=false)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Enum | AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Struct, AllowMultiple=false)]' in the implementation.
CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Text.Json.Serialization.JsonExtensionDataAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Property, AllowMultiple=false)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple=false)]' in the implementation.
CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Text.Json.Serialization.JsonIgnoreAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Property, AllowMultiple=false)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple=false)]' in the implementation.
CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Text.Json.Serialization.JsonPropertyNameAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Property, AllowMultiple=false)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple=false)]' in the implementation.
Total Issues: 172
CannotChangeAttribute : Attribute 'System.Runtime.Versioning.SupportedOSPlatformAttribute' on 'System.Diagnostics.Process.MaxWorkingSet.set(System.IntPtr)' changed from '[SupportedOSPlatformAttribute("windows")]' in the contract to '[SupportedOSPlatformAttribute("freebsd")]' in the implementation.
CannotChangeAttribute : Attribute 'System.Runtime.Versioning.SupportedOSPlatformAttribute' on 'System.Diagnostics.Process.MinWorkingSet.set(System.IntPtr)' changed from '[SupportedOSPlatformAttribute("windows")]' in the contract to '[SupportedOSPlatformAttribute("freebsd")]' in the implementation.
CannotChangeAttribute : Attribute 'System.Runtime.Versioning.SupportedOSPlatformAttribute' on 'System.Diagnostics.Process.MaxWorkingSet.set(System.IntPtr)' changed from '[SupportedOSPlatformAttribute("windows")]' in the contract to '[SupportedOSPlatformAttribute("freebsd")]' in the implementation.
CannotChangeAttribute : Attribute 'System.Runtime.Versioning.SupportedOSPlatformAttribute' on 'System.Diagnostics.Process.MinWorkingSet.set(System.IntPtr)' changed from '[SupportedOSPlatformAttribute("windows")]' in the contract to '[SupportedOSPlatformAttribute("freebsd")]' in the implementation.
CannotChangeAttribute : Attribute 'System.Runtime.Versioning.SupportedOSPlatformAttribute' on 'System.Diagnostics.Process.MaxWorkingSet.set(System.IntPtr)' changed from '[SupportedOSPlatformAttribute("windows")]' in the contract to '[SupportedOSPlatformAttribute("freebsd")]' in the implementation.
CannotChangeAttribute : Attribute 'System.Runtime.Versioning.SupportedOSPlatformAttribute' on 'System.Diagnostics.Process.MinWorkingSet.set(System.IntPtr)' changed from '[SupportedOSPlatformAttribute("windows")]' in the contract to '[SupportedOSPlatformAttribute("freebsd")]' in the implementation.
Compat issues with assembly System.Net.Http:
MembersMustExist : Member 'public System.Net.Connections.ConnectionFactory System.Net.Http.SocketsHttpHandler.ConnectionFactory.get()' does not exist in the implementation but it does exist in the contract.
MembersMustExist : Member 'public void System.Net.Http.SocketsHttpHandler.ConnectionFactory.set(System.Net.Connections.ConnectionFactory)' does not exist in the implementation but it does exist in the contract.
MembersMustExist : Member 'public System.Func<System.Net.Http.HttpRequestMessage, System.Net.Connections.Connection, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<System.Net.Connections.Connection>> System.Net.Http.SocketsHttpHandler.PlaintextFilter.get()' does not exist in the implementation but it does exist in the contract.
MembersMustExist : Member 'public void System.Net.Http.SocketsHttpHandler.PlaintextFilter.set(System.Func<System.Net.Http.HttpRequestMessage, System.Net.Connections.Connection, System.Threading.CancellationToken, System.Threading.Tasks.ValueTask<System.Net.Connections.Connection>>)' does not exist in the implementation but it does exist in the contract.
Compat issues with assembly System.Net.Primitives:
TypesMustExist : Type 'System.Net.NetworkError' does not exist in the implementation but it does exist in the contract.
TypesMustExist : Type 'System.Net.NetworkException' does not exist in the implementation but it does exist in the contract.
Total Issues: 12

View file

@ -13,7 +13,7 @@ BINDIR?=$(TOP)/artifacts/bin
OBJDIR?=$(TOP)/artifacts/obj
PINVOKE_TABLE?=$(TOP)/artifacts/obj/wasm/pinvoke-table.h
MONO_BIN_DIR?=$(BINDIR)/mono/Browser.wasm.$(CONFIG)
NATIVE_BIN_DIR?=$(BINDIR)/native/net5.0-Browser-$(CONFIG)-wasm
NATIVE_BIN_DIR?=$(BINDIR)/native/net6.0-Browser-$(CONFIG)-wasm
ICU_LIBDIR?=
SYSTEM_NATIVE_LIBDIR?=$(TOP)/src/libraries/Native/Unix/System.Native
ENABLE_ES6?=false

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(AspNetCoreAppCurrent)</TargetFramework>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<NoWarn>$(NoWarn),CA2007</NoWarn>
</PropertyGroup>

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(AspNetCoreAppCurrent)</TargetFramework>
<NoWarn>$(NoWarn),CA2007</NoWarn>
</PropertyGroup>

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(AspNetCoreAppCurrent)</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<RunAnalyzers>false</RunAnalyzers>
</PropertyGroup>

View file

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="BuildApp">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(AspNetCoreAppCurrent)</TargetFramework>
<TargetArchitecture>wasm</TargetArchitecture>
<TargetOS>Browser</TargetOS>
<MicrosoftNetCoreAppRuntimePackDir>$(ArtifactsBinDir)microsoft.netcore.app.runtime.browser-wasm\Release\runtimes\browser-wasm\</MicrosoftNetCoreAppRuntimePackDir>

View file

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="BuildApp">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(AspNetCoreAppCurrent)</TargetFramework>
<TargetArchitecture>wasm</TargetArchitecture>
<TargetOS>Browser</TargetOS>
<MicrosoftNetCoreAppRuntimePackDir>$(ArtifactsBinDir)microsoft.netcore.app.runtime.browser-wasm\Release\runtimes\browser-wasm\</MicrosoftNetCoreAppRuntimePackDir>

View file

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="BuildApp">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(AspNetCoreAppCurrent)</TargetFramework>
<TargetArchitecture>wasm</TargetArchitecture>
<TargetOS>Browser</TargetOS>
<MicrosoftNetCoreAppRuntimePackDir>$(ArtifactsBinDir)microsoft.netcore.app.runtime.browser-wasm\Release\runtimes\browser-wasm\</MicrosoftNetCoreAppRuntimePackDir>

View file

@ -5,7 +5,7 @@
<CLRTestKind>BuildOnly</CLRTestKind>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateRunScript>false</GenerateRunScript>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Assertion.cs" />

View file

@ -2,8 +2,8 @@
<PropertyGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NuGetTargetMoniker>$(NetCoreAppCurrentTargetFrameworkMoniker)</NuGetTargetMoniker>
<NuGetTargetMonikerShort>$(NetCoreAppCurrent)</NuGetTargetMonikerShort>
<NuGetTargetMoniker>$(NetCoreAppCurrentToolTargetFrameworkMoniker)</NuGetTargetMoniker>
<NuGetTargetMonikerShort>$(NetCoreAppToolCurrent)</NuGetTargetMonikerShort>
<RunAnalyzers>false</RunAnalyzers>
</PropertyGroup>

View file

@ -6,7 +6,7 @@
and old-style projects should go in dir.common.props. -->
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<EnableDefaultItems>false</EnableDefaultItems>
<Platform>AnyCPU</Platform>

View file

@ -12,9 +12,7 @@
This RID value doesn't really matter, since the assets we are copying are not RID specific, so defaulting to Windows here
-->
<OutputPath>$(TargetingPackPath)</OutputPath>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<NuGetTargetMoniker>$(NetCoreAppCurrentTargetFrameworkMoniker)</NuGetTargetMoniker>
<NuGetTargetMonikerShort>$(NetCoreAppCurrent)</NuGetTargetMonikerShort>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
<XUnitRunnerTargetFramework>netcoreapp2.1</XUnitRunnerTargetFramework>
<CLRTestKind>SharedLibrary</CLRTestKind>

View file

@ -1,443 +0,0 @@
#!/usr/bin/env python
#
# Licensed to the .NET Foundation under one or more agreements.
# The .NET Foundation licenses this file to you under the MIT license.
#
##########################################################################
##########################################################################
#
# Module: run-corefx-tests.py
#
# Notes:
#
# Script to clone the CoreFx repo, build, and run its tests.
#
##########################################################################
##########################################################################
import argparse
import distutils.dir_util
import os
import re
import shutil
import subprocess
import sys
##########################################################################
# Globals
##########################################################################
testing = False
Corefx_url = 'https://github.com/dotnet/corefx.git'
# This should be factored out of build.sh
Unix_name_map = {
'Linux': 'Linux',
'Darwin': 'OSX',
'FreeBSD': 'FreeBSD',
'OpenBSD': 'OpenBSD',
'NetBSD': 'NetBSD',
'SunOS': 'SunOS'
}
Is_windows = (os.name == 'nt')
##########################################################################
# Delete protocol
##########################################################################
def del_rw(action, name, exc):
os.chmod(name, 0o651)
os.remove(name)
##########################################################################
# Argument Parser
##########################################################################
description = 'Tool to facilitate running CoreFx tests from the CoreCLR repo'
parser = argparse.ArgumentParser(description=description)
parser.add_argument('-arch', dest='arch', default='x64')
parser.add_argument('-ci_arch', dest='ci_arch', default=None)
parser.add_argument('-build_type', dest='build_type', default='Debug')
parser.add_argument('-clr_root', dest='clr_root', default=None)
parser.add_argument('-fx_root', dest='fx_root', default=None)
parser.add_argument('-fx_branch', dest='fx_branch', default='master')
parser.add_argument('-fx_commit', dest='fx_commit', default=None)
parser.add_argument('-env_script', dest='env_script', default=None)
parser.add_argument('-exclusion_rsp_file', dest='exclusion_rsp_file', default=None)
parser.add_argument('-no_run_tests', dest='no_run_tests', action="store_true", default=False)
##########################################################################
# Helper Functions
##########################################################################
def validate_args(args):
""" Validate all of the arguments parsed.
Args:
args (argparser.ArgumentParser): Args parsed by the argument parser.
Returns:
(arch, ci_arch, build_type, clr_root, fx_root, fx_branch, fx_commit, env_script, exclusion_rsp_file, no_run_tests)
(str, str, str, str, str, str, str, str, str)
Notes:
If the arguments are valid then return them all in a tuple. If not, raise
an exception stating x argument is incorrect.
"""
arch = args.arch
ci_arch = args.ci_arch
build_type = args.build_type
clr_root = args.clr_root
fx_root = args.fx_root
fx_branch = args.fx_branch
fx_commit = args.fx_commit
env_script = args.env_script
exclusion_rsp_file = args.exclusion_rsp_file
no_run_tests = args.no_run_tests
def validate_arg(arg, check):
""" Validate an individual arg
Args:
arg (str|bool): argument to be validated
check (lambda: x-> bool): test that returns either True or False
: based on whether the check passes.
Returns:
is_valid (bool): Is the argument valid?
"""
helper = lambda item: item is not None and check(item)
if not helper(arg):
raise Exception('Argument: %s is not valid.' % (arg))
valid_archs = ['x86', 'x64', 'arm', 'arm64']
valid_build_types = ['Debug', 'Checked', 'Release']
arch = next((a for a in valid_archs if a.lower() == arch.lower()), arch)
build_type = next((b for b in valid_build_types if b.lower() == build_type.lower()), build_type)
validate_arg(arch, lambda item: item in valid_archs)
validate_arg(build_type, lambda item: item in valid_build_types)
validate_arg(fx_branch, lambda item: True)
if fx_commit is None:
fx_commit = 'HEAD'
if clr_root is None:
clr_root = nth_dirname(os.path.abspath(sys.argv[0]), 3)
else:
clr_root = os.path.normpath(clr_root)
validate_arg(clr_root, lambda item: os.path.isdir(clr_root))
if fx_root is None:
fx_root = os.path.join(clr_root, '_', 'fx')
else:
fx_root = os.path.normpath(fx_root)
if env_script is not None:
validate_arg(env_script, lambda item: os.path.isfile(env_script))
env_script = os.path.abspath(env_script)
if exclusion_rsp_file is not None:
validate_arg(exclusion_rsp_file, lambda item: os.path.isfile(exclusion_rsp_file))
exclusion_rsp_file = os.path.abspath(exclusion_rsp_file)
args = (arch, ci_arch, build_type, clr_root, fx_root, fx_branch, fx_commit, env_script, exclusion_rsp_file, no_run_tests)
log('Configuration:')
log(' arch: %s' % arch)
log(' ci_arch: %s' % ci_arch)
log(' build_type: %s' % build_type)
log(' clr_root: %s' % clr_root)
log(' fx_root: %s' % fx_root)
log(' fx_branch: %s' % fx_branch)
log(' fx_commit: %s' % fx_commit)
log(' env_script: %s' % env_script)
log(' exclusion_rsp_file: %s' % exclusion_rsp_file)
log(' no_run_tests: %s' % no_run_tests)
return args
def nth_dirname(path, n):
""" Find the Nth parent directory of the given path
Args:
path (str): path name containing at least N components
n (int): num of basenames to remove
Returns:
outpath (str): path with the last n components removed
Notes:
If n is 0, path is returned unmodified
"""
assert n >= 0
for i in range(0, n):
path = os.path.dirname(path)
return path
def log(message):
""" Print logging information
Args:
message (str): message to be printed
"""
print('[%s]: %s' % (sys.argv[0], message))
def copy_files(source_dir, target_dir):
""" Copy any files in the source_dir to the target_dir.
The copy is not recursive.
The directories must already exist.
Args:
source_dir (str): source directory path
target_dir (str): target directory path
Returns:
Nothing
"""
global testing
assert os.path.isdir(source_dir)
assert testing or os.path.isdir(target_dir)
for source_filename in os.listdir(source_dir):
source_pathname = os.path.join(source_dir, source_filename)
if os.path.isfile(source_pathname):
target_pathname = os.path.join(target_dir, source_filename)
log('Copy: %s => %s' % (source_pathname, target_pathname))
if not testing:
shutil.copy2(source_pathname, target_pathname)
##########################################################################
# Main
##########################################################################
def main(args):
global Corefx_url
global Unix_name_map
global testing
if testing:
log("Running with testing = True")
arch, ci_arch, build_type, clr_root, fx_root, fx_branch, fx_commit, env_script, exclusion_rsp_file, no_run_tests = validate_args(
args)
clr_os = 'Windows_NT' if Is_windows else Unix_name_map[os.uname()[0]]
core_root = os.path.join(clr_root,
'bin',
'Product',
'%s.%s.%s' % (clr_os, arch, build_type))
# corefx creates both files that are read-only and files that include non-ascii
# characters. Using onerror=del_rw allows us to delete all of the read-only files.
# To delete the files with non-ascii characters, when rmtree fails due to those
# files, we then will call rd on Windows.
if not testing and os.path.exists(fx_root):
if Is_windows:
while True:
res = subprocess.check_output(['tasklist'])
if not 'VBCSCompiler.exe' in res:
break
os.chdir(fx_root)
os.system('git clean -fxd')
os.chdir(clr_root)
shutil.rmtree(fx_root, onerror=del_rw)
# Clone the corefx branch
command = 'git clone -b %s --single-branch %s %s' % (
fx_branch, Corefx_url, fx_root)
log(command)
if testing:
if not os.path.exists(fx_root):
os.makedirs(fx_root)
returncode = 0
else:
returncode = os.system(command)
# Change directory to the corefx root
cwd = os.getcwd()
log('[cd] ' + fx_root)
os.chdir(fx_root)
# Checkout the appropriate corefx commit
command = "git checkout %s" % fx_commit
log(command)
returncode = 0 if testing else os.system(command)
if returncode != 0:
sys.exit(1)
# Print the currently checked out commit hash. Mostly useful if you just checked
# out HEAD, which is the default.
command = "git rev-parse HEAD"
log(command)
returncode = 0 if testing else os.system(command)
if returncode != 0:
sys.exit(1)
# On Unix, coreFx build.sh requires HOME to be set, and it isn't by default
# under our CI system, so set it now.
if not Is_windows:
fx_home = os.path.join(fx_root, 'tempHome')
if not os.path.exists(fx_home):
os.makedirs(fx_home)
os.putenv('HOME', fx_home)
log('HOME=' + fx_home)
# Gather up some arguments to pass to the different build scripts.
common_config_args = '-configuration Release -framework net5.0 -os %s -arch %s' % (clr_os, arch)
build_args = '-build -restore'
build_test_args = '-buildtests /p:ArchiveTests=true'
if not no_run_tests:
build_test_args += ' -test'
if not Is_windows and arch == 'arm' :
# We need to force clang5.0; we are building in a docker container that doesn't have
# clang3.9, which is currently the default used by the native build.
common_config_args += ' /p:BuildNativeCompiler=--clang5.0'
if not Is_windows and (arch == 'arm' or arch == 'arm64'):
# It is needed under docker where LC_ALL is not configured.
common_config_args += ' --warnAsError false'
build_command = 'build.cmd' if Is_windows else './build.sh'
command = ' '.join((build_command, common_config_args, build_args))
log(command)
returncode = 0 if testing else os.system(command)
if returncode != 0:
log('Error: exit code %s' % returncode)
sys.exit(1)
# Override the built corefx runtime (which it picked up by copying from packages determined
# by its dependencies.props file). Note that we always build Release corefx.
# We must copy all files, not just the files that already exist in the corefx runtime
# directory. This is required so we copy over all altjit compilers.
#
# We find the latest numbered directory in the 'Microsoft.NETCore.App' directory. This
# is expected to be the current product version, e.g., 3.0.0.
#
# TODO: it might be cleaner to encapsulate the knowledge of how to do this in the
# corefx msbuild files somewhere.
netcore_app_path = os.path.join(fx_root,
'artifacts',
'bin',
'testhost',
'net5.0-%s-%s-%s' % (clr_os, 'Release', arch),
'shared',
'Microsoft.NETCore.App')
if not testing and not os.path.isdir(netcore_app_path):
log("Error: path not found or is not a directory: %s" % netcore_app_path)
sys.exit(1)
fx_runtime = None
if testing:
fx_runtime = os.path.join(netcore_app_path, '9.9.9')
else:
# Figure out what the latest product version is, and use that.
netcore_app_version_dirs = os.listdir(netcore_app_path)
if netcore_app_version_dirs is None:
log("Error: no version directories in %s" % netcore_app_path)
sys.exit(1)
netcore_app_version_dirs.sort(reverse=True)
for netcore_app_version_dir in netcore_app_version_dirs:
netcore_app_version_path = os.path.join(netcore_app_path, netcore_app_version_dir)
if os.path.isdir(netcore_app_version_path):
fx_runtime = netcore_app_version_path
break
if fx_runtime is None:
log("Error: couldn't find fx runtime directory in %s" % netcore_app_path)
sys.exit(1)
log('Updating CoreCLR: %s => %s' % (core_root, fx_runtime))
copy_files(core_root, fx_runtime)
# Build the test command line.
# If we're doing altjit testing, then don't run any tests that don't work with altjit.
if ci_arch is not None and (ci_arch == 'x86_arm_altjit' or ci_arch == 'x64_arm64_altjit'):
# The property value we need to specify for the WithoutCategories property is a semicolon
# separated list of two values, so the two values must be enclosed in double quotes, namely:
#
# /p:WithoutCategories="IgnoreForCI;XsltcExeRequired"
#
# Without the quotes, msbuild interprets the semicolon as separating two name/value pairs,
# which is incorrect (and causes an error).
#
# If we pass this on the command-line, it requires an extraordinary number of backslashes
# to prevent special Python, dotnet CLI, CMD, and other command-line processing, as the command
# filters through batch files, the RUN tool, dotnet CLI, and finally gets to msbuild. To avoid
# this, and make it simpler and hopefully more resilient to scripting changes, we create an
# msbuild response file with the required text and pass the response file on to msbuild.
without_categories_filename = os.path.join(fx_root, 'msbuild_commands.rsp')
without_categories_string = '/p:WithoutCategories="IgnoreForCI;XsltcExeRequired"'
with open(without_categories_filename, "w") as without_categories_file:
without_categories_file.write(without_categories_string)
without_categories = " @%s" % without_categories_filename
log('Response file %s contents:' % without_categories_filename)
log('%s' % without_categories_string)
log('[end response file contents]')
else:
without_categories = ' /p:WithoutCategories=IgnoreForCI'
command = ' '.join((
build_command,
common_config_args,
build_test_args,
without_categories
))
if env_script is not None:
command += (' /p:PreExecutionTestScript=%s' % env_script)
if not Is_windows:
command += ' /p:TestWithLocalNativeLibraries=true'
if not Is_windows and (arch == 'arm' or arch == 'arm64'):
# It is needed under docker where LC_ALL is not configured.
command += ' --warnAsError false'
if exclusion_rsp_file is not None:
command += (' /p:TestRspFile=%s' % exclusion_rsp_file)
# Run the corefx test build and run the tests themselves.
log(command)
returncode = 0 if testing else os.system(command)
if returncode != 0:
log('Error: exit code %s' % returncode)
sys.exit(1)
sys.exit(0)
##########################################################################
# setup for Main
##########################################################################
if __name__ == '__main__':
Args = parser.parse_args(sys.argv[1:])
main(Args)

View file

@ -2,7 +2,7 @@
<PropertyGroup>
<CLRTestKind>BuildOnly</CLRTestKind>
<IsTestProject>false</IsTestProject>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<DisableRarCache>true</DisableRarCache>
<DisablePackageAssetsCache>true</DisablePackageAssetsCache>
<RuntimeIdentifiers>win-arm;win-arm64;win-x64;win-x86;$(TargetRid)</RuntimeIdentifiers>

View file

@ -2,7 +2,7 @@
<PropertyGroup>
<CLRTestKind>BuildOnly</CLRTestKind>
<IsTestProject>false</IsTestProject>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
<DisableRarCache>true</DisableRarCache>
<DisablePackageAssetsCache>true</DisablePackageAssetsCache>
<RuntimeIdentifiers>win-arm;win-arm64;win-x64;win-x86;$(TargetRid)</RuntimeIdentifiers>

View file

@ -7,6 +7,7 @@
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<BuildDir>$(MSBuildThisFileDirectory)\obj\$(Configuration)\wasm</BuildDir>
<AppDir>$(TestBinDir)/WasmApp/</AppDir>
<NETCoreAppMaximumVersion>99.0</NETCoreAppMaximumVersion>
</PropertyGroup>
<UsingTask TaskName="WasmAppBuilder"

View file

@ -206,7 +206,7 @@
<PropertyGroup>
<!-- Specify the target framework of the common test dependency project.json. -->
<NuGetTargetMoniker>$(NetCoreAppCurrentTargetFrameworkMoniker)</NuGetTargetMoniker>
<NuGetTargetMonikerShort>$(NetCoreAppCurrent)</NuGetTargetMonikerShort>
<NuGetTargetMoniker>$(NetCoreAppCurrentToolTargetFrameworkMoniker)</NuGetTargetMoniker>
<NuGetTargetMonikerShort>$(NetCoreAppToolCurrent)</NuGetTargetMonikerShort>
</PropertyGroup>
</Project>

View file

@ -7,7 +7,7 @@
<Noconfig>True</Noconfig>
<Optimize>True</Optimize>
<JitOptimizationSensitive>True</JitOptimizationSensitive>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="mutual_recursion.fs" />