Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Conversation

@ViktorHofer
Copy link
Member

@ViktorHofer ViktorHofer commented Apr 14, 2019

@ViktorHofer ViktorHofer requested a review from ericstj April 14, 2019 15:28
@ViktorHofer ViktorHofer self-assigned this Apr 14, 2019
@ViktorHofer ViktorHofer changed the title Upgrade SDK to 3.0 Upgrade dotnet SDK to 3.0 Apr 14, 2019
@ViktorHofer ViktorHofer changed the title Upgrade dotnet SDK to 3.0 Upgrade dotnet SDK to 3.0-preview3 Apr 14, 2019
@ViktorHofer ViktorHofer added the * NO MERGE * The PR is not ready for merge yet (see discussion for detailed reasons) label Apr 14, 2019
@ViktorHofer ViktorHofer force-pushed the CLI30 branch 2 times, most recently from 0742d9b to 2141989 Compare April 15, 2019 13:12
@ViktorHofer ViktorHofer removed the * NO MERGE * The PR is not ready for merge yet (see discussion for detailed reasons) label Apr 15, 2019
@ViktorHofer ViktorHofer requested a review from safern April 15, 2019 16:11
@ViktorHofer
Copy link
Member Author

Copy link
Member

@safern safern left a comment

Choose a reason for hiding this comment

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

LGTM

@ViktorHofer
Copy link
Member Author

@ericstj seems like duplicate types issues with netstandard2.0 vs netstandard2.1. Can you please take a look as you are the expert here?

@ericstj
Copy link
Member

ericstj commented Apr 15, 2019

Yes there are currently duplicate types. @terrajobst and @wtgodbe likely need to add new shims to the targeting pack (or we need to ship new versions of all these packages targeting ns2.1) to resolve it.

What did you do to trigger running the package tests against .NETStandard 2.1?

@ViktorHofer
Copy link
Member Author

What did you do to trigger running the package tests against .NETStandard 2.1?

Nothing, that's by default.

@ericstj
Copy link
Member

ericstj commented Apr 15, 2019

I see, we expand to any compatible frameworks and you brought in the new NuGet that knows about the derived frameworks.
https://github.com/dotnet/arcade/blob/6586eff230f15f1e13a7c06d72b6da98a6fce0c8/src/Microsoft.DotNet.Build.Tasks.Packaging/src/GeneratePackageReport.cs#L248-L278

We can add suppression for the duplicate types for now until this can be fixed. Let's capture the list of duplicate types and put it in a NS2.1 suppression props.

@ericstj
Copy link
Member

ericstj commented Apr 15, 2019

Some of these are different:

C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\packageTest.targets(60,5): error : Duplicate type System.Runtime.Intrinsics.Arm.Arm64.Aes in both C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\tools\packs\Microsoft.NETCore.App.Ref\3.0.0-preview3-27503-5\data\System.Runtime.Intrinsics.dll and C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\packages\system.runtime.intrinsics.experimental\4.6.0-ci.19215.1\ref\netcoreapp3.0\System.Runtime.Intrinsics.Experimental.dll. [C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\netcoreapp3.0\project.csproj]
C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\packageTest.targets(60,5): error : Duplicate type System.Runtime.Intrinsics.Arm.Arm64.Base in both C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\tools\packs\Microsoft.NETCore.App.Ref\3.0.0-preview3-27503-5\data\System.Runtime.Intrinsics.dll and C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\packages\system.runtime.intrinsics.experimental\4.6.0-ci.19215.1\ref\netcoreapp3.0\System.Runtime.Intrinsics.Experimental.dll. [C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\netcoreapp3.0\project.csproj]
C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\packageTest.targets(60,5): error : Duplicate type System.Runtime.Intrinsics.Arm.Arm64.Sha1 in both C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\tools\packs\Microsoft.NETCore.App.Ref\3.0.0-preview3-27503-5\data\System.Runtime.Intrinsics.dll and C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\packages\system.runtime.intrinsics.experimental\4.6.0-ci.19215.1\ref\netcoreapp3.0\System.Runtime.Intrinsics.Experimental.dll. [C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\netcoreapp3.0\project.csproj]
C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\packageTest.targets(60,5): error : Duplicate type System.Runtime.Intrinsics.Arm.Arm64.Sha256 in both C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\tools\packs\Microsoft.NETCore.App.Ref\3.0.0-preview3-27503-5\data\System.Runtime.Intrinsics.dll and C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\packages\system.runtime.intrinsics.experimental\4.6.0-ci.19215.1\ref\netcoreapp3.0\System.Runtime.Intrinsics.Experimental.dll. [C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\netcoreapp3.0\project.csproj]
C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\packageTest.targets(60,5): error : Duplicate type System.Runtime.Intrinsics.Arm.Arm64.Simd in both C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Payload\tools\packs\Microsoft.NETCore.App.Ref\3.0.0-preview3-27503-5\data\System.Runtime.Intrinsics.dll and C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\packages\system.runtime.intrinsics.experimental\4.6.0-ci.19215.1\ref\netcoreapp3.0\System.Runtime.Intrinsics.Experimental.dll. [C:\dotnetbuild\work\3adf557f-55ea-4c20-b325-5e0bd218b08e\Work\a367e516-8f3a-43a4-bb47-bd463ac10e52\Unzip\netcoreapp3.0\project.csproj]

/cc @tannergooding

I'll share a type-duplicate list for the ns2.1 stuff. @wtgodbe needs that anyway.

@ericstj
Copy link
Member

ericstj commented Apr 15, 2019

Here are the duplicates I found throughout the tests. This doesn't cover the netcoreapp3.0-specific failures. For those it looks like we might need a different workaround.

Type Assembly
System.Buffers.ArrayPool`1 System.Buffers.dll
System.Buffers.Binary.BinaryPrimitives System.Memory.dll
System.Buffers.BuffersExtensions System.Memory.dll
System.Buffers.IBufferWriter`1 System.Memory.dll
System.Buffers.IMemoryOwner`1 System.Memory.dll
System.Buffers.IPinnable System.Memory.dll
System.Buffers.MemoryHandle System.Memory.dll
System.Buffers.MemoryManager`1 System.Memory.dll
System.Buffers.MemoryPool`1 System.Memory.dll
System.Buffers.OperationStatus System.Memory.dll
System.Buffers.ReadOnlySequence`1 System.Memory.dll
System.Buffers.ReadOnlySequence`1/Enumerator System.Memory.dll
System.Buffers.ReadOnlySequenceSegment`1 System.Memory.dll
System.Buffers.StandardFormat System.Memory.dll
System.Buffers.Text.Base64 System.Memory.dll
System.Buffers.Text.Utf8Formatter System.Memory.dll
System.Buffers.Text.Utf8Parser System.Memory.dll
System.Memory`1 System.Memory.dll
System.MemoryExtensions System.Memory.dll
System.ReadOnlyMemory`1 System.Memory.dll
System.ReadOnlySpan`1 System.Memory.dll
System.ReadOnlySpan`1/Enumerator System.Memory.dll
System.Runtime.InteropServices.MemoryMarshal System.Memory.dll
System.Runtime.InteropServices.SequenceMarshal System.Memory.dll
System.SequencePosition System.Memory.dll
System.Span`1 System.Memory.dll
System.Span`1/Enumerator System.Memory.dll
System.Numerics.Matrix3x2 System.Numerics.Vectors.dll
System.Numerics.Matrix4x4 System.Numerics.Vectors.dll
System.Numerics.Plane System.Numerics.Vectors.dll
System.Numerics.Quaternion System.Numerics.Vectors.dll
System.Numerics.Vector System.Numerics.Vectors.dll
System.Numerics.Vector`1 System.Numerics.Vectors.dll
System.Numerics.Vector2 System.Numerics.Vectors.dll
System.Numerics.Vector3 System.Numerics.Vectors.dll
System.Numerics.Vector4 System.Numerics.Vectors.dll
System.Reflection.DispatchProxy System.Reflection.DispatchProxy.dll
System.Reflection.Emit.AssemblyBuilder System.Reflection.Emit.dll
System.Reflection.Emit.AssemblyBuilderAccess System.Reflection.Emit.dll
System.Reflection.Emit.ConstructorBuilder System.Reflection.Emit.dll
System.Reflection.Emit.EnumBuilder System.Reflection.Emit.dll
System.Reflection.Emit.EventBuilder System.Reflection.Emit.dll
System.Reflection.Emit.FieldBuilder System.Reflection.Emit.dll
System.Reflection.Emit.GenericTypeParameterBuilder System.Reflection.Emit.dll
System.Reflection.Emit.MethodBuilder System.Reflection.Emit.dll
System.Reflection.Emit.ModuleBuilder System.Reflection.Emit.dll
System.Reflection.Emit.PropertyBuilder System.Reflection.Emit.dll
System.Reflection.Emit.TypeBuilder System.Reflection.Emit.dll
System.Reflection.Emit.CustomAttributeBuilder System.Reflection.Emit.ILGeneration.dll
System.Reflection.Emit.ILGenerator System.Reflection.Emit.ILGeneration.dll
System.Reflection.Emit.Label System.Reflection.Emit.ILGeneration.dll
System.Reflection.Emit.LocalBuilder System.Reflection.Emit.ILGeneration.dll
System.Reflection.Emit.ParameterBuilder System.Reflection.Emit.ILGeneration.dll
System.Reflection.Emit.SignatureHelper System.Reflection.Emit.ILGeneration.dll
System.Reflection.Emit.DynamicMethod System.Reflection.Emit.Lightweight.dll
System.Runtime.CompilerServices.AsyncMethodBuilderAttribute System.Threading.Tasks.Extensions.dll
System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder System.Threading.Tasks.Extensions.dll
System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1 System.Threading.Tasks.Extensions.dll
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable System.Threading.Tasks.Extensions.dll
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable/ConfiguredValueTaskAwaiter System.Threading.Tasks.Extensions.dll
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1 System.Threading.Tasks.Extensions.dll
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1/ConfiguredValueTaskAwaiter System.Threading.Tasks.Extensions.dll
System.Runtime.CompilerServices.ValueTaskAwaiter System.Threading.Tasks.Extensions.dll
System.Runtime.CompilerServices.ValueTaskAwaiter`1 System.Threading.Tasks.Extensions.dll
System.Threading.Tasks.Sources.IValueTaskSource System.Threading.Tasks.Extensions.dll
System.Threading.Tasks.Sources.IValueTaskSource`1 System.Threading.Tasks.Extensions.dll
System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags System.Threading.Tasks.Extensions.dll
System.Threading.Tasks.Sources.ValueTaskSourceStatus System.Threading.Tasks.Extensions.dll
System.Threading.Tasks.ValueTask System.Threading.Tasks.Extensions.dll
System.Threading.Tasks.ValueTask`1 System.Threading.Tasks.Extensions.dll

@ericstj
Copy link
Member

ericstj commented Apr 15, 2019

For NETCoreApp3.0 I suspect the 3.0 SDK is no longer honoring RuntimeFrameworkVersion. We need to find out how to override the version of refs it is using.

ericstj added 2 commits April 15, 2019 12:40
SDK is ignoring RuntimeFrameworkVersion for ref packs.  Set TargetingPackVersion
on KnownFrameworkReference instead.

dotnet/sdk#3129
@ViktorHofer ViktorHofer merged commit 66bcc2d into dotnet:master Apr 16, 2019
@karelz karelz added this to the 3.0 milestone May 4, 2019
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
* Upgrade SDK to 3.0

* Remove asp and desktop framework references

* Manual darc update from build '20190415.1'

* Suppress type overlap with ns2.1

* Make SDK use output of core-setup for both ref and runtime

SDK is ignoring RuntimeFrameworkVersion for ref packs.  Set TargetingPackVersion
on KnownFrameworkReference instead.

dotnet/sdk#3129


Commit migrated from dotnet/corefx@66bcc2d
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build with the 3.0 dotnet SDK

4 participants