Remove UAP target (dotnet/corefx#41759)
authorViktor Hofer <viktor.hofer@microsoft.com>
Thu, 17 Oct 2019 13:04:39 +0000 (15:04 +0200)
committerGitHub <noreply@github.com>
Thu, 17 Oct 2019 13:04:39 +0000 (15:04 +0200)
* Remove Uap target

* Remove RemoteInvokeForUap wrapper calls entirely

* Harvest S.D.SqlClient on UWP

* Disable UWP PInvoke analyzer

* Enable WindowsRuntime* tests on netcoreapp

Commit migrated from https://github.com/dotnet/corefx/commit/3b6ec2ba944fb72f921f95b99b6ebf2e7bb3dc5a

1431 files changed:
docs/libraries/coding-guidelines/adding-api-guidelines.md
docs/libraries/coding-guidelines/netstandard20-corefx-infra.md
docs/libraries/coding-guidelines/project-guidelines.md
docs/libraries/project-docs/developer-guide.md
docs/libraries/project-docs/pullrequest-builds.md
docs/libraries/project-docs/support-dotnet-core-instructions.md
eng/Packaging.props
eng/Packaging.targets
eng/configurations/targetgroups.props
eng/disableUap.targets [deleted file]
eng/pipelines/libraries/corefx-base.yml
eng/pipelines/libraries/windows.yml
eng/restore/binplacePackages/Configurations.props
eng/restore/binplacePackages/binplacePackages.depproj
eng/restore/dirs.proj
eng/restore/netfx/Configurations.props
eng/restore/runtime/Configurations.props
eng/restore/runtime/runtime.depproj
eng/restore/uap-tools.targets [deleted file]
eng/restore/uap/Configurations.props [deleted file]
eng/restore/uap/uap.depproj [deleted file]
eng/restore/winrt/Configurations.props
src/libraries/Common/src/Interop/Windows/IpHlpApi/Interop.if_nametoindex.cs
src/libraries/Common/src/System/Diagnostics/TraceListenerHelpers.Windows.cs
src/libraries/Common/src/System/Net/CookieParser.cs
src/libraries/Common/src/System/Security/Cryptography/Asn1Reader/AsnCharacterStringEncodings.cs
src/libraries/Common/src/System/Security/Cryptography/Asn1Reader/AsnWriter.BitString.cs
src/libraries/Common/src/System/Security/Cryptography/CryptoPool.cs
src/libraries/Common/tests/CoreFx.Private.TestUtilities/Configurations.props
src/libraries/Common/tests/CoreFx.Private.TestUtilities/CoreFx.Private.TestUtilities.csproj
src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/Diagnostics/RemoteExecutorForUap.cs [deleted file]
src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/PlatformDetection.Unix.cs
src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/PlatformDetection.Windows.cs
src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/PlatformDetection.cs
src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/TestEnvironment.cs
src/libraries/Common/tests/System/IO/Compression/ZipTestHelper.cs
src/libraries/Common/tests/System/Net/Configuration.Certificates.cs
src/libraries/Common/tests/System/Xml/XmlCoreTest/Configurations.props
src/libraries/Common/tests/System/Xml/XmlCoreTest/XmlCoreTest.csproj
src/libraries/Common/tests/Tests/System/StringTests.cs
src/libraries/Directory.Build.props
src/libraries/Microsoft.CSharp/Directory.Build.props
src/libraries/Microsoft.CSharp/tests/Configurations.props
src/libraries/Microsoft.CSharp/tests/Microsoft.CSharp.Tests.csproj
src/libraries/Microsoft.IO.Redist/Directory.Build.props
src/libraries/Microsoft.VisualBasic.Core/Directory.Build.props
src/libraries/Microsoft.VisualBasic.Core/Microsoft.VisualBasic.Core.sln
src/libraries/Microsoft.VisualBasic.Core/ref/Configurations.props
src/libraries/Microsoft.VisualBasic.Core/ref/Microsoft.VisualBasic.Core.csproj
src/libraries/Microsoft.VisualBasic.Core/src/Configurations.props
src/libraries/Microsoft.VisualBasic.Core/src/Microsoft.VisualBasic.Core.vbproj
src/libraries/Microsoft.VisualBasic.Core/src/Microsoft/VisualBasic/Interaction.vb
src/libraries/Microsoft.VisualBasic.Core/tests/Configurations.props
src/libraries/Microsoft.VisualBasic.Core/tests/InteractionTests.cs
src/libraries/Microsoft.VisualBasic.Core/tests/Microsoft.VisualBasic.Core.Tests.csproj
src/libraries/Microsoft.VisualBasic.Core/tests/StringsTests.cs
src/libraries/Microsoft.Win32.Primitives/Directory.Build.props
src/libraries/Microsoft.Win32.Primitives/ref/Configurations.props
src/libraries/Microsoft.Win32.Primitives/ref/Microsoft.Win32.Primitives.csproj
src/libraries/Microsoft.Win32.Primitives/src/Configurations.props
src/libraries/Microsoft.Win32.Primitives/src/Microsoft.Win32.Primitives.csproj
src/libraries/Microsoft.Win32.Primitives/tests/Configurations.props
src/libraries/Microsoft.Win32.Primitives/tests/Microsoft.Win32.Primitives.Tests.csproj
src/libraries/Microsoft.Win32.Registry/src/Microsoft.Win32.Registry.csproj
src/libraries/Microsoft.XmlSerializer.Generator/tests/Configurations.props
src/libraries/Microsoft.XmlSerializer.Generator/tests/Microsoft.XmlSerializer.Generator.Tests.csproj
src/libraries/Native/native-binplace.proj
src/libraries/System.AppContext/Directory.Build.props
src/libraries/System.AppContext/ref/Configurations.props
src/libraries/System.AppContext/ref/System.AppContext.csproj
src/libraries/System.AppContext/src/Configurations.props
src/libraries/System.AppContext/src/System.AppContext.csproj
src/libraries/System.AppContext/tests/Configurations.props
src/libraries/System.AppContext/tests/System.AppContext.Tests.csproj
src/libraries/System.Buffers/Directory.Build.props
src/libraries/System.Buffers/ref/Configurations.props
src/libraries/System.Buffers/ref/System.Buffers.csproj
src/libraries/System.Buffers/src/Configurations.props
src/libraries/System.Buffers/src/System.Buffers.csproj
src/libraries/System.Buffers/tests/ArrayPool/CollectionTests.cs
src/libraries/System.Buffers/tests/Configurations.props
src/libraries/System.Buffers/tests/System.Buffers.Tests.csproj
src/libraries/System.CodeDom/tests/Configurations.props
src/libraries/System.CodeDom/tests/System.CodeDom.Tests.csproj
src/libraries/System.CodeDom/tests/System/CodeDom/Compiler/CSharpCodeGenerationTests.cs
src/libraries/System.CodeDom/tests/System/CodeDom/Compiler/VBCodeGenerationTests.cs
src/libraries/System.Collections.Concurrent/Directory.Build.props
src/libraries/System.Collections.Concurrent/ref/Configurations.props
src/libraries/System.Collections.Concurrent/ref/System.Collections.Concurrent.csproj
src/libraries/System.Collections.Concurrent/src/Configurations.props
src/libraries/System.Collections.Concurrent/src/System.Collections.Concurrent.csproj
src/libraries/System.Collections.Concurrent/tests/Configurations.props
src/libraries/System.Collections.Concurrent/tests/System.Collections.Concurrent.Tests.csproj
src/libraries/System.Collections.Immutable/Directory.Build.props
src/libraries/System.Collections.Immutable/ref/Configurations.props
src/libraries/System.Collections.Immutable/ref/System.Collections.Immutable.csproj
src/libraries/System.Collections.Immutable/src/Configurations.props
src/libraries/System.Collections.Immutable/src/System.Collections.Immutable.csproj
src/libraries/System.Collections.Immutable/tests/Configurations.props
src/libraries/System.Collections.Immutable/tests/System.Collections.Immutable.Tests.csproj
src/libraries/System.Collections.NonGeneric/Directory.Build.props
src/libraries/System.Collections.NonGeneric/ref/Configurations.props
src/libraries/System.Collections.NonGeneric/ref/System.Collections.NonGeneric.csproj
src/libraries/System.Collections.NonGeneric/src/Configurations.props
src/libraries/System.Collections.NonGeneric/src/System.Collections.NonGeneric.csproj
src/libraries/System.Collections.NonGeneric/tests/CaseInsensitiveComparerTests.cs
src/libraries/System.Collections.NonGeneric/tests/CaseInsensitiveHashCodeProviderTests.cs
src/libraries/System.Collections.NonGeneric/tests/ComparerTests.cs
src/libraries/System.Collections.NonGeneric/tests/Configurations.props
src/libraries/System.Collections.NonGeneric/tests/SortedListTests.cs
src/libraries/System.Collections.NonGeneric/tests/System.Collections.NonGeneric.Tests.csproj
src/libraries/System.Collections.Specialized/Directory.Build.props
src/libraries/System.Collections.Specialized/ref/Configurations.props
src/libraries/System.Collections.Specialized/ref/System.Collections.Specialized.csproj
src/libraries/System.Collections.Specialized/src/Configurations.props
src/libraries/System.Collections.Specialized/src/System.Collections.Specialized.csproj
src/libraries/System.Collections.Specialized/tests/Configurations.props
src/libraries/System.Collections.Specialized/tests/System.Collections.Specialized.Tests.csproj
src/libraries/System.Collections/Directory.Build.props
src/libraries/System.Collections/ref/Configurations.props
src/libraries/System.Collections/ref/System.Collections.csproj
src/libraries/System.Collections/src/Configurations.props
src/libraries/System.Collections/src/System.Collections.csproj
src/libraries/System.Collections/tests/Configurations.props
src/libraries/System.Collections/tests/System.Collections.Tests.csproj
src/libraries/System.ComponentModel.Annotations/Directory.Build.props
src/libraries/System.ComponentModel.Annotations/tests/Configurations.props
src/libraries/System.ComponentModel.Annotations/tests/System.ComponentModel.Annotations.Tests.csproj
src/libraries/System.ComponentModel.Annotations/tests/System/ComponentModel/DataAnnotations/RangeAttributeTests.cs
src/libraries/System.ComponentModel.Composition.Registration/tests/Configurations.props
src/libraries/System.ComponentModel.Composition.Registration/tests/System.ComponentModel.Composition.Registration.Tests.csproj
src/libraries/System.ComponentModel.Composition/src/Configurations.props
src/libraries/System.ComponentModel.Composition/src/System.ComponentModel.Composition.csproj
src/libraries/System.ComponentModel.Composition/tests/Configurations.props
src/libraries/System.ComponentModel.Composition/tests/System.ComponentModel.Composition.Tests.csproj
src/libraries/System.ComponentModel.Composition/tests/System/ComponentModel/Composition/ComposablePartDefinitionTests.cs
src/libraries/System.ComponentModel.EventBasedAsync/Directory.Build.props
src/libraries/System.ComponentModel.EventBasedAsync/ref/Configurations.props
src/libraries/System.ComponentModel.EventBasedAsync/ref/System.ComponentModel.EventBasedAsync.csproj
src/libraries/System.ComponentModel.EventBasedAsync/src/Configurations.props
src/libraries/System.ComponentModel.EventBasedAsync/src/System.ComponentModel.EventBasedAsync.csproj
src/libraries/System.ComponentModel.EventBasedAsync/tests/Configurations.props
src/libraries/System.ComponentModel.EventBasedAsync/tests/System.ComponentModel.EventBasedAsync.Tests.csproj
src/libraries/System.ComponentModel.Primitives/Directory.Build.props
src/libraries/System.ComponentModel.Primitives/ref/Configurations.props
src/libraries/System.ComponentModel.Primitives/ref/System.ComponentModel.Primitives.csproj
src/libraries/System.ComponentModel.Primitives/src/Configurations.props
src/libraries/System.ComponentModel.Primitives/src/System.ComponentModel.Primitives.csproj
src/libraries/System.ComponentModel.Primitives/tests/Configurations.props
src/libraries/System.ComponentModel.Primitives/tests/System.ComponentModel.Primitives.Tests.csproj
src/libraries/System.ComponentModel.TypeConverter/Directory.Build.props
src/libraries/System.ComponentModel.TypeConverter/ref/Configurations.props
src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.csproj
src/libraries/System.ComponentModel.TypeConverter/src/Configurations.props
src/libraries/System.ComponentModel.TypeConverter/src/System.ComponentModel.TypeConverter.csproj
src/libraries/System.ComponentModel.TypeConverter/tests/Configurations.props
src/libraries/System.ComponentModel.TypeConverter/tests/Design/DesignerOptionServiceTests.cs
src/libraries/System.ComponentModel.TypeConverter/tests/MultilineStringConverterTests.cs
src/libraries/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj
src/libraries/System.ComponentModel.TypeConverter/tests/TypeConverterTestBase.cs
src/libraries/System.ComponentModel.TypeConverter/tests/TypeConverterTests.cs
src/libraries/System.ComponentModel.TypeConverter/tests/TypeListConverterTests.cs
src/libraries/System.ComponentModel/Directory.Build.props
src/libraries/System.ComponentModel/ref/Configurations.props
src/libraries/System.ComponentModel/ref/System.ComponentModel.csproj
src/libraries/System.ComponentModel/src/Configurations.props
src/libraries/System.ComponentModel/src/System.ComponentModel.csproj
src/libraries/System.ComponentModel/tests/Configurations.props
src/libraries/System.ComponentModel/tests/System.ComponentModel.Tests.csproj
src/libraries/System.Composition.AttributedModel/tests/Configurations.props
src/libraries/System.Composition.AttributedModel/tests/System.Composition.AttributeModel.Tests.csproj
src/libraries/System.Composition.Convention/tests/Configurations.props
src/libraries/System.Composition.Convention/tests/System.Composition.Convention.Tests.csproj
src/libraries/System.Composition.Hosting/tests/Configurations.props
src/libraries/System.Composition.Hosting/tests/System.Composition.Hosting.Tests.csproj
src/libraries/System.Composition.Runtime/tests/Configurations.props
src/libraries/System.Composition.Runtime/tests/System.Composition.Runtime.Tests.csproj
src/libraries/System.Composition.TypedParts/tests/Configurations.props
src/libraries/System.Composition.TypedParts/tests/System.Composition.TypedParts.Tests.csproj
src/libraries/System.Composition/tests/Configurations.props
src/libraries/System.Composition/tests/System.Composition.Tests.csproj
src/libraries/System.Configuration.ConfigurationManager/tests/Configurations.props
src/libraries/System.Configuration.ConfigurationManager/tests/System.Configuration.ConfigurationManager.Tests.csproj
src/libraries/System.Configuration.ConfigurationManager/tests/System/Configuration/TimeSpanValidatorAttributeTests.cs
src/libraries/System.Console/Directory.Build.props
src/libraries/System.Console/ref/Configurations.props
src/libraries/System.Console/ref/System.Console.csproj
src/libraries/System.Console/src/Configurations.props
src/libraries/System.Console/src/System.Console.csproj
src/libraries/System.Console/tests/Configurations.props
src/libraries/System.Console/tests/System.Console.Tests.csproj
src/libraries/System.Data.Common/Directory.Build.props
src/libraries/System.Data.Common/ref/Configurations.props
src/libraries/System.Data.Common/ref/System.Data.Common.csproj
src/libraries/System.Data.Common/src/Configurations.props
src/libraries/System.Data.Common/src/System.Data.Common.csproj
src/libraries/System.Data.Common/tests/Configurations.props
src/libraries/System.Data.Common/tests/System.Data.Common.Tests.csproj
src/libraries/System.Data.Common/tests/System/Data/DataSetReadXmlSchemaTest.cs
src/libraries/System.Data.Common/tests/System/Data/DataSetTest.cs
src/libraries/System.Data.Common/tests/System/Data/DataSetTest2.cs
src/libraries/System.Data.Common/tests/System/Data/DataTableReadXmlSchemaTest.cs
src/libraries/System.Data.Common/tests/System/Data/DataTableTest.cs
src/libraries/System.Data.Common/tests/System/Data/SqlTypes/SqlStringTest.cs
src/libraries/System.Data.DataSetExtensions/Directory.Build.props
src/libraries/System.Data.DataSetExtensions/ref/Configurations.props
src/libraries/System.Data.DataSetExtensions/ref/System.Data.DataSetExtensions.csproj
src/libraries/System.Data.DataSetExtensions/src/Configurations.props
src/libraries/System.Data.DataSetExtensions/src/System.Data.DataSetExtensions.csproj
src/libraries/System.Data.DataSetExtensions/tests/Configurations.props
src/libraries/System.Data.DataSetExtensions/tests/System.Data.DataSetExtensions.Tests.csproj
src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj
src/libraries/System.Data.SqlClient/Directory.Build.props
src/libraries/System.Data.SqlClient/pkg/System.Data.SqlClient.pkgproj
src/libraries/System.Data.SqlClient/ref/System.Data.SqlClient.csproj
src/libraries/System.Data.SqlClient/src/Configurations.props
src/libraries/System.Data.SqlClient/src/System.Data.SqlClient.csproj
src/libraries/System.Data.SqlClient/src/System/Data/SqlClient/LocalDBAPI.uap.cs [deleted file]
src/libraries/System.Data.SqlClient/src/System/Data/SqlClient/SNI/LocalDB.uap.cs [deleted file]
src/libraries/System.Data.SqlClient/tests/FunctionalTests/Configurations.props
src/libraries/System.Data.SqlClient/tests/FunctionalTests/ExceptionTest.cs
src/libraries/System.Data.SqlClient/tests/FunctionalTests/System.Data.SqlClient.Tests.csproj
src/libraries/System.Data.SqlClient/tests/FunctionalTests/TcpDefaultForAzureTest.cs
src/libraries/System.Data.SqlClient/tests/ManualTests/Configurations.props
src/libraries/System.Data.SqlClient/tests/ManualTests/SQL/LocalDBTest/LocalDBTest.cs
src/libraries/System.Data.SqlClient/tests/ManualTests/System.Data.SqlClient.ManualTesting.Tests.csproj
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.SqlClient.Stress.Tests/Configurations.props
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.SqlClient.Stress.Tests/System.Data.SqlClient.Stress.Tests.csproj
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.StressFramework/Configurations.props
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.StressFramework/System.Data.StressFramework.csproj
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.StressRunner/Configurations.props
src/libraries/System.Data.SqlClient/tests/StressTests/System.Data.StressRunner/System.Data.StressRunner.csproj
src/libraries/System.Diagnostics.Contracts/Directory.Build.props
src/libraries/System.Diagnostics.Contracts/ref/Configurations.props
src/libraries/System.Diagnostics.Contracts/ref/System.Diagnostics.Contracts.csproj
src/libraries/System.Diagnostics.Contracts/src/Configurations.props
src/libraries/System.Diagnostics.Contracts/src/System.Diagnostics.Contracts.csproj
src/libraries/System.Diagnostics.Contracts/tests/Configurations.props
src/libraries/System.Diagnostics.Contracts/tests/System.Diagnostics.Contracts.Tests.csproj
src/libraries/System.Diagnostics.Debug/Directory.Build.props
src/libraries/System.Diagnostics.Debug/ref/Configurations.props
src/libraries/System.Diagnostics.Debug/ref/System.Diagnostics.Debug.csproj
src/libraries/System.Diagnostics.Debug/src/Configurations.props
src/libraries/System.Diagnostics.Debug/src/System.Diagnostics.Debug.csproj
src/libraries/System.Diagnostics.Debug/tests/Configurations.props
src/libraries/System.Diagnostics.Debug/tests/System.Diagnostics.Debug.Tests.csproj
src/libraries/System.Diagnostics.DiagnosticSource/Directory.Build.props
src/libraries/System.Diagnostics.DiagnosticSource/src/Configurations.props
src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj
src/libraries/System.Diagnostics.DiagnosticSource/tests/Configurations.props
src/libraries/System.Diagnostics.DiagnosticSource/tests/System.Diagnostics.DiagnosticSource.Tests.csproj
src/libraries/System.Diagnostics.EventLog/src/System.Diagnostics.EventLog.csproj
src/libraries/System.Diagnostics.FileVersionInfo/Directory.Build.props
src/libraries/System.Diagnostics.FileVersionInfo/ref/Configurations.props
src/libraries/System.Diagnostics.FileVersionInfo/ref/System.Diagnostics.FileVersionInfo.csproj
src/libraries/System.Diagnostics.FileVersionInfo/src/Configurations.props
src/libraries/System.Diagnostics.FileVersionInfo/src/System.Diagnostics.FileVersionInfo.csproj
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.TestAssembly/Configurations.props
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.TestAssembly/System.Diagnostics.FileVersionInfo.TestAssembly.csproj
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/Configurations.props
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.cs
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/System.Diagnostics.FileVersionInfo.Tests.csproj
src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj
src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataCollectionTests.cs
src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterCreationDataTests.cs
src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleCalculatorTests.cs
src/libraries/System.Diagnostics.PerformanceCounter/tests/CounterSampleTests.cs
src/libraries/System.Diagnostics.PerformanceCounter/tests/InstanceDataTests.cs
src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterCategoryTests.cs
src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceCounterTests.cs
src/libraries/System.Diagnostics.PerformanceCounter/tests/PerformanceDataTests.cs
src/libraries/System.Diagnostics.Process/Directory.Build.props
src/libraries/System.Diagnostics.Process/ref/Configurations.props
src/libraries/System.Diagnostics.Process/ref/System.Diagnostics.Process.csproj
src/libraries/System.Diagnostics.Process/src/Configurations.props
src/libraries/System.Diagnostics.Process/src/System.Diagnostics.Process.csproj
src/libraries/System.Diagnostics.Process/src/System/Diagnostics/Process.Uap.cs [deleted file]
src/libraries/System.Diagnostics.Process/src/System/Diagnostics/ProcessManager.Uap.cs [deleted file]
src/libraries/System.Diagnostics.Process/src/System/Diagnostics/ProcessStartInfo.Uap.cs [deleted file]
src/libraries/System.Diagnostics.Process/tests/Configurations.props
src/libraries/System.Diagnostics.Process/tests/ProcessCollectionTests.cs
src/libraries/System.Diagnostics.Process/tests/ProcessModuleTests.cs
src/libraries/System.Diagnostics.Process/tests/ProcessStandardConsoleTests.cs
src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.cs
src/libraries/System.Diagnostics.Process/tests/ProcessStartInfoTests.netcoreapp.cs
src/libraries/System.Diagnostics.Process/tests/ProcessStreamReadTests.cs
src/libraries/System.Diagnostics.Process/tests/ProcessStreamReadTests.netcoreapp.cs
src/libraries/System.Diagnostics.Process/tests/ProcessTestBase.Uap.cs [deleted file]
src/libraries/System.Diagnostics.Process/tests/ProcessTests.cs
src/libraries/System.Diagnostics.Process/tests/ProcessTests.netcoreapp.cs
src/libraries/System.Diagnostics.Process/tests/ProcessThreadTests.Windows.cs
src/libraries/System.Diagnostics.Process/tests/ProcessThreadTests.cs
src/libraries/System.Diagnostics.Process/tests/ProcessWaitingTests.cs
src/libraries/System.Diagnostics.Process/tests/RemotelyInvokable.cs
src/libraries/System.Diagnostics.Process/tests/System.Diagnostics.Process.Tests.csproj
src/libraries/System.Diagnostics.StackTrace/Directory.Build.props
src/libraries/System.Diagnostics.StackTrace/ref/Configurations.props
src/libraries/System.Diagnostics.StackTrace/ref/System.Diagnostics.StackTrace.csproj
src/libraries/System.Diagnostics.StackTrace/src/Configurations.props
src/libraries/System.Diagnostics.StackTrace/src/System.Diagnostics.StackTrace.csproj
src/libraries/System.Diagnostics.StackTrace/tests/Configurations.props
src/libraries/System.Diagnostics.StackTrace/tests/System.Diagnostics.StackTrace.Tests.csproj
src/libraries/System.Diagnostics.TextWriterTraceListener/Directory.Build.props
src/libraries/System.Diagnostics.TextWriterTraceListener/ref/Configurations.props
src/libraries/System.Diagnostics.TextWriterTraceListener/ref/System.Diagnostics.TextWriterTraceListener.csproj
src/libraries/System.Diagnostics.TextWriterTraceListener/src/Configurations.props
src/libraries/System.Diagnostics.TextWriterTraceListener/src/System.Diagnostics.TextWriterTraceListener.csproj
src/libraries/System.Diagnostics.TextWriterTraceListener/tests/Configurations.props
src/libraries/System.Diagnostics.TextWriterTraceListener/tests/System.Diagnostics.TextWriterTraceListener.Tests.csproj
src/libraries/System.Diagnostics.Tools/Directory.Build.props
src/libraries/System.Diagnostics.Tools/ref/Configurations.props
src/libraries/System.Diagnostics.Tools/ref/System.Diagnostics.Tools.csproj
src/libraries/System.Diagnostics.Tools/src/Configurations.props
src/libraries/System.Diagnostics.Tools/src/System.Diagnostics.Tools.csproj
src/libraries/System.Diagnostics.Tools/tests/Configurations.props
src/libraries/System.Diagnostics.Tools/tests/System.Diagnostics.Tools.Tests.csproj
src/libraries/System.Diagnostics.TraceSource/Directory.Build.props
src/libraries/System.Diagnostics.TraceSource/ref/Configurations.props
src/libraries/System.Diagnostics.TraceSource/ref/System.Diagnostics.TraceSource.csproj
src/libraries/System.Diagnostics.TraceSource/src/Configurations.props
src/libraries/System.Diagnostics.TraceSource/src/System.Diagnostics.TraceSource.csproj
src/libraries/System.Diagnostics.TraceSource/tests/Configurations.props
src/libraries/System.Diagnostics.TraceSource/tests/System.Diagnostics.TraceSource.Tests.csproj
src/libraries/System.Diagnostics.Tracing/Directory.Build.props
src/libraries/System.Diagnostics.Tracing/ref/Configurations.props
src/libraries/System.Diagnostics.Tracing/ref/System.Diagnostics.Tracing.CountersUap.cs [deleted file]
src/libraries/System.Diagnostics.Tracing/ref/System.Diagnostics.Tracing.csproj
src/libraries/System.Diagnostics.Tracing/src/Configurations.props
src/libraries/System.Diagnostics.Tracing/src/System.Diagnostics.Tracing.csproj
src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj
src/libraries/System.DirectoryServices.Protocols/src/System.DirectoryServices.Protocols.csproj
src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj
src/libraries/System.DirectoryServices/tests/System/DirectoryServices/ActiveDirectory/ActiveDirectoryInterSiteTransportTests.cs
src/libraries/System.DirectoryServices/tests/System/DirectoryServices/ActiveDirectory/DomainControllerTests.cs
src/libraries/System.DirectoryServices/tests/System/DirectoryServices/ActiveDirectory/ForestTests.cs
src/libraries/System.DirectoryServices/tests/System/DirectoryServices/ActiveDirectorySecurityTests.cs
src/libraries/System.DirectoryServices/tests/System/DirectoryServices/DirectoryEntryTests.cs
src/libraries/System.Drawing.Common/ref/Configurations.props
src/libraries/System.Drawing.Common/ref/System.Drawing.Common.csproj
src/libraries/System.Drawing.Common/src/Configurations.props
src/libraries/System.Drawing.Common/src/System.Drawing.Common.csproj
src/libraries/System.Drawing.Primitives/Directory.Build.props
src/libraries/System.Drawing.Primitives/ref/Configurations.props
src/libraries/System.Drawing.Primitives/ref/System.Drawing.Primitives.csproj
src/libraries/System.Drawing.Primitives/src/Configurations.props
src/libraries/System.Drawing.Primitives/src/System.Drawing.Primitives.csproj
src/libraries/System.Drawing.Primitives/tests/ColorTests.cs
src/libraries/System.Drawing.Primitives/tests/Configurations.props
src/libraries/System.Drawing.Primitives/tests/System.Drawing.Primitives.Tests.csproj
src/libraries/System.Dynamic.Runtime/Directory.Build.props
src/libraries/System.Dynamic.Runtime/ref/Configurations.props
src/libraries/System.Dynamic.Runtime/ref/System.Dynamic.Runtime.csproj
src/libraries/System.Dynamic.Runtime/src/Configurations.props
src/libraries/System.Dynamic.Runtime/src/System.Dynamic.Runtime.csproj
src/libraries/System.Dynamic.Runtime/tests/Configurations.props
src/libraries/System.Dynamic.Runtime/tests/System.Dynamic.Runtime.Tests.csproj
src/libraries/System.Globalization.Calendars/Directory.Build.props
src/libraries/System.Globalization.Calendars/ref/Configurations.props
src/libraries/System.Globalization.Calendars/ref/System.Globalization.Calendars.csproj
src/libraries/System.Globalization.Calendars/src/Configurations.props
src/libraries/System.Globalization.Calendars/src/System.Globalization.Calendars.csproj
src/libraries/System.Globalization.Calendars/tests/Configurations.props
src/libraries/System.Globalization.Calendars/tests/System.Globalization.Calendars.Tests.csproj
src/libraries/System.Globalization.Extensions/Directory.Build.props
src/libraries/System.Globalization.Extensions/ref/Configurations.props
src/libraries/System.Globalization.Extensions/ref/System.Globalization.Extensions.csproj
src/libraries/System.Globalization.Extensions/src/Configurations.props
src/libraries/System.Globalization.Extensions/src/System.Globalization.Extensions.csproj
src/libraries/System.Globalization.Extensions/tests/Configurations.props
src/libraries/System.Globalization.Extensions/tests/System.Globalization.Extensions.Tests.csproj
src/libraries/System.Globalization/Directory.Build.props
src/libraries/System.Globalization/ref/Configurations.props
src/libraries/System.Globalization/ref/System.Globalization.csproj
src/libraries/System.Globalization/src/Configurations.props
src/libraries/System.Globalization/src/System.Globalization.csproj
src/libraries/System.Globalization/tests/Configurations.props
src/libraries/System.Globalization/tests/CultureInfo/CultureInfoAsync.cs
src/libraries/System.Globalization/tests/CultureInfo/CultureInfoCurrentCulture.cs
src/libraries/System.Globalization/tests/CultureInfo/CultureInfoDateTimeFormat.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoData.cs
src/libraries/System.Globalization/tests/NumberFormatInfo/NumberFormatInfoCurrentInfo.cs
src/libraries/System.Globalization/tests/System.Globalization.Tests.csproj
src/libraries/System.Globalization/tests/System/Globalization/RegionInfoTests.cs
src/libraries/System.IO.Compression.Brotli/Directory.Build.props
src/libraries/System.IO.Compression.Brotli/tests/System.IO.Compression.Brotli.Tests.csproj
src/libraries/System.IO.Compression.ZipFile/Directory.Build.props
src/libraries/System.IO.Compression.ZipFile/ref/Configurations.props
src/libraries/System.IO.Compression.ZipFile/ref/System.IO.Compression.ZipFile.csproj
src/libraries/System.IO.Compression.ZipFile/src/Configurations.props
src/libraries/System.IO.Compression.ZipFile/src/System.IO.Compression.ZipFile.csproj
src/libraries/System.IO.Compression.ZipFile/tests/Configurations.props
src/libraries/System.IO.Compression.ZipFile/tests/System.IO.Compression.ZipFile.Tests.csproj
src/libraries/System.IO.Compression/Directory.Build.props
src/libraries/System.IO.Compression/ref/Configurations.props
src/libraries/System.IO.Compression/ref/System.IO.Compression.csproj
src/libraries/System.IO.Compression/src/Configurations.props
src/libraries/System.IO.Compression/src/System.IO.Compression.csproj
src/libraries/System.IO.Compression/tests/Configurations.props
src/libraries/System.IO.Compression/tests/System.IO.Compression.Tests.csproj
src/libraries/System.IO.FileSystem.AccessControl/tests/Configurations.props
src/libraries/System.IO.FileSystem.AccessControl/tests/DirectoryObjectSecurityTests.cs
src/libraries/System.IO.FileSystem.AccessControl/tests/System.IO.FileSystem.AccessControl.Tests.csproj
src/libraries/System.IO.FileSystem.DriveInfo/Directory.Build.props
src/libraries/System.IO.FileSystem.DriveInfo/ref/Configurations.props
src/libraries/System.IO.FileSystem.DriveInfo/ref/System.IO.FileSystem.DriveInfo.csproj
src/libraries/System.IO.FileSystem.DriveInfo/src/Configurations.props
src/libraries/System.IO.FileSystem.DriveInfo/src/System.IO.FileSystem.DriveInfo.csproj
src/libraries/System.IO.FileSystem.DriveInfo/tests/Configurations.props
src/libraries/System.IO.FileSystem.DriveInfo/tests/DriveInfo.Windows.Tests.cs
src/libraries/System.IO.FileSystem.DriveInfo/tests/System.IO.FileSystem.DriveInfo.Tests.csproj
src/libraries/System.IO.FileSystem.Primitives/Directory.Build.props
src/libraries/System.IO.FileSystem.Primitives/ref/Configurations.props
src/libraries/System.IO.FileSystem.Primitives/ref/System.IO.FileSystem.Primitives.csproj
src/libraries/System.IO.FileSystem.Primitives/src/Configurations.props
src/libraries/System.IO.FileSystem.Primitives/src/System.IO.FileSystem.Primitives.csproj
src/libraries/System.IO.FileSystem.Primitives/tests/Configurations.props
src/libraries/System.IO.FileSystem.Primitives/tests/System.IO.FileSystem.Primitives.Tests.csproj
src/libraries/System.IO.FileSystem.Watcher/Directory.Build.props
src/libraries/System.IO.FileSystem.Watcher/ref/Configurations.props
src/libraries/System.IO.FileSystem.Watcher/ref/System.IO.FileSystem.Watcher.csproj
src/libraries/System.IO.FileSystem.Watcher/src/Configurations.props
src/libraries/System.IO.FileSystem.Watcher/src/System.IO.FileSystem.Watcher.csproj
src/libraries/System.IO.FileSystem.Watcher/tests/Configurations.props
src/libraries/System.IO.FileSystem.Watcher/tests/FileSystemWatcher.Directory.NotifyFilter.cs
src/libraries/System.IO.FileSystem.Watcher/tests/System.IO.FileSystem.Watcher.Tests.csproj
src/libraries/System.IO.FileSystem/Directory.Build.props
src/libraries/System.IO.FileSystem/ref/Configurations.props
src/libraries/System.IO.FileSystem/ref/System.IO.FileSystem.csproj
src/libraries/System.IO.FileSystem/src/Configurations.props
src/libraries/System.IO.FileSystem/src/System.IO.FileSystem.csproj
src/libraries/System.IO.FileSystem/src/System/IO/Enumeration/FileSystemEnumerator.WinRT.cs [deleted file]
src/libraries/System.IO.FileSystem/src/System/IO/FileSystem.WinRT.cs [deleted file]
src/libraries/System.IO.FileSystem/tests/Configurations.props
src/libraries/System.IO.FileSystem/tests/Directory/CreateDirectory.cs
src/libraries/System.IO.FileSystem/tests/File/EncryptDecrypt.cs
src/libraries/System.IO.FileSystem/tests/FileStream/CopyToAsync.cs
src/libraries/System.IO.FileSystem/tests/FileStream/Name.cs
src/libraries/System.IO.FileSystem/tests/FileStream/ctor_sfh_fa.cs
src/libraries/System.IO.FileSystem/tests/FileStream/ctor_sfh_fa_buffer.cs
src/libraries/System.IO.FileSystem/tests/System.IO.FileSystem.Tests.csproj
src/libraries/System.IO.IsolatedStorage/Directory.Build.props
src/libraries/System.IO.IsolatedStorage/ref/Configurations.props
src/libraries/System.IO.IsolatedStorage/ref/System.IO.IsolatedStorage.csproj
src/libraries/System.IO.IsolatedStorage/src/Configurations.props
src/libraries/System.IO.IsolatedStorage/src/System.IO.IsolatedStorage.csproj
src/libraries/System.IO.IsolatedStorage/src/System/IO/IsolatedStorage/Helper.WinRT.cs [deleted file]
src/libraries/System.IO.IsolatedStorage/tests/Configurations.props
src/libraries/System.IO.IsolatedStorage/tests/System.IO.IsolatedStorage.Tests.csproj
src/libraries/System.IO.IsolatedStorage/tests/System/IO/IsolatedStorage/HelperTests.cs
src/libraries/System.IO.MemoryMappedFiles/Directory.Build.props
src/libraries/System.IO.MemoryMappedFiles/ref/Configurations.props
src/libraries/System.IO.MemoryMappedFiles/ref/System.IO.MemoryMappedFiles.csproj
src/libraries/System.IO.MemoryMappedFiles/src/Configurations.props
src/libraries/System.IO.MemoryMappedFiles/src/System.IO.MemoryMappedFiles.csproj
src/libraries/System.IO.MemoryMappedFiles/src/System/IO/MemoryMappedFiles/Interop.Windows.Uap.cs [deleted file]
src/libraries/System.IO.MemoryMappedFiles/tests/Configurations.props
src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs
src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs
src/libraries/System.IO.MemoryMappedFiles/tests/System.IO.MemoryMappedFiles.Tests.csproj
src/libraries/System.IO.Packaging/tests/Configurations.props
src/libraries/System.IO.Packaging/tests/System.IO.Packaging.Tests.csproj
src/libraries/System.IO.Packaging/tests/Tests.cs
src/libraries/System.IO.Pipelines/tests/Configurations.props
src/libraries/System.IO.Pipelines/tests/System.IO.Pipelines.Tests.csproj
src/libraries/System.IO.Pipes.AccessControl/Directory.Build.props
src/libraries/System.IO.Pipes.AccessControl/src/Configurations.props
src/libraries/System.IO.Pipes.AccessControl/src/System.IO.Pipes.AccessControl.csproj
src/libraries/System.IO.Pipes.AccessControl/tests/Configurations.props
src/libraries/System.IO.Pipes.AccessControl/tests/NamedPipeTests/NamedPipeTest.AclExtensions.cs
src/libraries/System.IO.Pipes.AccessControl/tests/PipeTest.AclExtensions.cs
src/libraries/System.IO.Pipes.AccessControl/tests/System.IO.Pipes.AccessControl.Tests.csproj
src/libraries/System.IO.Pipes/Directory.Build.props
src/libraries/System.IO.Pipes/ref/Configurations.props
src/libraries/System.IO.Pipes/ref/System.IO.Pipes.csproj
src/libraries/System.IO.Pipes/src/Configurations.props
src/libraries/System.IO.Pipes/src/System.IO.Pipes.csproj
src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Uap.cs [deleted file]
src/libraries/System.IO.Pipes/tests/Configurations.props
src/libraries/System.IO.Pipes/tests/InteropTest.Windows.Uap.cs [deleted file]
src/libraries/System.IO.Pipes/tests/NamedPipeTests/NamedPipeTest.CrossProcess.cs
src/libraries/System.IO.Pipes/tests/NamedPipeTests/NamedPipeTest.Read.cs
src/libraries/System.IO.Pipes/tests/NamedPipeTests/NamedPipeTest.RunAsClient.Windows.cs
src/libraries/System.IO.Pipes/tests/NamedPipeTests/NamedPipeTest.Simple.cs
src/libraries/System.IO.Pipes/tests/NamedPipeTests/NamedPipeTest.Specific.cs
src/libraries/System.IO.Pipes/tests/NamedPipeTests/NamedPipeTest.Write.cs
src/libraries/System.IO.Pipes/tests/System.IO.Pipes.Tests.csproj
src/libraries/System.IO.Ports/Directory.Build.props
src/libraries/System.IO.Ports/src/Configurations.props
src/libraries/System.IO.Ports/src/System.IO.Ports.csproj
src/libraries/System.IO.Ports/src/System/IO/Ports/SerialPort.Uap.cs [deleted file]
src/libraries/System.IO.Ports/src/System/IO/Ports/SerialStream.Uap.cs [deleted file]
src/libraries/System.IO.Ports/tests/Configurations.props
src/libraries/System.IO.Ports/tests/SerialPort/AbortOnError.cs
src/libraries/System.IO.Ports/tests/SerialPort/GetPortNames.cs
src/libraries/System.IO.Ports/tests/SerialPort/OpenDevices.cs
src/libraries/System.IO.Ports/tests/Support/PortHelper.cs
src/libraries/System.IO.Ports/tests/System.IO.Ports.Tests.csproj
src/libraries/System.IO.UnmanagedMemoryStream/Directory.Build.props
src/libraries/System.IO.UnmanagedMemoryStream/ref/Configurations.props
src/libraries/System.IO.UnmanagedMemoryStream/ref/System.IO.UnmanagedMemoryStream.csproj
src/libraries/System.IO.UnmanagedMemoryStream/src/Configurations.props
src/libraries/System.IO.UnmanagedMemoryStream/src/System.IO.UnmanagedMemoryStream.csproj
src/libraries/System.IO.UnmanagedMemoryStream/tests/Configurations.props
src/libraries/System.IO.UnmanagedMemoryStream/tests/System.IO.UnmanagedMemoryStream.Tests.csproj
src/libraries/System.IO/Directory.Build.props
src/libraries/System.IO/ref/Configurations.props
src/libraries/System.IO/ref/System.IO.csproj
src/libraries/System.IO/src/Configurations.props
src/libraries/System.IO/src/System.IO.csproj
src/libraries/System.IO/tests/Configurations.props
src/libraries/System.IO/tests/StringWriter/StringWriterTests.cs
src/libraries/System.IO/tests/System.IO.Tests.csproj
src/libraries/System.Json/tests/Configurations.props
src/libraries/System.Json/tests/System.Json.Tests.csproj
src/libraries/System.Json/tests/System/Json/JsonValueTests.cs
src/libraries/System.Linq.Expressions/Directory.Build.props
src/libraries/System.Linq.Expressions/ref/Configurations.props
src/libraries/System.Linq.Expressions/ref/System.Linq.Expressions.csproj
src/libraries/System.Linq.Expressions/src/Configurations.props
src/libraries/System.Linq.Expressions/src/System.Linq.Expressions.csproj
src/libraries/System.Linq.Expressions/tests/Configurations.props
src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj
src/libraries/System.Linq.Parallel/Directory.Build.props
src/libraries/System.Linq.Parallel/ref/Configurations.props
src/libraries/System.Linq.Parallel/ref/System.Linq.Parallel.csproj
src/libraries/System.Linq.Parallel/src/Configurations.props
src/libraries/System.Linq.Parallel/src/System.Linq.Parallel.csproj
src/libraries/System.Linq.Parallel/tests/Configurations.props
src/libraries/System.Linq.Parallel/tests/System.Linq.Parallel.Tests.csproj
src/libraries/System.Linq.Queryable/Directory.Build.props
src/libraries/System.Linq.Queryable/ref/Configurations.props
src/libraries/System.Linq.Queryable/ref/System.Linq.Queryable.csproj
src/libraries/System.Linq.Queryable/src/Configurations.props
src/libraries/System.Linq.Queryable/src/System.Linq.Queryable.csproj
src/libraries/System.Linq.Queryable/tests/Configurations.props
src/libraries/System.Linq.Queryable/tests/System.Linq.Queryable.Tests.csproj
src/libraries/System.Linq/Directory.Build.props
src/libraries/System.Linq/ref/Configurations.props
src/libraries/System.Linq/ref/System.Linq.csproj
src/libraries/System.Linq/src/Configurations.props
src/libraries/System.Linq/src/System.Linq.csproj
src/libraries/System.Management/src/System.Management.csproj
src/libraries/System.Management/tests/WmiTestHelper.cs
src/libraries/System.Memory/Directory.Build.props
src/libraries/System.Memory/ref/Configurations.props
src/libraries/System.Memory/ref/System.Memory.csproj
src/libraries/System.Memory/src/Configurations.props
src/libraries/System.Memory/src/System.Memory.csproj
src/libraries/System.Memory/tests/Configurations.props
src/libraries/System.Memory/tests/System.Memory.Tests.csproj
src/libraries/System.Net.Http.Rtc/Directory.Build.props [deleted file]
src/libraries/System.Net.Http.Rtc/System.Net.Http.Rtc.sln [deleted file]
src/libraries/System.Net.Http.Rtc/ref/Configurations.props [deleted file]
src/libraries/System.Net.Http.Rtc/ref/System.Net.Http.Rtc.cs [deleted file]
src/libraries/System.Net.Http.Rtc/ref/System.Net.Http.Rtc.csproj [deleted file]
src/libraries/System.Net.Http.Rtc/src/Configurations.props [deleted file]
src/libraries/System.Net.Http.Rtc/src/System.Net.Http.Rtc.csproj [deleted file]
src/libraries/System.Net.Http.Rtc/src/System/Net/Http/RtcRequestFactory.cs [deleted file]
src/libraries/System.Net.Http.WinHttpHandler/src/System.Net.Http.WinHttpHandler.csproj
src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/Configurations.props
src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/ServerCertificateTest.cs
src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/System.Net.Http.WinHttpHandler.Functional.Tests.csproj
src/libraries/System.Net.Http.WinHttpHandler/tests/FunctionalTests/WinHttpHandlerTest.cs
src/libraries/System.Net.Http/Directory.Build.props
src/libraries/System.Net.Http/ref/Configurations.props
src/libraries/System.Net.Http/ref/System.Net.Http.cs
src/libraries/System.Net.Http/ref/System.Net.Http.csproj
src/libraries/System.Net.Http/src/Configurations.props
src/libraries/System.Net.Http/src/System.Net.Http.csproj
src/libraries/System.Net.Http/src/System/Net/Http/Headers/HeaderUtilities.cs
src/libraries/System.Net.Http/src/System/Net/Http/Headers/UriHeaderParser.cs
src/libraries/System.Net.Http/src/System/Net/Http/HttpClientHandler.Core.cs
src/libraries/System.Net.Http/src/System/Net/Http/HttpContent.cs
src/libraries/System.Net.Http/src/System/Net/Http/HttpRuleParser.cs
src/libraries/System.Net.Http/src/System/Net/Http/HttpUtilities.cs
src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/SystemProxyInfo.uap.cs [deleted file]
src/libraries/System.Net.Http/src/uap/System/Net/CookieHelper.cs [deleted file]
src/libraries/System.Net.Http/src/uap/System/Net/HttpClientHandler.cs [deleted file]
src/libraries/System.Net.Http/src/uap/System/Net/HttpHandlerToFilter.cs [deleted file]
src/libraries/System.Net.Http/src/uap/System/Net/cookie.cs [deleted file]
src/libraries/System.Net.Http/src/uap/System/Net/cookieexception.cs [deleted file]
src/libraries/System.Net.Http/tests/FunctionalTests/Configurations.props
src/libraries/System.Net.Http/tests/FunctionalTests/DefaultCredentialsTest.cs
src/libraries/System.Net.Http/tests/FunctionalTests/DiagnosticsTests.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Asynchrony.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Authentication.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.AutoRedirect.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Cancellation.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.ClientCertificates.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Cookies.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.DefaultProxyCredentials.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.MaxConnectionsPerServer.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.MaxResponseHeadersLength.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Proxy.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.ServerCertificates.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.SslProtocols.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTestBase.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientTest.netcoreapp.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpProtocolTests.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpRequestMessageTest.cs
src/libraries/System.Net.Http/tests/FunctionalTests/HttpRetryProtocolTests.cs
src/libraries/System.Net.Http/tests/FunctionalTests/IdnaProtocolTests.cs
src/libraries/System.Net.Http/tests/FunctionalTests/PostScenarioTest.cs
src/libraries/System.Net.Http/tests/FunctionalTests/ResponseStreamTest.cs
src/libraries/System.Net.Http/tests/FunctionalTests/SchSendAuxRecordHttpTest.cs
src/libraries/System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs
src/libraries/System.Net.Http/tests/FunctionalTests/System.Net.Http.Functional.Tests.csproj
src/libraries/System.Net.Http/tests/FunctionalTests/TestHelper.cs
src/libraries/System.Net.Http/tests/FunctionalTests/XUnitAssemblyAttributes.cs [deleted file]
src/libraries/System.Net.HttpListener/Directory.Build.props
src/libraries/System.Net.HttpListener/ref/Configurations.props
src/libraries/System.Net.HttpListener/ref/System.Net.HttpListener.csproj
src/libraries/System.Net.HttpListener/src/Configurations.props
src/libraries/System.Net.HttpListener/src/System.Net.HttpListener.csproj
src/libraries/System.Net.HttpListener/src/System/Net/Windows/CookieExtensions.cs
src/libraries/System.Net.HttpListener/tests/Configurations.props
src/libraries/System.Net.HttpListener/tests/HttpListenerResponseTests.Headers.cs
src/libraries/System.Net.HttpListener/tests/HttpListenerWebSocketTests.cs
src/libraries/System.Net.HttpListener/tests/System.Net.HttpListener.Tests.csproj
src/libraries/System.Net.Mail/Directory.Build.props
src/libraries/System.Net.Mail/ref/Configurations.props
src/libraries/System.Net.Mail/ref/System.Net.Mail.csproj
src/libraries/System.Net.Mail/src/Configurations.props
src/libraries/System.Net.Mail/src/System.Net.Mail.csproj
src/libraries/System.Net.Mail/tests/Functional/Configurations.props
src/libraries/System.Net.Mail/tests/Functional/System.Net.Mail.Functional.Tests.csproj
src/libraries/System.Net.Mail/tests/Unit/Configurations.props
src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj
src/libraries/System.Net.NameResolution/Directory.Build.props
src/libraries/System.Net.NameResolution/ref/Configurations.props
src/libraries/System.Net.NameResolution/ref/System.Net.NameResolution.csproj
src/libraries/System.Net.NameResolution/src/Configurations.props
src/libraries/System.Net.NameResolution/src/System.Net.NameResolution.csproj
src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionPal.Uap.cs [deleted file]
src/libraries/System.Net.NameResolution/tests/FunctionalTests/Configurations.props
src/libraries/System.Net.NameResolution/tests/FunctionalTests/System.Net.NameResolution.Functional.Tests.csproj
src/libraries/System.Net.NameResolution/tests/PalTests/System.Net.NameResolution.Pal.Tests.csproj
src/libraries/System.Net.NetworkInformation/Directory.Build.props
src/libraries/System.Net.NetworkInformation/ref/Configurations.props
src/libraries/System.Net.NetworkInformation/ref/System.Net.NetworkInformation.csproj
src/libraries/System.Net.NetworkInformation/src/Configurations.props
src/libraries/System.Net.NetworkInformation/src/System.Net.NetworkInformation.csproj
src/libraries/System.Net.NetworkInformation/tests/FunctionalTests/Configurations.props
src/libraries/System.Net.NetworkInformation/tests/FunctionalTests/System.Net.NetworkInformation.Functional.Tests.csproj
src/libraries/System.Net.Ping/Directory.Build.props
src/libraries/System.Net.Ping/ref/Configurations.props
src/libraries/System.Net.Ping/ref/System.Net.Ping.csproj
src/libraries/System.Net.Ping/src/Configurations.props
src/libraries/System.Net.Ping/src/System.Net.Ping.csproj
src/libraries/System.Net.Ping/src/System/Net/NetworkInformation/Ping.Windows.Uap.cs [deleted file]
src/libraries/System.Net.Ping/tests/FunctionalTests/Configurations.props
src/libraries/System.Net.Ping/tests/FunctionalTests/PingTest.cs
src/libraries/System.Net.Ping/tests/FunctionalTests/System.Net.Ping.Functional.Tests.csproj
src/libraries/System.Net.Primitives/Directory.Build.props
src/libraries/System.Net.Primitives/ref/Configurations.props
src/libraries/System.Net.Primitives/ref/System.Net.Primitives.csproj
src/libraries/System.Net.Primitives/src/Configurations.props
src/libraries/System.Net.Primitives/src/System.Net.Primitives.csproj
src/libraries/System.Net.Primitives/src/System/Net/Cookie.cs
src/libraries/System.Net.Primitives/src/System/Net/CookieCollection.cs
src/libraries/System.Net.Primitives/tests/FunctionalTests/Configurations.props
src/libraries/System.Net.Primitives/tests/FunctionalTests/System.Net.Primitives.Functional.Tests.csproj
src/libraries/System.Net.Requests/Directory.Build.props
src/libraries/System.Net.Requests/ref/Configurations.props
src/libraries/System.Net.Requests/ref/System.Net.Requests.csproj
src/libraries/System.Net.Requests/src/Configurations.props
src/libraries/System.Net.Requests/src/System.Net.Requests.csproj
src/libraries/System.Net.Requests/tests/Configurations.props
src/libraries/System.Net.Requests/tests/HttpWebRequestTest.cs
src/libraries/System.Net.Requests/tests/System.Net.Requests.Tests.csproj
src/libraries/System.Net.Security/Directory.Build.props
src/libraries/System.Net.Security/ref/Configurations.props
src/libraries/System.Net.Security/ref/System.Net.Security.csproj
src/libraries/System.Net.Security/src/Configurations.props
src/libraries/System.Net.Security/src/System.Net.Security.csproj
src/libraries/System.Net.Security/tests/FunctionalTests/Configurations.props
src/libraries/System.Net.Security/tests/FunctionalTests/System.Net.Security.Tests.csproj
src/libraries/System.Net.Security/tests/UnitTests/Configurations.props
src/libraries/System.Net.Security/tests/UnitTests/System.Net.Security.Unit.Tests.csproj
src/libraries/System.Net.ServicePoint/Directory.Build.props
src/libraries/System.Net.ServicePoint/ref/Configurations.props
src/libraries/System.Net.ServicePoint/ref/System.Net.ServicePoint.csproj
src/libraries/System.Net.ServicePoint/src/Configurations.props
src/libraries/System.Net.ServicePoint/src/System.Net.ServicePoint.csproj
src/libraries/System.Net.ServicePoint/tests/Configurations.props
src/libraries/System.Net.ServicePoint/tests/System.Net.ServicePoint.Tests.csproj
src/libraries/System.Net.Sockets/Directory.Build.props
src/libraries/System.Net.Sockets/ref/Configurations.props
src/libraries/System.Net.Sockets/ref/System.Net.Sockets.csproj
src/libraries/System.Net.Sockets/src/Configurations.props
src/libraries/System.Net.Sockets/src/System.Net.Sockets.csproj
src/libraries/System.Net.Sockets/tests/FunctionalTests/Configurations.props
src/libraries/System.Net.Sockets/tests/FunctionalTests/DualModeSocketTest.cs
src/libraries/System.Net.Sockets/tests/FunctionalTests/SendReceive.cs
src/libraries/System.Net.Sockets/tests/FunctionalTests/SocketOptionNameTest.cs
src/libraries/System.Net.Sockets/tests/FunctionalTests/System.Net.Sockets.Tests.csproj
src/libraries/System.Net.Sockets/tests/ManualPerformanceTests/Configurations.props
src/libraries/System.Net.Sockets/tests/ManualPerformanceTests/System.Net.Sockets.Async.Stress.Tests.csproj
src/libraries/System.Net.WebClient/Directory.Build.props
src/libraries/System.Net.WebClient/ref/Configurations.props
src/libraries/System.Net.WebClient/ref/System.Net.WebClient.csproj
src/libraries/System.Net.WebClient/src/Configurations.props
src/libraries/System.Net.WebClient/src/System.Net.WebClient.csproj
src/libraries/System.Net.WebClient/tests/Configurations.props
src/libraries/System.Net.WebClient/tests/System.Net.WebClient.Tests.csproj
src/libraries/System.Net.WebHeaderCollection/Directory.Build.props
src/libraries/System.Net.WebHeaderCollection/ref/Configurations.props
src/libraries/System.Net.WebHeaderCollection/ref/System.Net.WebHeaderCollection.csproj
src/libraries/System.Net.WebHeaderCollection/src/Configurations.props
src/libraries/System.Net.WebHeaderCollection/src/System.Net.WebHeaderCollection.csproj
src/libraries/System.Net.WebHeaderCollection/tests/Configurations.props
src/libraries/System.Net.WebHeaderCollection/tests/System.Net.WebHeaderCollection.Tests.csproj
src/libraries/System.Net.WebProxy/Directory.Build.props
src/libraries/System.Net.WebProxy/ref/Configurations.props
src/libraries/System.Net.WebProxy/ref/System.Net.WebProxy.csproj
src/libraries/System.Net.WebProxy/src/Configurations.props
src/libraries/System.Net.WebProxy/src/System.Net.WebProxy.csproj
src/libraries/System.Net.WebProxy/tests/Configurations.props
src/libraries/System.Net.WebProxy/tests/System.Net.WebProxy.Tests.csproj
src/libraries/System.Net.WebSockets.Client/Directory.Build.props
src/libraries/System.Net.WebSockets.Client/ref/Configurations.props
src/libraries/System.Net.WebSockets.Client/ref/System.Net.WebSockets.Client.csproj
src/libraries/System.Net.WebSockets.Client/src/Configurations.props
src/libraries/System.Net.WebSockets.Client/src/System.Net.WebSockets.Client.csproj
src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/WebSocketHandle.WinRT.cs [deleted file]
src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/WinRTWebSocket.cs [deleted file]
src/libraries/System.Net.WebSockets.Client/tests/ClientWebSocketOptionsTests.cs
src/libraries/System.Net.WebSockets.Client/tests/ClientWebSocketOptionsTests.netcoreapp.cs
src/libraries/System.Net.WebSockets.Client/tests/Configurations.props
src/libraries/System.Net.WebSockets.Client/tests/ConnectTest.cs
src/libraries/System.Net.WebSockets.Client/tests/SendReceiveTest.cs
src/libraries/System.Net.WebSockets.Client/tests/System.Net.WebSockets.Client.Tests.csproj
src/libraries/System.Net.WebSockets.WebSocketProtocol/tests/Configurations.props
src/libraries/System.Net.WebSockets.WebSocketProtocol/tests/System.Net.WebSockets.WebSocketProtocol.Tests.csproj
src/libraries/System.Net.WebSockets/Directory.Build.props
src/libraries/System.Net.WebSockets/ref/Configurations.props
src/libraries/System.Net.WebSockets/ref/System.Net.WebSockets.csproj
src/libraries/System.Net.WebSockets/src/Configurations.props
src/libraries/System.Net.WebSockets/src/System.Net.WebSockets.csproj
src/libraries/System.Net.WebSockets/tests/Configurations.props
src/libraries/System.Net.WebSockets/tests/System.Net.WebSockets.Tests.csproj
src/libraries/System.Numerics.Vectors.WindowsRuntime/Directory.Build.props [deleted file]
src/libraries/System.Numerics.Vectors.WindowsRuntime/System.Numerics.Vectors.WindowsRuntime.sln [deleted file]
src/libraries/System.Numerics.Vectors.WindowsRuntime/src/Configurations.props [deleted file]
src/libraries/System.Numerics.Vectors.WindowsRuntime/src/System.Numerics.Vectors.WindowsRuntime.csproj [deleted file]
src/libraries/System.Numerics.Vectors.WindowsRuntime/src/System/Numerics/VectorExtensions.cs [deleted file]
src/libraries/System.Numerics.Vectors/Directory.Build.props
src/libraries/System.Numerics.Vectors/ref/Configurations.props
src/libraries/System.Numerics.Vectors/ref/System.Numerics.Vectors.csproj
src/libraries/System.Numerics.Vectors/src/Configurations.props
src/libraries/System.Numerics.Vectors/src/System.Numerics.Vectors.csproj
src/libraries/System.Numerics.Vectors/tests/Configurations.props
src/libraries/System.Numerics.Vectors/tests/System.Numerics.Vectors.Tests.csproj
src/libraries/System.ObjectModel/Directory.Build.props
src/libraries/System.ObjectModel/ref/Configurations.props
src/libraries/System.ObjectModel/ref/System.ObjectModel.csproj
src/libraries/System.ObjectModel/src/Configurations.props
src/libraries/System.ObjectModel/src/System.ObjectModel.csproj
src/libraries/System.ObjectModel/tests/Configurations.props
src/libraries/System.ObjectModel/tests/System.ObjectModel.Tests.csproj
src/libraries/System.Private.DataContractSerialization/Directory.Build.props
src/libraries/System.Private.DataContractSerialization/src/Configurations.props
src/libraries/System.Private.DataContractSerialization/src/System.Private.DataContractSerialization.csproj
src/libraries/System.Private.Reflection.Metadata.Ecma335/Directory.Build.props [deleted file]
src/libraries/System.Private.Reflection.Metadata.Ecma335/System.Private.Reflection.Metadata.Ecma335.sln [deleted file]
src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Configurations.props [deleted file]
src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Resources/Strings.resx [deleted file]
src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Shims/Marshal.cs [deleted file]
src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Shims/MiniLinq.cs [deleted file]
src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Shims/RuntimeReflectionExtensions.cs [deleted file]
src/libraries/System.Private.Reflection.Metadata.Ecma335/src/System.Private.Reflection.Metadata.Ecma335.csproj [deleted file]
src/libraries/System.Private.Uri/Directory.Build.props
src/libraries/System.Private.Uri/src/Configurations.props
src/libraries/System.Private.Uri/src/System.Private.Uri.csproj
src/libraries/System.Private.Uri/tests/ExtendedFunctionalTests/Configurations.props
src/libraries/System.Private.Uri/tests/ExtendedFunctionalTests/System.Private.Uri.ExtendedFunctional.Tests.csproj
src/libraries/System.Private.Uri/tests/FunctionalTests/Configurations.props
src/libraries/System.Private.Uri/tests/FunctionalTests/System.Private.Uri.Functional.Tests.csproj
src/libraries/System.Private.Xml.Linq/Directory.Build.props
src/libraries/System.Private.Xml.Linq/src/Configurations.props
src/libraries/System.Private.Xml.Linq/src/System.Private.Xml.Linq.csproj
src/libraries/System.Private.Xml.Linq/src/System/Xml/Linq/XElement.cs
src/libraries/System.Private.Xml.Linq/tests/Properties/Configurations.props
src/libraries/System.Private.Xml.Linq/tests/Properties/System.Xml.Linq.Properties.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/Streaming/Configurations.props
src/libraries/System.Private.Xml.Linq/tests/Streaming/System.Xml.Linq.Streaming.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/TreeManipulation/Configurations.props
src/libraries/System.Private.Xml.Linq/tests/TreeManipulation/System.Xml.Linq.TreeManipulation.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/Configurations.props
src/libraries/System.Private.Xml.Linq/tests/XDocument.Common/XDocument.Common.csproj
src/libraries/System.Private.Xml.Linq/tests/events/Configurations.props
src/libraries/System.Private.Xml.Linq/tests/events/System.Xml.Linq.Events.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/misc/Configurations.props
src/libraries/System.Private.Xml.Linq/tests/misc/System.Xml.Linq.Misc.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/xNodeBuilder/Configurations.props
src/libraries/System.Private.Xml.Linq/tests/xNodeBuilder/System.Xml.Linq.xNodeBuilder.Tests.csproj
src/libraries/System.Private.Xml.Linq/tests/xNodeReader/Configurations.props
src/libraries/System.Private.Xml.Linq/tests/xNodeReader/System.Xml.Linq.xNodeReader.Tests.csproj
src/libraries/System.Private.Xml/Directory.Build.props
src/libraries/System.Private.Xml/src/Configurations.props
src/libraries/System.Private.Xml/src/System.Private.Xml.csproj
src/libraries/System.Private.Xml/tests/Misc/Configurations.props
src/libraries/System.Private.Xml/tests/Misc/System.Xml.Misc.Tests.csproj
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/Configurations.props
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/System.Xml.RW.CharCheckingReader.Tests.csproj
src/libraries/System.Private.Xml/tests/Readers/CustomReader/Configurations.props
src/libraries/System.Private.Xml/tests/Readers/CustomReader/System.Xml.RW.CustomReader.Tests.csproj
src/libraries/System.Private.Xml/tests/Readers/FactoryReader/Configurations.props
src/libraries/System.Private.Xml/tests/Readers/FactoryReader/System.Xml.RW.FactoryReader.Tests.csproj
src/libraries/System.Private.Xml/tests/Readers/NameTable/Configurations.props
src/libraries/System.Private.Xml/tests/Readers/NameTable/System.Xml.RW.NameTable.Tests.csproj
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/Configurations.props
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/System.Xml.RW.ReaderSettings.Tests.csproj
src/libraries/System.Private.Xml/tests/Readers/SubtreeReader/Configurations.props
src/libraries/System.Private.Xml/tests/Readers/SubtreeReader/System.Xml.RW.SubtreeReader.Tests.csproj
src/libraries/System.Private.Xml/tests/Readers/WrappedReader/Configurations.props
src/libraries/System.Private.Xml/tests/Readers/WrappedReader/System.Xml.RW.WrappedReader.Tests.csproj
src/libraries/System.Private.Xml/tests/Writers/RwFactory/Configurations.props
src/libraries/System.Private.Xml/tests/Writers/RwFactory/System.Xml.RW.RwFactory.Tests.csproj
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/Configurations.props
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/System.Xml.RW.XmlWriterApi.Tests.csproj
src/libraries/System.Private.Xml/tests/XPath/XPathDocument/Configurations.props
src/libraries/System.Private.Xml/tests/XPath/XPathDocument/System.Xml.XPath.Tests.csproj
src/libraries/System.Private.Xml/tests/XPath/XmlDocument/Configurations.props
src/libraries/System.Private.Xml/tests/XPath/XmlDocument/System.Xml.XPath.XmlDocument.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlConvert/Configurations.props
src/libraries/System.Private.Xml/tests/XmlConvert/System.Xml.RW.XmlConvert.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlDocument/Configurations.props
src/libraries/System.Private.Xml/tests/XmlDocument/System.Xml.XmlDocument.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/Configurations.props
src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/System.Xml.XmlNodeReader.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/Configurations.props
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/System.Xml.RW.XmlReader.ReadContentAs.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlReader/Tests/Configurations.props
src/libraries/System.Private.Xml/tests/XmlReader/Tests/System.Xml.RW.XmlReader.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlReader/XmlResolver/Configurations.props
src/libraries/System.Private.Xml/tests/XmlReader/XmlResolver/System.Xml.RW.XmlSystemPathResolver.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlReaderLib/Configurations.props
src/libraries/System.Private.Xml/tests/XmlReaderLib/System.Xml.RW.XmlReaderLib.csproj
src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/Configurations.props
src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/System.Xml.XmlResolver.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/Configurations.props
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/System.Xml.XmlSchemaSet.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/Configurations.props
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlSerializer/Configurations.props
src/libraries/System.Private.Xml/tests/XmlSerializer/ReflectionOnly/Configurations.props
src/libraries/System.Private.Xml/tests/XmlSerializer/ReflectionOnly/System.Xml.XmlSerializer.ReflectionOnly.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlSerializer/System.Xml.XmlSerializer.Tests.csproj
src/libraries/System.Private.Xml/tests/XmlWriter/Configurations.props
src/libraries/System.Private.Xml/tests/XmlWriter/System.Xml.RW.XmlWriter.Tests.csproj
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/CXslTransform.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/Configurations.props
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/System.Xml.Xsl.XslTransformApi.Tests.csproj
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/XSLTransform.cs
src/libraries/System.Reflection.Context/Directory.Build.props
src/libraries/System.Reflection.Context/tests/Configurations.props
src/libraries/System.Reflection.Context/tests/System.Reflection.Context.Tests.csproj
src/libraries/System.Reflection.DispatchProxy/Directory.Build.props
src/libraries/System.Reflection.DispatchProxy/ref/Configurations.props
src/libraries/System.Reflection.DispatchProxy/ref/System.Reflection.DispatchProxy.csproj
src/libraries/System.Reflection.DispatchProxy/src/Configurations.props
src/libraries/System.Reflection.DispatchProxy/src/System.Reflection.DispatchProxy.csproj
src/libraries/System.Reflection.DispatchProxy/tests/Configurations.props
src/libraries/System.Reflection.DispatchProxy/tests/System.Reflection.DispatchProxy.Tests.csproj
src/libraries/System.Reflection.Emit.ILGeneration/Directory.Build.props
src/libraries/System.Reflection.Emit.ILGeneration/ref/Configurations.props
src/libraries/System.Reflection.Emit.ILGeneration/ref/System.Reflection.Emit.ILGeneration.csproj
src/libraries/System.Reflection.Emit.ILGeneration/src/Configurations.props
src/libraries/System.Reflection.Emit.ILGeneration/src/System.Reflection.Emit.ILGeneration.csproj
src/libraries/System.Reflection.Emit.Lightweight/Directory.Build.props
src/libraries/System.Reflection.Emit.Lightweight/ref/Configurations.props
src/libraries/System.Reflection.Emit.Lightweight/ref/System.Reflection.Emit.Lightweight.csproj
src/libraries/System.Reflection.Emit.Lightweight/src/Configurations.props
src/libraries/System.Reflection.Emit.Lightweight/src/System.Reflection.Emit.Lightweight.csproj
src/libraries/System.Reflection.Emit/Directory.Build.props
src/libraries/System.Reflection.Emit/ref/Configurations.props
src/libraries/System.Reflection.Emit/ref/System.Reflection.Emit.csproj
src/libraries/System.Reflection.Emit/src/Configurations.props
src/libraries/System.Reflection.Emit/src/System.Reflection.Emit.csproj
src/libraries/System.Reflection.Extensions/Directory.Build.props
src/libraries/System.Reflection.Extensions/ref/Configurations.props
src/libraries/System.Reflection.Extensions/ref/System.Reflection.Extensions.csproj
src/libraries/System.Reflection.Extensions/src/Configurations.props
src/libraries/System.Reflection.Extensions/src/System.Reflection.Extensions.csproj
src/libraries/System.Reflection.Extensions/tests/Configurations.props
src/libraries/System.Reflection.Extensions/tests/System.Reflection.Extensions.Tests.csproj
src/libraries/System.Reflection.Metadata/Directory.Build.props
src/libraries/System.Reflection.Metadata/ref/Configurations.props
src/libraries/System.Reflection.Metadata/ref/System.Reflection.Metadata.csproj
src/libraries/System.Reflection.Metadata/src/Configurations.props
src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj
src/libraries/System.Reflection.MetadataLoadContext/pkg/System.Reflection.MetadataLoadContext.pkgproj
src/libraries/System.Reflection.MetadataLoadContext/tests/Configurations.props
src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj
src/libraries/System.Reflection.Primitives/Directory.Build.props
src/libraries/System.Reflection.Primitives/ref/Configurations.props
src/libraries/System.Reflection.Primitives/ref/System.Reflection.Primitives.csproj
src/libraries/System.Reflection.Primitives/src/Configurations.props
src/libraries/System.Reflection.Primitives/src/System.Reflection.Primitives.csproj
src/libraries/System.Reflection.TypeExtensions/Directory.Build.props
src/libraries/System.Reflection.TypeExtensions/src/Configurations.props
src/libraries/System.Reflection.TypeExtensions/src/System.Reflection.TypeExtensions.csproj
src/libraries/System.Reflection.TypeExtensions/tests/Configurations.props
src/libraries/System.Reflection.TypeExtensions/tests/System.Reflection.TypeExtensions.Tests.csproj
src/libraries/System.Reflection/Directory.Build.props
src/libraries/System.Reflection/ref/Configurations.props
src/libraries/System.Reflection/ref/System.Reflection.csproj
src/libraries/System.Reflection/src/Configurations.props
src/libraries/System.Reflection/src/System.Reflection.csproj
src/libraries/System.Reflection/tests/AssemblyNameTests.cs
src/libraries/System.Reflection/tests/AssemblyTests.cs
src/libraries/System.Reflection/tests/Configurations.props
src/libraries/System.Reflection/tests/System.Reflection.Tests.csproj
src/libraries/System.Reflection/tests/TestExe/Configurations.props
src/libraries/System.Reflection/tests/TestExe/System.Reflection.TestExe.csproj
src/libraries/System.Resources.Extensions/tests/Configurations.props
src/libraries/System.Resources.Extensions/tests/System.Resources.Extensions.Tests.csproj
src/libraries/System.Resources.Reader/Directory.Build.props
src/libraries/System.Resources.Reader/ref/Configurations.props
src/libraries/System.Resources.Reader/ref/System.Resources.Reader.csproj
src/libraries/System.Resources.Reader/src/Configurations.props
src/libraries/System.Resources.Reader/src/System.Resources.Reader.csproj
src/libraries/System.Resources.Reader/tests/Configurations.props
src/libraries/System.Resources.Reader/tests/System.Resources.Reader.Tests.csproj
src/libraries/System.Resources.ResourceManager/Directory.Build.props
src/libraries/System.Resources.ResourceManager/ref/Configurations.props
src/libraries/System.Resources.ResourceManager/ref/System.Resources.ResourceManager.csproj
src/libraries/System.Resources.ResourceManager/src/Configurations.props
src/libraries/System.Resources.ResourceManager/src/System.Resources.ResourceManager.csproj
src/libraries/System.Resources.ResourceManager/tests/Configurations.props
src/libraries/System.Resources.ResourceManager/tests/ResourceManagerTests.cs
src/libraries/System.Resources.ResourceManager/tests/System.Resources.ResourceManager.Tests.csproj
src/libraries/System.Resources.Writer/Directory.Build.props
src/libraries/System.Resources.Writer/ref/Configurations.props
src/libraries/System.Resources.Writer/ref/System.Resources.Writer.csproj
src/libraries/System.Resources.Writer/src/Configurations.props
src/libraries/System.Resources.Writer/src/System.Resources.Writer.csproj
src/libraries/System.Resources.Writer/tests/Configurations.props
src/libraries/System.Resources.Writer/tests/System.Resources.Writer.Tests.csproj
src/libraries/System.Runtime.Caching/src/System.Runtime.Caching.csproj
src/libraries/System.Runtime.CompilerServices.Unsafe/Directory.Build.props
src/libraries/System.Runtime.CompilerServices.Unsafe/tests/Configurations.props
src/libraries/System.Runtime.CompilerServices.Unsafe/tests/System.Runtime.CompilerServices.Unsafe.Tests.csproj
src/libraries/System.Runtime.CompilerServices.VisualC/Directory.Build.props
src/libraries/System.Runtime.CompilerServices.VisualC/ref/Configurations.props
src/libraries/System.Runtime.CompilerServices.VisualC/ref/System.Runtime.CompilerServices.VisualC.csproj
src/libraries/System.Runtime.CompilerServices.VisualC/src/Configurations.props
src/libraries/System.Runtime.CompilerServices.VisualC/src/System.Runtime.CompilerServices.VisualC.csproj
src/libraries/System.Runtime.CompilerServices.VisualC/tests/Configurations.props
src/libraries/System.Runtime.CompilerServices.VisualC/tests/System.Runtime.CompilerServices.VisualC.Tests.csproj
src/libraries/System.Runtime.Extensions/Directory.Build.props
src/libraries/System.Runtime.Extensions/ref/Configurations.props
src/libraries/System.Runtime.Extensions/ref/System.Runtime.Extensions.csproj
src/libraries/System.Runtime.Extensions/src/Configurations.props
src/libraries/System.Runtime.Extensions/src/System.Runtime.Extensions.csproj
src/libraries/System.Runtime.Extensions/tests/Configurations.props
src/libraries/System.Runtime.Extensions/tests/System.Runtime.Extensions.Tests.csproj
src/libraries/System.Runtime.Extensions/tests/System/AppDomainTests.cs
src/libraries/System.Runtime.Extensions/tests/System/Environment.Exit.cs
src/libraries/System.Runtime.Extensions/tests/System/Environment.GetCommandLineArgs.cs
src/libraries/System.Runtime.Extensions/tests/System/Environment.SetEnvironmentVariable.cs
src/libraries/System.Runtime.Extensions/tests/System/Environment.UserDomainName.cs
src/libraries/System.Runtime.Extensions/tests/System/Environment.UserName.cs
src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs
src/libraries/System.Runtime.Extensions/tests/System/UnloadingAndProcessExitTests.netcoreapp.cs
src/libraries/System.Runtime.Extensions/tests/TestApp/Configurations.props
src/libraries/System.Runtime.Extensions/tests/TestApp/TestApp.csproj
src/libraries/System.Runtime.Extensions/tests/TestAppOutsideOfTPA/Configurations.props
src/libraries/System.Runtime.Extensions/tests/TestAppOutsideOfTPA/TestAppOutsideOfTPA.csproj
src/libraries/System.Runtime.Extensions/tests/VoidMainWithExitCodeApp/Configurations.props
src/libraries/System.Runtime.Extensions/tests/VoidMainWithExitCodeApp/VoidMainWithExitCodeApp.csproj
src/libraries/System.Runtime.Handles/Directory.Build.props
src/libraries/System.Runtime.Handles/ref/Configurations.props
src/libraries/System.Runtime.Handles/ref/System.Runtime.Handles.csproj
src/libraries/System.Runtime.Handles/src/Configurations.props
src/libraries/System.Runtime.Handles/src/System.Runtime.Handles.csproj
src/libraries/System.Runtime.Handles/tests/Configurations.props
src/libraries/System.Runtime.Handles/tests/System.Runtime.Handles.Tests.csproj
src/libraries/System.Runtime.InteropServices.RuntimeInformation/Directory.Build.props
src/libraries/System.Runtime.InteropServices.RuntimeInformation/ref/Configurations.props
src/libraries/System.Runtime.InteropServices.RuntimeInformation/ref/System.Runtime.InteropServices.RuntimeInformation.csproj
src/libraries/System.Runtime.InteropServices.RuntimeInformation/src/Configurations.props
src/libraries/System.Runtime.InteropServices.RuntimeInformation/src/System.Runtime.InteropServices.RuntimeInformation.csproj
src/libraries/System.Runtime.InteropServices.RuntimeInformation/src/System/Runtime/InteropServices/RuntimeInformation/RuntimeInformation.Windows.cs
src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/Configurations.props
src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/System.Runtime.InteropServices.RuntimeInformation.Tests.csproj
src/libraries/System.Runtime.InteropServices.WindowsRuntime/Directory.Build.props
src/libraries/System.Runtime.InteropServices.WindowsRuntime/ref/Configurations.props
src/libraries/System.Runtime.InteropServices.WindowsRuntime/ref/System.Runtime.InteropServices.WindowsRuntime.csproj
src/libraries/System.Runtime.InteropServices.WindowsRuntime/src/Configurations.props
src/libraries/System.Runtime.InteropServices.WindowsRuntime/src/System.Runtime.InteropServices.WindowsRuntime.csproj
src/libraries/System.Runtime.InteropServices.WindowsRuntime/tests/Configurations.props
src/libraries/System.Runtime.InteropServices.WindowsRuntime/tests/System.Runtime.InteropServices.WindowsRuntime.Tests.csproj
src/libraries/System.Runtime.InteropServices/Directory.Build.props
src/libraries/System.Runtime.InteropServices/ref/Configurations.props
src/libraries/System.Runtime.InteropServices/ref/System.Runtime.InteropServices.csproj
src/libraries/System.Runtime.InteropServices/src/Configurations.props
src/libraries/System.Runtime.InteropServices/src/System.Runtime.InteropServices.csproj
src/libraries/System.Runtime.InteropServices/tests/Configurations.props
src/libraries/System.Runtime.InteropServices/tests/System.Runtime.InteropServices.Tests.csproj
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/ComAwareEventInfoTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/ChangeWrapperHandleStrengthTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/CreateWrapperOfTypeTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/FinalReleaseComObjectTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetComObjectDataTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetEndComSlotTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetNativeVariantForObjectTests.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetObjectForIUnknownTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetObjectForNativeVariantTests.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetObjectsForNativeVariantsTests.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetStartComSlotTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetTypeFromCLSIDTests.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetTypedObjectForIUnknownTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/GetUniqueObjectForIUnknownTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/IsComObjectTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/IsTypeVisibleFromComTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/QueryInterfaceTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/QueryInterfaceTests.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/ReleaseComObjectTests.Windows.cs
src/libraries/System.Runtime.InteropServices/tests/System/Runtime/InteropServices/Marshal/SetComObjectDataTests.Windows.cs
src/libraries/System.Runtime.Loader/ref/Configurations.props
src/libraries/System.Runtime.Loader/ref/System.Runtime.Loader.csproj
src/libraries/System.Runtime.Loader/src/Configurations.props
src/libraries/System.Runtime.Loader/src/System.Runtime.Loader.csproj
src/libraries/System.Runtime.Loader/tests/Configurations.props
src/libraries/System.Runtime.Loader/tests/ContextualReflectionDependency/Configurations.props
src/libraries/System.Runtime.Loader/tests/ContextualReflectionDependency/System.Runtime.Loader.Test.ContextualReflectionDependency.csproj
src/libraries/System.Runtime.Loader/tests/DefaultContext/Configurations.props
src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/Configurations.props
src/libraries/System.Runtime.Loader/tests/RefEmitLoadContext/System.Runtime.Loader.RefEmitLoadContext.Tests.csproj
src/libraries/System.Runtime.Loader/tests/ReferencedClassLib/Configurations.props
src/libraries/System.Runtime.Loader/tests/ReferencedClassLib/ReferencedClassLib.csproj
src/libraries/System.Runtime.Loader/tests/ReferencedClassLibNeutralIsSatellite/Configurations.props
src/libraries/System.Runtime.Loader/tests/ReferencedClassLibNeutralIsSatellite/ReferencedClassLibNeutralIsSatellite.csproj
src/libraries/System.Runtime.Loader/tests/SatelliteAssemblies.cs
src/libraries/System.Runtime.Loader/tests/System.Runtime.Loader.Noop.Assembly/Configurations.props
src/libraries/System.Runtime.Loader/tests/System.Runtime.Loader.Noop.Assembly/System.Runtime.Loader.Noop.Assembly.csproj
src/libraries/System.Runtime.Loader/tests/System.Runtime.Loader.Tests.csproj
src/libraries/System.Runtime.Numerics/Directory.Build.props
src/libraries/System.Runtime.Numerics/ref/Configurations.props
src/libraries/System.Runtime.Numerics/ref/System.Runtime.Numerics.csproj
src/libraries/System.Runtime.Numerics/src/Configurations.props
src/libraries/System.Runtime.Numerics/src/System.Runtime.Numerics.csproj
src/libraries/System.Runtime.Numerics/tests/BigInteger/BigIntegerToStringTests.cs
src/libraries/System.Runtime.Numerics/tests/BigInteger/parse.cs
src/libraries/System.Runtime.Numerics/tests/Configurations.props
src/libraries/System.Runtime.Numerics/tests/System.Runtime.Numerics.Tests.csproj
src/libraries/System.Runtime.Serialization.Formatters/Directory.Build.props
src/libraries/System.Runtime.Serialization.Formatters/ref/Configurations.props
src/libraries/System.Runtime.Serialization.Formatters/ref/System.Runtime.Serialization.Formatters.csproj
src/libraries/System.Runtime.Serialization.Formatters/src/Configurations.props
src/libraries/System.Runtime.Serialization.Formatters/src/System.Runtime.Serialization.Formatters.csproj
src/libraries/System.Runtime.Serialization.Formatters/tests/BinaryFormatterTestData.cs
src/libraries/System.Runtime.Serialization.Formatters/tests/Configurations.props
src/libraries/System.Runtime.Serialization.Formatters/tests/System.Runtime.Serialization.Formatters.Tests.csproj
src/libraries/System.Runtime.Serialization.Json/Directory.Build.props
src/libraries/System.Runtime.Serialization.Json/ref/Configurations.props
src/libraries/System.Runtime.Serialization.Json/ref/System.Runtime.Serialization.Json.csproj
src/libraries/System.Runtime.Serialization.Json/src/Configurations.props
src/libraries/System.Runtime.Serialization.Json/src/System.Runtime.Serialization.Json.csproj
src/libraries/System.Runtime.Serialization.Json/tests/Configurations.props
src/libraries/System.Runtime.Serialization.Json/tests/ReflectionOnly/Configurations.props
src/libraries/System.Runtime.Serialization.Json/tests/ReflectionOnly/System.Runtime.Serialization.Json.ReflectionOnly.Tests.csproj
src/libraries/System.Runtime.Serialization.Json/tests/System.Runtime.Serialization.Json.Tests.csproj
src/libraries/System.Runtime.Serialization.Primitives/Directory.Build.props
src/libraries/System.Runtime.Serialization.Primitives/ref/Configurations.props
src/libraries/System.Runtime.Serialization.Primitives/ref/System.Runtime.Serialization.Primitives.csproj
src/libraries/System.Runtime.Serialization.Primitives/src/Configurations.props
src/libraries/System.Runtime.Serialization.Primitives/src/System.Runtime.Serialization.Primitives.csproj
src/libraries/System.Runtime.Serialization.Primitives/tests/Configurations.props
src/libraries/System.Runtime.Serialization.Primitives/tests/System.Runtime.Serialization.Primitives.Tests.csproj
src/libraries/System.Runtime.Serialization.Xml/Directory.Build.props
src/libraries/System.Runtime.Serialization.Xml/ref/Configurations.props
src/libraries/System.Runtime.Serialization.Xml/ref/System.Runtime.Serialization.Xml.csproj
src/libraries/System.Runtime.Serialization.Xml/src/Configurations.props
src/libraries/System.Runtime.Serialization.Xml/src/System.Runtime.Serialization.Xml.csproj
src/libraries/System.Runtime.Serialization.Xml/tests/Canonicalization/Configurations.props
src/libraries/System.Runtime.Serialization.Xml/tests/Canonicalization/System.Runtime.Serialization.Xml.Canonicalization.csproj
src/libraries/System.Runtime.Serialization.Xml/tests/Configurations.props
src/libraries/System.Runtime.Serialization.Xml/tests/ReflectionOnly/Configurations.props
src/libraries/System.Runtime.Serialization.Xml/tests/ReflectionOnly/System.Runtime.Serialization.Xml.ReflectionOnly.Tests.csproj
src/libraries/System.Runtime.Serialization.Xml/tests/System.Runtime.Serialization.Xml.Tests.csproj
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/Directory.Build.props
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/System.Runtime.WindowsRuntime.UI.Xaml.sln
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/ref/Configurations.props
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/ref/System.Runtime.WindowsRuntime.UI.Xaml.csproj
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/src/Configurations.props
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/src/System.Runtime.WindowsRuntime.UI.Xaml.csproj
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Configurations.props
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/System.Runtime.WindowsRuntime.UI.Xaml.Tests.csproj
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/Automation/ElementNotAvailableExceptionTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/Automation/ElementNotEnabledExceptionTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/Controls/Primitives/GeneratorPositionTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/CornerRadiusTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/DurationTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/GridLengthTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/LayoutCycleExceptionTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/Markup/XamlParseExceptionTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/Media/Animation/KeyTimeTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/Media/Animation/RepeatBehaviorTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/Media/MatrixTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/Media3D/Matrix3DTests.cs
src/libraries/System.Runtime.WindowsRuntime.UI.Xaml/tests/Windows/UI/Xaml/ThicknessTests.cs
src/libraries/System.Runtime.WindowsRuntime/Directory.Build.props
src/libraries/System.Runtime.WindowsRuntime/System.Runtime.WindowsRuntime.sln
src/libraries/System.Runtime.WindowsRuntime/ref/Configurations.props
src/libraries/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj
src/libraries/System.Runtime.WindowsRuntime/src/Configurations.props
src/libraries/System.Runtime.WindowsRuntime/src/System.Runtime.WindowsRuntime.csproj
src/libraries/System.Runtime.WindowsRuntime/src/System/Resources/WindowsRuntimeResourceManager.cs
src/libraries/System.Runtime.WindowsRuntime/tests/Configurations.props
src/libraries/System.Runtime.WindowsRuntime/tests/System.Runtime.WindowsRuntime.Tests.csproj
src/libraries/System.Runtime.WindowsRuntime/tests/System/IO/AsWinRTStreamTests.cs
src/libraries/System.Runtime.WindowsRuntime/tests/System/IO/CreateSafeFileHandleTests.cs
src/libraries/System.Runtime.WindowsRuntime/tests/System/Runtime/InteropServices/WindowsRuntimeBufferExtensionsTests.cs
src/libraries/System.Runtime.WindowsRuntime/tests/System/Runtime/InteropServices/WindowsRuntimeBufferTests.cs
src/libraries/System.Runtime.WindowsRuntime/tests/Windows/Foundation/PointTests.cs
src/libraries/System.Runtime.WindowsRuntime/tests/Windows/Foundation/RectTests.cs
src/libraries/System.Runtime.WindowsRuntime/tests/Windows/Foundation/SizeTests.cs
src/libraries/System.Runtime.WindowsRuntime/tests/Windows/UI/ColorTests.cs
src/libraries/System.Runtime/Directory.Build.props
src/libraries/System.Runtime/ref/Configurations.props
src/libraries/System.Runtime/ref/System.Runtime.csproj
src/libraries/System.Runtime/src/Configurations.props
src/libraries/System.Runtime/src/System.Runtime.csproj
src/libraries/System.Runtime/tests/Configurations.props
src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj
src/libraries/System.Runtime/tests/System/ActivatorTests.netcoreapp.cs
src/libraries/System.Runtime/tests/System/DecimalTests.cs
src/libraries/System.Runtime/tests/System/DecimalTests.netcoreapp.cs
src/libraries/System.Runtime/tests/System/DoubleTests.cs
src/libraries/System.Runtime/tests/System/DoubleTests.netcoreapp.cs
src/libraries/System.Runtime/tests/System/FormattableStringTests.cs
src/libraries/System.Runtime/tests/System/FormattableStringTests.netcoreapp.cs
src/libraries/System.Runtime/tests/System/Runtime/ExceptionServices/HandleProcessCorruptedStateExceptions.cs
src/libraries/System.Runtime/tests/System/SingleTests.cs
src/libraries/System.Runtime/tests/System/SingleTests.netcoreapp.cs
src/libraries/System.Runtime/tests/System/StringTests.netcoreapp.cs
src/libraries/System.Runtime/tests/System/Text/StringBuilderTests.cs
src/libraries/System.Security.AccessControl/Directory.Build.props
src/libraries/System.Security.AccessControl/ref/Configurations.props
src/libraries/System.Security.AccessControl/ref/System.Security.AccessControl.csproj
src/libraries/System.Security.AccessControl/src/Configurations.props
src/libraries/System.Security.AccessControl/src/System.Security.AccessControl.csproj
src/libraries/System.Security.AccessControl/tests/AccessRule.Tests.cs
src/libraries/System.Security.AccessControl/tests/AuditRule.Tests.cs
src/libraries/System.Security.AccessControl/tests/Configurations.props
src/libraries/System.Security.AccessControl/tests/System.Security.AccessControl.Tests.csproj
src/libraries/System.Security.Claims/Directory.Build.props
src/libraries/System.Security.Claims/ref/Configurations.props
src/libraries/System.Security.Claims/ref/System.Security.Claims.csproj
src/libraries/System.Security.Claims/src/Configurations.props
src/libraries/System.Security.Claims/src/System.Security.Claims.csproj
src/libraries/System.Security.Claims/tests/Configurations.props
src/libraries/System.Security.Claims/tests/System.Security.Claims.Tests.csproj
src/libraries/System.Security.Cryptography.Algorithms/Directory.Build.props
src/libraries/System.Security.Cryptography.Algorithms/ref/Configurations.props
src/libraries/System.Security.Cryptography.Algorithms/ref/System.Security.Cryptography.Algorithms.csproj
src/libraries/System.Security.Cryptography.Algorithms/src/Configurations.props
src/libraries/System.Security.Cryptography.Algorithms/src/System.Security.Cryptography.Algorithms.csproj
src/libraries/System.Security.Cryptography.Algorithms/tests/Configurations.props
src/libraries/System.Security.Cryptography.Algorithms/tests/System.Security.Cryptography.Algorithms.Tests.csproj
src/libraries/System.Security.Cryptography.Cng/Directory.Build.props
src/libraries/System.Security.Cryptography.Cng/ref/Configurations.props
src/libraries/System.Security.Cryptography.Cng/ref/System.Security.Cryptography.Cng.csproj
src/libraries/System.Security.Cryptography.Cng/src/Configurations.props
src/libraries/System.Security.Cryptography.Cng/src/System.Security.Cryptography.Cng.csproj
src/libraries/System.Security.Cryptography.Cng/tests/Configurations.props
src/libraries/System.Security.Cryptography.Cng/tests/System.Security.Cryptography.Cng.Tests.csproj
src/libraries/System.Security.Cryptography.Csp/Directory.Build.props
src/libraries/System.Security.Cryptography.Csp/ref/Configurations.props
src/libraries/System.Security.Cryptography.Csp/ref/System.Security.Cryptography.Csp.csproj
src/libraries/System.Security.Cryptography.Csp/src/Configurations.props
src/libraries/System.Security.Cryptography.Csp/src/System.Security.Cryptography.Csp.csproj
src/libraries/System.Security.Cryptography.Csp/tests/Configurations.props
src/libraries/System.Security.Cryptography.Csp/tests/System.Security.Cryptography.Csp.Tests.csproj
src/libraries/System.Security.Cryptography.Encoding/Directory.Build.props
src/libraries/System.Security.Cryptography.Encoding/ref/Configurations.props
src/libraries/System.Security.Cryptography.Encoding/ref/System.Security.Cryptography.Encoding.csproj
src/libraries/System.Security.Cryptography.Encoding/src/Configurations.props
src/libraries/System.Security.Cryptography.Encoding/src/System.Security.Cryptography.Encoding.csproj
src/libraries/System.Security.Cryptography.Encoding/tests/Configurations.props
src/libraries/System.Security.Cryptography.Encoding/tests/System.Security.Cryptography.Encoding.Tests.csproj
src/libraries/System.Security.Cryptography.Pkcs/ref/Configurations.props
src/libraries/System.Security.Cryptography.Pkcs/ref/System.Security.Cryptography.Pkcs.csproj
src/libraries/System.Security.Cryptography.Pkcs/tests/Configurations.props
src/libraries/System.Security.Cryptography.Pkcs/tests/EnvelopedCms/EdgeCasesTests.cs
src/libraries/System.Security.Cryptography.Pkcs/tests/SignedCms/SignedCmsTests.cs
src/libraries/System.Security.Cryptography.Pkcs/tests/SignedCms/SignerInfoTests.cs
src/libraries/System.Security.Cryptography.Pkcs/tests/System.Security.Cryptography.Pkcs.Tests.csproj
src/libraries/System.Security.Cryptography.Primitives/Directory.Build.props
src/libraries/System.Security.Cryptography.Primitives/ref/Configurations.props
src/libraries/System.Security.Cryptography.Primitives/ref/System.Security.Cryptography.Primitives.csproj
src/libraries/System.Security.Cryptography.Primitives/src/Configurations.props
src/libraries/System.Security.Cryptography.Primitives/src/System.Security.Cryptography.Primitives.csproj
src/libraries/System.Security.Cryptography.Primitives/tests/Configurations.props
src/libraries/System.Security.Cryptography.Primitives/tests/System.Security.Cryptography.Primitives.Tests.csproj
src/libraries/System.Security.Cryptography.ProtectedData/tests/Configurations.props
src/libraries/System.Security.Cryptography.ProtectedData/tests/System.Security.Cryptography.ProtectedData.Tests.csproj
src/libraries/System.Security.Cryptography.X509Certificates/Directory.Build.props
src/libraries/System.Security.Cryptography.X509Certificates/ref/Configurations.props
src/libraries/System.Security.Cryptography.X509Certificates/ref/System.Security.Cryptography.X509Certificates.csproj
src/libraries/System.Security.Cryptography.X509Certificates/src/Configurations.props
src/libraries/System.Security.Cryptography.X509Certificates/src/System.Security.Cryptography.X509Certificates.csproj
src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs
src/libraries/System.Security.Cryptography.X509Certificates/tests/Configurations.props
src/libraries/System.Security.Cryptography.X509Certificates/tests/System.Security.Cryptography.X509Certificates.Tests.csproj
src/libraries/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs
src/libraries/System.Security.Cryptography.Xml/tests/Configurations.props
src/libraries/System.Security.Cryptography.Xml/tests/System.Security.Cryptography.Xml.Tests.csproj
src/libraries/System.Security.Permissions/ref/Configurations.props
src/libraries/System.Security.Permissions/ref/System.Security.Permissions.Forwards.cs
src/libraries/System.Security.Permissions/ref/System.Security.Permissions.cs
src/libraries/System.Security.Permissions/ref/System.Security.Permissions.csproj
src/libraries/System.Security.Permissions/src/Configurations.props
src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj
src/libraries/System.Security.Permissions/tests/Configurations.props
src/libraries/System.Security.Permissions/tests/System.Security.Permissions.Tests.csproj
src/libraries/System.Security.Principal.Windows/Directory.Build.props
src/libraries/System.Security.Principal.Windows/ref/Configurations.props
src/libraries/System.Security.Principal.Windows/ref/System.Security.Principal.Windows.csproj
src/libraries/System.Security.Principal.Windows/src/Configurations.props
src/libraries/System.Security.Principal.Windows/src/System.Security.Principal.Windows.csproj
src/libraries/System.Security.Principal.Windows/src/System/Security/Principal/WindowsIdentity.cs
src/libraries/System.Security.Principal.Windows/src/System/Security/Principal/WindowsPrincipal.cs
src/libraries/System.Security.Principal.Windows/tests/Configurations.props
src/libraries/System.Security.Principal.Windows/tests/System.Security.Principal.Windows.Tests.csproj
src/libraries/System.Security.Principal.Windows/tests/WindowsIdentityTests.cs
src/libraries/System.Security.Principal/Directory.Build.props
src/libraries/System.Security.Principal/ref/Configurations.props
src/libraries/System.Security.Principal/ref/System.Security.Principal.csproj
src/libraries/System.Security.Principal/src/Configurations.props
src/libraries/System.Security.Principal/src/System.Security.Principal.csproj
src/libraries/System.Security.SecureString/Directory.Build.props
src/libraries/System.Security.SecureString/ref/Configurations.props
src/libraries/System.Security.SecureString/ref/System.Security.SecureString.csproj
src/libraries/System.Security.SecureString/src/Configurations.props
src/libraries/System.Security.SecureString/src/System.Security.SecureString.csproj
src/libraries/System.Security.SecureString/tests/Configurations.props
src/libraries/System.Security.SecureString/tests/System.Security.SecureString.Tests.csproj
src/libraries/System.ServiceModel.Syndication/tests/Configurations.props
src/libraries/System.ServiceModel.Syndication/tests/System.ServiceModel.Syndication.Tests.csproj
src/libraries/System.ServiceProcess.ServiceController/src/System.ServiceProcess.ServiceController.csproj
src/libraries/System.Text.Encoding.CodePages/Directory.Build.props
src/libraries/System.Text.Encoding.CodePages/src/Configurations.props
src/libraries/System.Text.Encoding.CodePages/src/System.Text.Encoding.CodePages.csproj
src/libraries/System.Text.Encoding.CodePages/tests/Configurations.props
src/libraries/System.Text.Encoding.CodePages/tests/System.Text.Encoding.CodePages.Tests.csproj
src/libraries/System.Text.Encoding.Extensions/Directory.Build.props
src/libraries/System.Text.Encoding.Extensions/ref/Configurations.props
src/libraries/System.Text.Encoding.Extensions/ref/System.Text.Encoding.Extensions.csproj
src/libraries/System.Text.Encoding.Extensions/src/Configurations.props
src/libraries/System.Text.Encoding.Extensions/src/System.Text.Encoding.Extensions.csproj
src/libraries/System.Text.Encoding.Extensions/tests/Configurations.props
src/libraries/System.Text.Encoding.Extensions/tests/System.Text.Encoding.Extensions.Tests.csproj
src/libraries/System.Text.Encoding/Directory.Build.props
src/libraries/System.Text.Encoding/ref/Configurations.props
src/libraries/System.Text.Encoding/ref/System.Text.Encoding.csproj
src/libraries/System.Text.Encoding/src/Configurations.props
src/libraries/System.Text.Encoding/src/System.Text.Encoding.csproj
src/libraries/System.Text.Encoding/tests/Configurations.props
src/libraries/System.Text.Encoding/tests/Encoding/EncodingGetEncodingTests.cs
src/libraries/System.Text.Encoding/tests/System.Text.Encoding.Tests.csproj
src/libraries/System.Text.Encodings.Web/Directory.Build.props
src/libraries/System.Text.Encodings.Web/ref/Configurations.props
src/libraries/System.Text.Encodings.Web/ref/System.Text.Encodings.Web.csproj
src/libraries/System.Text.Encodings.Web/src/Configurations.props
src/libraries/System.Text.Encodings.Web/src/System.Text.Encodings.Web.csproj
src/libraries/System.Text.Encodings.Web/tests/Configurations.props
src/libraries/System.Text.Encodings.Web/tests/System.Text.Encodings.Web.Tests.csproj
src/libraries/System.Text.Json/Directory.Build.props
src/libraries/System.Text.Json/ref/Configurations.props
src/libraries/System.Text.Json/ref/System.Text.Json.csproj
src/libraries/System.Text.Json/src/Configurations.props
src/libraries/System.Text.Json/src/System.Text.Json.csproj
src/libraries/System.Text.Json/tests/Configurations.props
src/libraries/System.Text.Json/tests/System.Text.Json.Tests.csproj
src/libraries/System.Text.RegularExpressions/Directory.Build.props
src/libraries/System.Text.RegularExpressions/ref/Configurations.props
src/libraries/System.Text.RegularExpressions/ref/System.Text.RegularExpressions.csproj
src/libraries/System.Text.RegularExpressions/src/Configurations.props
src/libraries/System.Text.RegularExpressions/src/System.Text.RegularExpressions.csproj
src/libraries/System.Text.RegularExpressions/tests/Configurations.props
src/libraries/System.Text.RegularExpressions/tests/Regex.Groups.Tests.cs
src/libraries/System.Text.RegularExpressions/tests/Regex.Match.Tests.cs
src/libraries/System.Text.RegularExpressions/tests/RegexCompilationHelper.cs
src/libraries/System.Text.RegularExpressions/tests/RegexCultureTests.cs
src/libraries/System.Text.RegularExpressions/tests/System.Text.RegularExpressions.Tests.csproj
src/libraries/System.Threading.AccessControl/tests/Configurations.props
src/libraries/System.Threading.AccessControl/tests/System.Threading.AccessControl.Tests.csproj
src/libraries/System.Threading.Channels/pkg/System.Threading.Channels.pkgproj
src/libraries/System.Threading.Channels/tests/Configurations.props
src/libraries/System.Threading.Channels/tests/System.Threading.Channels.Tests.csproj
src/libraries/System.Threading.Overlapped/Directory.Build.props
src/libraries/System.Threading.Overlapped/ref/Configurations.props
src/libraries/System.Threading.Overlapped/ref/System.Threading.Overlapped.csproj
src/libraries/System.Threading.Overlapped/src/Configurations.props
src/libraries/System.Threading.Overlapped/src/System.Threading.Overlapped.csproj
src/libraries/System.Threading.Overlapped/tests/Configurations.props
src/libraries/System.Threading.Overlapped/tests/DllImport.cs
src/libraries/System.Threading.Overlapped/tests/HandleFactory.cs
src/libraries/System.Threading.Overlapped/tests/System.Threading.Overlapped.Tests.csproj
src/libraries/System.Threading.Overlapped/tests/ThreadPoolBoundHandle_BindHandleTests.cs
src/libraries/System.Threading.Tasks.Dataflow/Directory.Build.props
src/libraries/System.Threading.Tasks.Dataflow/tests/Configurations.props
src/libraries/System.Threading.Tasks.Dataflow/tests/System.Threading.Tasks.Dataflow.Tests.csproj
src/libraries/System.Threading.Tasks.Extensions/Directory.Build.props
src/libraries/System.Threading.Tasks.Extensions/ref/Configurations.props
src/libraries/System.Threading.Tasks.Extensions/ref/System.Threading.Tasks.Extensions.csproj
src/libraries/System.Threading.Tasks.Extensions/src/Configurations.props
src/libraries/System.Threading.Tasks.Extensions/src/System.Threading.Tasks.Extensions.csproj
src/libraries/System.Threading.Tasks.Extensions/tests/Configurations.props
src/libraries/System.Threading.Tasks.Extensions/tests/System.Threading.Tasks.Extensions.Tests.csproj
src/libraries/System.Threading.Tasks.Parallel/Directory.Build.props
src/libraries/System.Threading.Tasks.Parallel/ref/Configurations.props
src/libraries/System.Threading.Tasks.Parallel/ref/System.Threading.Tasks.Parallel.csproj
src/libraries/System.Threading.Tasks.Parallel/src/Configurations.props
src/libraries/System.Threading.Tasks.Parallel/src/System.Threading.Tasks.Parallel.csproj
src/libraries/System.Threading.Tasks.Parallel/tests/Configurations.props
src/libraries/System.Threading.Tasks.Parallel/tests/System.Threading.Tasks.Parallel.Tests.csproj
src/libraries/System.Threading.Tasks/Directory.Build.props
src/libraries/System.Threading.Tasks/ref/Configurations.props
src/libraries/System.Threading.Tasks/ref/System.Threading.Tasks.csproj
src/libraries/System.Threading.Tasks/src/Configurations.props
src/libraries/System.Threading.Tasks/src/System.Threading.Tasks.csproj
src/libraries/System.Threading.Tasks/tests/Configurations.props
src/libraries/System.Threading.Tasks/tests/System.Threading.Tasks.Tests.csproj
src/libraries/System.Threading.Thread/Directory.Build.props
src/libraries/System.Threading.Thread/ref/Configurations.props
src/libraries/System.Threading.Thread/ref/System.Threading.Thread.csproj
src/libraries/System.Threading.Thread/src/Configurations.props
src/libraries/System.Threading.Thread/src/System.Threading.Thread.csproj
src/libraries/System.Threading.Thread/tests/Configurations.props
src/libraries/System.Threading.Thread/tests/DefaultApartmentStateMain/Configurations.props
src/libraries/System.Threading.Thread/tests/DefaultApartmentStateMain/DefaultApartmentStateMain.csproj
src/libraries/System.Threading.Thread/tests/MTAMain/Configurations.props
src/libraries/System.Threading.Thread/tests/MTAMain/MTAMain.csproj
src/libraries/System.Threading.Thread/tests/STAMain/Configurations.props
src/libraries/System.Threading.Thread/tests/STAMain/STAMain.csproj
src/libraries/System.Threading.Thread/tests/System.Threading.Thread.Tests.csproj
src/libraries/System.Threading.Thread/tests/ThreadTests.cs
src/libraries/System.Threading.ThreadPool/Directory.Build.props
src/libraries/System.Threading.ThreadPool/ref/Configurations.props
src/libraries/System.Threading.ThreadPool/ref/System.Threading.ThreadPool.csproj
src/libraries/System.Threading.ThreadPool/src/Configurations.props
src/libraries/System.Threading.ThreadPool/src/System.Threading.ThreadPool.csproj
src/libraries/System.Threading.ThreadPool/tests/Configurations.props
src/libraries/System.Threading.ThreadPool/tests/System.Threading.ThreadPool.Tests.csproj
src/libraries/System.Threading.Timer/Directory.Build.props
src/libraries/System.Threading.Timer/ref/Configurations.props
src/libraries/System.Threading.Timer/ref/System.Threading.Timer.csproj
src/libraries/System.Threading.Timer/src/Configurations.props
src/libraries/System.Threading.Timer/src/System.Threading.Timer.csproj
src/libraries/System.Threading.Timer/tests/Configurations.props
src/libraries/System.Threading.Timer/tests/System.Threading.Timer.Tests.csproj
src/libraries/System.Threading/Directory.Build.props
src/libraries/System.Threading/ref/Configurations.props
src/libraries/System.Threading/ref/System.Threading.csproj
src/libraries/System.Threading/src/Configurations.props
src/libraries/System.Threading/src/System.Threading.csproj
src/libraries/System.Threading/tests/Configurations.props
src/libraries/System.Threading/tests/MutexTests.cs
src/libraries/System.Threading/tests/System.Threading.Tests.csproj
src/libraries/System.Transactions.Local/Directory.Build.props
src/libraries/System.Transactions.Local/ref/Configurations.props
src/libraries/System.Transactions.Local/ref/System.Transactions.Local.csproj
src/libraries/System.Transactions.Local/src/Configurations.props
src/libraries/System.Transactions.Local/src/System.Transactions.Local.csproj
src/libraries/System.Transactions.Local/tests/Configurations.props
src/libraries/System.Transactions.Local/tests/System.Transactions.Local.Tests.csproj
src/libraries/System.Utf8String.Experimental/tests/System/Utf8SpanTests.Comparison.cs
src/libraries/System.ValueTuple/Directory.Build.props
src/libraries/System.ValueTuple/ref/Configurations.props
src/libraries/System.ValueTuple/ref/System.ValueTuple.csproj
src/libraries/System.ValueTuple/src/Configurations.props
src/libraries/System.ValueTuple/src/System.ValueTuple.csproj
src/libraries/System.ValueTuple/tests/Configurations.props
src/libraries/System.ValueTuple/tests/System.ValueTuple.Tests.csproj
src/libraries/System.Web.HttpUtility/Directory.Build.props
src/libraries/System.Web.HttpUtility/ref/Configurations.props
src/libraries/System.Web.HttpUtility/ref/System.Web.HttpUtility.csproj
src/libraries/System.Web.HttpUtility/src/Configurations.props
src/libraries/System.Web.HttpUtility/src/System.Web.HttpUtility.csproj
src/libraries/System.Web.HttpUtility/tests/Configurations.props
src/libraries/System.Web.HttpUtility/tests/System.Web.HttpUtility.Tests.csproj
src/libraries/System.Xml.ReaderWriter/Directory.Build.props
src/libraries/System.Xml.ReaderWriter/ref/Configurations.props
src/libraries/System.Xml.ReaderWriter/ref/System.Xml.ReaderWriter.csproj
src/libraries/System.Xml.ReaderWriter/src/Configurations.props
src/libraries/System.Xml.ReaderWriter/src/System.Xml.ReaderWriter.csproj
src/libraries/System.Xml.XDocument/Directory.Build.props
src/libraries/System.Xml.XDocument/ref/Configurations.props
src/libraries/System.Xml.XDocument/ref/System.Xml.XDocument.csproj
src/libraries/System.Xml.XDocument/src/Configurations.props
src/libraries/System.Xml.XDocument/src/System.Xml.XDocument.csproj
src/libraries/System.Xml.XPath.XDocument/Directory.Build.props
src/libraries/System.Xml.XPath.XDocument/ref/Configurations.props
src/libraries/System.Xml.XPath.XDocument/ref/System.Xml.XPath.XDocument.csproj
src/libraries/System.Xml.XPath.XDocument/src/Configurations.props
src/libraries/System.Xml.XPath.XDocument/src/System.Xml.XPath.XDocument.csproj
src/libraries/System.Xml.XPath/Directory.Build.props
src/libraries/System.Xml.XPath/ref/Configurations.props
src/libraries/System.Xml.XPath/ref/System.Xml.XPath.csproj
src/libraries/System.Xml.XPath/src/Configurations.props
src/libraries/System.Xml.XPath/src/System.Xml.XPath.csproj
src/libraries/System.Xml.XmlDocument/Directory.Build.props
src/libraries/System.Xml.XmlDocument/ref/Configurations.props
src/libraries/System.Xml.XmlDocument/ref/System.Xml.XmlDocument.csproj
src/libraries/System.Xml.XmlDocument/src/Configurations.props
src/libraries/System.Xml.XmlDocument/src/System.Xml.XmlDocument.csproj
src/libraries/System.Xml.XmlSerializer/Directory.Build.props
src/libraries/System.Xml.XmlSerializer/ref/Configurations.props
src/libraries/System.Xml.XmlSerializer/ref/System.Xml.XmlSerializer.csproj
src/libraries/System.Xml.XmlSerializer/src/Configurations.props
src/libraries/System.Xml.XmlSerializer/src/System.Xml.XmlSerializer.csproj
src/libraries/build.proj
src/libraries/mscorlib.WinRT-Facade/ref/Configurations.props
src/libraries/mscorlib.WinRT-Facade/ref/mscorlib.WinRT-Facade.csproj
src/libraries/pkg/Microsoft.Private.PackageBaseline/Microsoft.Private.PackageBaseline.pkgproj
src/libraries/pkg/Microsoft.Private.PackageBaseline/packageIndex.json
src/libraries/pkg/descriptions.json
src/libraries/shims/ApiCompat.proj
src/libraries/shims/Configurations.props
src/libraries/shims/Directory.Build.props
src/libraries/shims/generated/Configurations.props
src/libraries/shims/manual/Configurations.props
src/libraries/shims/manual/Directory.Build.props
src/libraries/tests.proj

index 4b49012..164cccd 100644 (file)
@@ -49,7 +49,7 @@ the implementation without compat concerns in future releases.
 
 **Update pkg**
  - If changing the target framework
-    - Update `SupportedFramework` metadata on the ref ProjectReference to declare the set of concrete platforms you expect your library to support. (see [Specific platform mappings](https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md#nuget)). Generally will be a combination of netcoreapp2.x, netfx46x, uap10.x, and/or `$(AllXamarinFrameworks)`.
+    - Update `SupportedFramework` metadata on the ref ProjectReference to declare the set of concrete platforms you expect your library to support. (see [Specific platform mappings](https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md#nuget)). Generally will be a combination of netcoreapp2.x, netfx46x, and/or `$(AllXamarinFrameworks)`.
   - If assembly or package version is updated the package index needs to be updated by running
     `dotnet msbuild <Library>/pkg/<Library>.pkgproj /t:UpdatePackageIndex`
 
index f7f557d..7f54ac9 100644 (file)
@@ -78,19 +78,5 @@ Provides compatibility between NETCore.App and libraries built against NETStanda
 ### End goal
 
 - CoreFx does not build any reference assemblies for NETStandard.
-- For every library in NETStandard.Library, the only configurations in CoreFx are framework-specific.  EG: NETCoreApp1.2, UAP10.1
+- For every library in NETStandard.Library, the only configurations in CoreFx are framework-specific.  EG: netcoreapp3.0, net472
 - For every library in NETCore.App but not in NETStandard.Library there must be a framework-specific configuration for NETCoreApp1.2.  Other configurations may exist to ship in a package, but those will not be built by folks building just NETCore.App.
-
-### Getting there (WIP)
-
-Folks still consume our current packages so we need to keep building those until we transition.
-
-1. Create a new NETCore.App package: Microsoft.Private.CoreFx.NETCore.App.  This will be an identity package with every ref that targets NETCore.App and runtime-specific packages that have all runtime impl's that apply to NETCore.App.
-2. Filter the content of Microsoft.Private.CoreFx.NETCore.App to just the things that are part of NETCore, and their closure.
-3. Transition tests to use Microsoft.Private.CoreFx.NETCore.App.
-4. Delete packages for things that are only part of Microsoft.Private.CoreFx.NETCore.App and don't ship independently.
-  - Delete configurations for libraries that are no longer used
-  - As packages are deleted we'll need to opt-in to Microsoft.Private.CoreFx.NETCore.App in some way.
-    - proposal:
-      - each CSProj is evaluated for layout path in the context of all of its build configurations.
-      - We'll determine applicability similar to how we do for pkgprojs to identify which config to binplace.
index a2ddd04..88116aa 100644 (file)
@@ -4,11 +4,10 @@ once before you can iterate and work on a given library project.
 
 ## Behind the scenes with build.cmd/sh
 
-- Setup tools (currently done in init-tools but will later be a boot-strap script in run.cmd/sh)
+- Setup tools (currently done in restore in build.cmd/sh)
 - Restore external dependencies
  - CoreCLR - Copy to `bin\runtime\$(BuildConfiguration)`
  - Netstandard Library - Copy to `bin\ref\netstandard`
- - UAP - Copy to `bin\runtime\$(BuildConfiguration)`
  - NetFx targeting pack - Copy to `bin\ref\netfx`
 - Build targeting pack
  - Build src\ref.builds which builds all references assembly projects. For reference assembly project information see [ref](#ref)
@@ -16,7 +15,6 @@ once before you can iterate and work on a given library project.
  - Build src\src.builds which builds all the source library projects. For source library project information see [src](#src).
 - Sign product
  - Build src\sign.proj
-//**CONSIDER**: We should make this as part of the src.builds file instead of a separate project file.
 
 ## Behind the scenes with build-test.cmd/sh
 - build-test.cmd cannot be ran successfully until build.cmd has been ran at least once for a `BuildConfiguration`.
@@ -30,7 +28,7 @@ once before you can iterate and work on a given library project.
 # Build Pivots
 Below is a list of all the various options we pivot the project builds on:
 
-- **Target Frameworks:** NetFx (aka Desktop), netstandard (aka dotnet/Portable), NETCoreApp (aka .NET Core), UAP (aka UWP/Store/netcore50)
+- **Target Frameworks:** NetFx (aka Desktop), netstandard (aka dotnet/Portable), NETCoreApp (aka .NET Core)
 - **Platform Runtimes:** NetFx (aka CLR/Desktop), CoreCLR, Mono
 - **OS:** Windows_NT, Linux, OSX, FreeBSD, AnyOS
 - **Flavor:** Debug, Release
@@ -39,7 +37,7 @@ Below is a list of all the various options we pivot the project builds on:
 ## Individual build properties
 The following are the properties associated with each build pivot
 
-- `$(TargetGroup) -> netstandard | netcoreapp | netfx | uap`
+- `$(TargetGroup) -> netstandard | netcoreapp | netfx`
 //**CONSIDER**: naming netcoreappcorert something shorter maybe just corert.
 - `$(OSGroup) -> Windows | Linux | OSX | FreeBSD | [defaults to running OS when empty]`
 - `$(ConfigurationGroup) -> Release | [defaults to Debug when empty]`
@@ -82,7 +80,6 @@ All supported targets with unique windows/unix build for netcoreapp:
     netcoreapp-Windows_NT;
     netcoreapp-Unix;
     netfx-Windows_NT;
-    uap-Windows_NT;
   </BuildConfigurations>
 <PropertyGroup>
 ```
@@ -125,7 +122,6 @@ Temporary versions are at https://github.com/dotnet/corefx/blob/dev/eng/src/Tool
 ## Supported full build configurations
 - .NET Core latest on current OS (default) -> `netcoreapp-[RunningOS]`
 - .NET Framework latest -> `netfx-Windows_NT`
-- UAP F5 -> `uap-Windows_NT`
 
 ## Project configurations for VS
 For each unique configuration needed for a given library project a configuration entry separated by a ';' should be added to the project so it can be selected and built in VS and also clearly identify the various configurations.<BR/>
@@ -133,7 +129,7 @@ For each unique configuration needed for a given library project a configuration
 `$(TargetGroup)-$(OSGroup)-$(ConfigurationGroup)|$(Platform`
 - Note that the majority of managed projects, currently all in corefx, $(Platform) is overridden to be AnyCPU.
 
-`<Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>`
+`<Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>`
 
 ####*Examples*
 Project configurations with a unique implementation on Unix and Windows
@@ -142,7 +138,7 @@ Project configurations with a unique implementation on Unix and Windows
 ```
 Project configurations that are unique for a few different target frameworks and runtimes
 ```xml
-<Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+<Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
 ```
 
 ## Updating Configurations
@@ -246,7 +242,6 @@ Each source file should use the following guidelines
   - `.CoreCLR.cs` - implementation specific to CoreCLR runtime
   - `.Win32.cs` - implementation based on [Win32](https://en.wikipedia.org/wiki/Windows_API)
   - `.WinRT.cs` - implementation based on [WinRT](https://en.wikipedia.org/wiki/Windows_Runtime)
-  - `.Uap.cs` - implementation specific to UAP, also known as [UWP](https://en.wikipedia.org/wiki/Universal_Windows_Platform)
 
 ## Define naming convention
 As mentioned in [Conventions for forked code](conventions-for-forked-code) `#ifdef`ing the code is the last resort as it makes code harder to maintain overtime. If we do need to use `#ifdef`'s we should use the following conventions:
index c9d7fff..a77fd33 100644 (file)
@@ -31,7 +31,7 @@ Calling the script `build` attempts to build both the native and managed code.
 
 The build configurations are generally defaulted based on where you are building (i.e. which OS or which architecture) but we have a few shortcuts for the individual properties that can be passed to the build scripts:
 
-- `-framework|-f` identifies the target framework for the build. It defaults to `netcoreapp` but possible values include `netcoreapp`, `netfx` or `uap`. (msbuild property `TargetGroup`)
+- `-framework|-f` identifies the target framework for the build. It defaults to `netcoreapp` but possible values include `netcoreapp` or `netfx`. (msbuild property `TargetGroup`)
 - `-os` identifies the OS for the build. It defaults to the OS you are running on but possible values include `Windows_NT`, `Unix`, `Linux`, or `OSX`. (msbuild property `OSGroup`)
 - `-configuration|-c Debug|Release` controls the optimization level the compilers use for the build. It defaults to `Debug`. (msbuild property `ConfigurationGroup`)
 - `-arch` identifies the architecture for the build. It defaults to `x64` but possible values include `x64`, `x86`, `arm`, or `arm64`. (msbuild property `ArchGroup`)
@@ -63,7 +63,6 @@ build -restore -build -buildtests -test
 ```
 build -framework netcoreapp
 build -framework netfx
-build -framework uap
 ```
 
 - Build only managed components and skip the native build
@@ -174,11 +173,6 @@ For libraries that have multiple build configurations the configurations will be
 dotnet msbuild System.Net.NetworkInformation.csproj /p:OSGroup=Linux
 ```
 
-- Build project for uap (not if trying to build on non-windows you also need to specify OSGroup=Windows_NT)
-```
-dotnet msbuild System.Net.NetworkInformation.csproj /p:TargetGroup=uap
-```
-
 - Build release version of library
 ```
 dotnet msbuild System.Net.NetworkInformation.csproj /p:ConfigurationGroup=Release
@@ -433,17 +427,6 @@ If coverage succeeds, the individual report can be found at `$(TestPath)\report\
 
 Code coverage reports from the continuous integration system are available from the links on the front page of the corefx repo.
 
-### Building tests with UWP (Windows only)
-
-This will allow you to build and run against `uap`, the managed version of the UWP Framework subset, used when debugging UWP applications in Visual Studio:
-```cmd
-cd src\Microsoft.CSharp\tests
-dotnet msbuild /t:BuildAndTest /p:TargetGroup=uap
-```
-In this case, your test will get executed within the context of a wrapper UWP application, targeting the Managed uap.
-
-The CoreFX build and test suite is a work in progress, as are the [building and testing instructions](../README.md). The .NET Core team and the community are improving Linux and OS X support on a daily basis and are adding more tests for all platforms. See [CoreFX Issues](https://github.com/dotnet/corefx/issues) to find out about specific work items or report issues.
-
 ## Testing with private CoreCLR bits
 
 Generally the CoreFx build system gets the CoreCLR from a NuGet package which gets pulled down and correctly copied to the various output directories by building '\eng\restore\runtime\runtime.depproj' which gets built as part of `build.cmd/sh`. For folks that want to do builds and test runs in corefx with a local private build of coreclr you can follow these steps:
index df55b0a..2530a6c 100644 (file)
@@ -9,7 +9,6 @@ As part of our Pull Requests we have some validation builds where we build the p
 | Windows x86_Release | netcoreapp | X | X |
 | Windows x64_Debug | netcoreapp | X | X |
 | Windows NETFX_x86_Release | netfx | X | X |
-| Windows UWP_CoreCLR_x64_Debug | uap | X | X |
 | Linux x64_Release | netcoreapp | X | X |
 | Linux arm64_Release | netcoreapp | X | X |
 | Linux arm_Release | netcoreapp | X |   |
index 6f66600..dc93420 100644 (file)
@@ -4,7 +4,7 @@ Want to make your libraries multi-platform? Want to see how much work is require
 
 ## How to Use Portability Analyzer
 
-To begin using the .NET Portability Analyzer, download the extension from the Visual Studio Gallery. You can configure it in Visual Studio via  *Tools* >> *Options* >> *.NET Portability Analyzer* and select your Target Platforms. For now, please use ASP.NET 5 as a proxy for all .NET Core 5-based platforms (e.g. [Windows 10 .NET UAP apps](http://blogs.windows.com/buildingapps/2015/03/02/a-first-look-at-the-windows-10-universal-app-platform/)). 
+To begin using the .NET Portability Analyzer, download the extension from the Visual Studio Gallery. You can configure it in Visual Studio via  *Tools* >> *Options* >> *.NET Portability Analyzer* and select your Target Platforms.
 
 ![](../images/portability_screenshot.png)
 
index 5edd563..25987e9 100644 (file)
@@ -79,6 +79,4 @@
         <SkipPackageFileCheck>true</SkipPackageFileCheck>
     </File>
   </ItemGroup>
-
-  <Import Condition="'$(MSBuildProjectExtension)' == '.pkgproj'" Project="$(MSBuildThisFileDirectory)disableUap.targets" />
 </Project>
index b905e69..6bc6264 100644 (file)
@@ -1,9 +1,8 @@
 <Project>
   <!-- Add validation for netcoreapp5.0 to package build and testing -->
   <ItemGroup>
-    <DefaultValidateFramework Include="netcoreapp5.0">
-      <RuntimeIDs>@(NETCoreApp30RIDs)</RuntimeIDs>
-    </DefaultValidateFramework>
+    <DefaultValidateFramework Include="netcoreapp5.0" RuntimeIDs="@(NETCoreApp30RIDs)" />
+    <DefaultValidateFramework Remove="uap10.0.16300" />
   </ItemGroup>
 
   <!--     There are some packages where we require only one ref for a specific framework to be present. In order to avoid problems with this package when targetting 
index c272868..d706472 100644 (file)
@@ -7,31 +7,6 @@
       <UWPCompatible>true</UWPCompatible>
       <CompatibleWith>netstandard1.4</CompatibleWith>
     </TargetGroups>
-    <TargetGroups Include="uap10.0.16299">
-      <TargetFramework>uap10.0.16299</TargetFramework>
-      <TargetFrameworkIdentifier>UAP</TargetFrameworkIdentifier>
-      <TargetFrameworkVersion>10.0.16299</TargetFrameworkVersion>
-      <UWPCompatible>true</UWPCompatible>
-      <Imports>netcore50</Imports>
-      <CompatibleWith>netstandard</CompatibleWith>
-    </TargetGroups>
-    <TargetGroups Include="uapvnext">
-      <TargetFramework>$(UAPvNextTFM)</TargetFramework>
-      <TargetFrameworkIdentifier>$(UAPvNextTFI)</TargetFrameworkIdentifier>
-      <TargetFrameworkVersion>$(UAPvNextVersion)</TargetFrameworkVersion>
-      <UWPCompatible>true</UWPCompatible>
-      <Imports>uap10.0.16299</Imports>
-      <CompatibleWith>netstandard2.1</CompatibleWith>
-    </TargetGroups>
-    <!-- uap is an alias for uapvNext any/coreclr runtime -->
-    <TargetGroups Include="uap">
-      <TargetFramework>$(UAPvNextTFM)</TargetFramework>
-      <TargetFrameworkIdentifier>$(UAPvNextTFI)</TargetFrameworkIdentifier>
-      <TargetFrameworkVersion>$(UAPvNextVersion)</TargetFrameworkVersion>
-      <UWPCompatible>true</UWPCompatible>
-      <Imports>uapvnext</Imports>
-      <CompatibleWith>netstandard2.1</CompatibleWith>
-    </TargetGroups>
     <TargetGroups Include="netstandard1.0">
       <TargetFramework>netstandard1.0</TargetFramework>
       <!-- By default, netstandard libraries will be held to the UWP compatibility bar;
diff --git a/eng/disableUap.targets b/eng/disableUap.targets
deleted file mode 100644 (file)
index 5e41100..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<Project>
-  <Target Name="RemoveUapvNextContent"
-          Condition="'$(KeepUAPContent)' != 'true'"
-          DependsOnTargets="GetPackageReport"
-          BeforeTargets="GenerateNuSpec">
-    <ItemGroup>
-      <PackageFile Remove="@(PackageFile)" Condition="'%(PackageFile.TargetFramework)' == '$(UAPvNextTFM)'" />
-      <PackageFile Remove="@(PackageFile)" Condition="$([System.String]::new('%(PackageFile.TargetPath)').Contains('/$(UAPvNextTFM)'))" />
-      <Dependency Remove="@(Dependency)" Condition="'%(Dependency.TargetFramework)' == '$(UAPvNextTFM)'" />
-    </ItemGroup>
-  </Target>
-</Project>
\ No newline at end of file
index ece2114..65364ae 100644 (file)
@@ -19,7 +19,7 @@ parameters:
   # Required: as part of the strategy matrix, the following variables should be defined
   #     _BuildConfig: Debug | Release
   #     _architecture: x64 | x86 | arm | arm64
-  #     _framework: (netcoreapp, netfx, uap, etc).
+  #     _framework: (netcoreapp, netfx).
   #     _helixQueues: Windows.Amd64 (Only needed if submitToHelix -> true.) -- Queues should be separated by + if multiple.
 
   # Required: empty | innerloop | outerloop | all
index be5aa13..c670200 100644 (file)
@@ -46,13 +46,7 @@ stages:
                 _BuildConfig: Release
                 _architecture: x86
                 _framework: netfx
-                _helixQueues: $(uapNetfxQueues)
-
-              UAP_x64_Debug:
-                _BuildConfig: Debug
-                _architecture: x64
-                _framework: uap
-                _helixQueues: $(uapNetfxQueues)
+                _helixQueues: $(netFxQueues)
             
             # Full test matrix
             ${{ if eq(parameters.fullMatrix, 'true') }}:
@@ -74,23 +68,16 @@ stages:
                 _BuildConfig: Release
                 _architecture: x86
                 _framework: netfx
-                _helixQueues: $(uapNetfxQueues)
+                _helixQueues: $(netFxQueues)
                 _skipPublishPackages: true # In NETFX leg we don't produce packages
 
               NETFX_x64_Release:
                 _BuildConfig: Release
                 _architecture: x64
                 _framework: netfx
-                _helixQueues: $(uapNetfxQueues)
+                _helixQueues: $(netFxQueues)
                 _skipPublishPackages: true # In NETFX leg we don't produce packages
 
-              UAP_x64_Release:
-                _BuildConfig: Release
-                _architecture: x64
-                _framework: uap
-                _helixQueues: $(uapNetfxQueues)
-                _skipPublishPackages: true # In UWP we don't produce packages
-
         pool:
           name: Hosted VS2017
 
@@ -99,7 +86,7 @@ stages:
 
         variables:
           - nanoQueues: "`(Windows.Nano.1809.Amd64.Open`)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:nanoserver-1809-helix-amd64-61052b7-20190723211353"
-          - uapNetfxQueues: Windows.10.Amd64.ClientRS5.Open
+          - netFxQueues: Windows.10.Amd64.ClientRS5.Open
 
           - ${{ if eq(parameters.fullMatrix, 'false') }}:
             - netcoreappWindowsQueues: Windows.7.Amd64.Open+Windows.81.Amd64.Open+Windows.10.Amd64.Client19H1.ES.Open
index ef125f3..ac745e0 100644 (file)
@@ -14,7 +14,6 @@
       netcoreapp2.0;
       netcoreapp3.0;
       netcoreapp;
-      uap10.0.16299;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 8e7933b..1f6e329 100644 (file)
@@ -4,7 +4,7 @@
     <BinPlaceRuntime>true</BinPlaceRuntime>
     <NETStandardVersion Condition="$(TargetFramework.StartsWith('netstandard'))">$(TargetFramework.SubString(11))</NETStandardVersion>
     <NuGetDeploySourceItem>Reference</NuGetDeploySourceItem>
-    <TargetsNetStandardLowerThan21 Condition="'$(TargetsNetStandard)' == 'true' AND '$(NETStandardVersion)' &lt; 2.1">true</TargetsNetStandardLowerThan21>
+    <TargetsNetStandardLowerThan21 Condition="'$(TargetsNetStandard)' == 'true' and '$(NETStandardVersion)' &lt; 2.1">true</TargetsNetStandardLowerThan21>
   </PropertyGroup>
 
     <!-- Ref binplacing for all configurations -->
 
   <!-- This is to make sure that nothing unintended gets restored for netcoreapp. -->
   <ItemGroup Condition="'$(TargetGroup)' != 'netcoreapp'">
-    <!-- runtime dependency: System.Data.SqlClient uap10.0.16299 -->
     <!-- runtime dependency: System.Diagnostics.PerformanceCounters netcoreapp2.0,net461 -->
-    <PackageReference Include="System.Memory" Version="4.5.2" Condition="'$(TargetFramework)' == 'netcoreapp2.0' OR '$(TargetFramework)' == 'uap10.0.16299' OR '$(TargetsNetfx)' == 'true' OR ('$(TargetsNetStandard)' == 'true' AND '$(NETStandardVersion)' &gt;= 1.1)" />
-    <PackageReference Include="System.Numerics.Vectors" Version="4.5.0" Condition="'$(TargetsNetStandardLowerThan21)' == 'true' OR '$(TargetsNetfx)' == 'true'" />
-    <PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.2" Condition="'$(TargetFramework)' == 'netcoreapp2.0' OR '$(TargetsNetfx)' == 'true' OR '$(TargetsNetStandard)' == 'true'" />
+    <PackageReference Include="System.Memory" Version="4.5.2" Condition="'$(TargetFramework)' == 'netcoreapp2.0' or '$(TargetsNetfx)' == 'true' or ('$(TargetsNetStandard)' == 'true' and '$(NETStandardVersion)' &gt;= 1.1)" />
+    <PackageReference Include="System.Numerics.Vectors" Version="4.5.0" Condition="'$(TargetsNetStandardLowerThan21)' == 'true' or '$(TargetsNetfx)' == 'true'" />
+    <PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.2" Condition="'$(TargetFramework)' == 'netcoreapp2.0' or '$(TargetsNetfx)' == 'true' or '$(TargetsNetStandard)' == 'true'" />
   </ItemGroup>
   
   <ItemGroup>
-    <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="1.0.0" Condition="'$(TargetsNetStandard)' != 'true' OR '$(NETStandardVersion)' &gt;= 2.0" />
+    <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="1.0.0" Condition="'$(TargetsNetStandard)' != 'true' or '$(NETStandardVersion)' &gt;= 2.0" />
     <!-- Only include the assets from the direct packages we reference in the output -->
     <PackageToInclude Include="@(PackageReference)" />
   </ItemGroup>
index a6ac20e..3c87a32 100644 (file)
@@ -8,7 +8,6 @@
   <!-- Build for all configurations -->
   <ItemGroup>
     <Project Condition="'$(BuildAllConfigurations)' == 'true'" Include="netcoreapp/netcoreapp.depproj" />
-    <Project Condition="'$(BuildAllConfigurations)' == 'true'" Include="uap/uap.depproj" />
     <Project Include="netstandard/netstandard.depproj" />
     <Project Include="netfx/netfx.depproj" />
     <Project Include="runtime/runtime.depproj" />
index a9f2b33..490a182 100644 (file)
@@ -11,7 +11,6 @@
       net471;
       netfx;
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index bd4fd57..2763918 100644 (file)
@@ -5,8 +5,6 @@
       netcoreapp3.0-Unix;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap10.0.16299;
-      uap;
       mono;
     </BuildConfigurations>
   </PropertyGroup>
index 78303c3..89ef92c 100644 (file)
@@ -3,8 +3,6 @@
     <RuntimeIdentifier>$(PackageRID)</RuntimeIdentifier>
     <NoWarn>$(NoWarn);NU1603;NU1605</NoWarn>
     <SwapNativeForIL Condition="'$(SwapNativeForIL)' == '' AND ('$(ConfigurationGroup)' == 'Debug' OR '$(Coverage)' == 'true')">true</SwapNativeForIL>
-    <!-- uap10.0.16299 is missing IL -->
-    <SwapNativeForIL Condition="'$(TargetFramework)'=='uap10.0.16299'">false</SwapNativeForIL>
   </PropertyGroup>
 
   <ItemGroup Condition="'$(DotNetBuildFromSource)' != 'true'">
     <MicrosoftPrivateCorefxNETCoreAppVersion>4.6.0-rc2.19462.14</MicrosoftPrivateCorefxNETCoreAppVersion>
   </PropertyGroup>
 
-  <PropertyGroup Condition="'$(TargetFramework)' == 'uap10.0.16299'">
-    <!-- Following is version used in release/uwp6.0 -->
-    <MicrosoftNETCoreRuntimeCoreCLRPackageVersion>2.1.0-b-uwp6-25707-02</MicrosoftNETCoreRuntimeCoreCLRPackageVersion>
-  </PropertyGroup>
-
   <ItemGroup>
     <PackageReference Include="Microsoft.NETCore.Platforms" Version="$(MicrosoftNETCorePlatformsPackageVersion)" />
     <PackageReference Include="transport.Microsoft.NETCore.Runtime.CoreCLR" Version="$(MicrosoftNETCoreRuntimeCoreCLRPackageVersion)" />
diff --git a/eng/restore/uap-tools.targets b/eng/restore/uap-tools.targets
deleted file mode 100644 (file)
index 5dbccee..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<Project>
-
-   <!-- Retrieve the UAP Tools to the TestHost folder -->
-  <Target Name="CopyUAPToolsToTestHost"
-          Condition="'$(TargetGroup)' == 'uap' and '$(BuildAllConfigurations)' != 'true' and '$(DotNetBuildFromSource)' != 'true'"
-          AfterTargets="Restore">
-
-    <PropertyGroup>
-      <UAPToolsFolder>$(NuGetPackageRoot)$(MicrosoftDotNetUapTestToolsPackageId)\$(MicrosoftDotNetUapTestToolsPackageVersion)\Tools\$(ArchGroup)</UAPToolsFolder>
-    </PropertyGroup>
-
-    <Error Condition="!Exists('$(UAPToolsFolder)')" Text="UAP Tools package not restored or missing assets." />
-
-    <ItemGroup>
-      <RunnerFolderContents Include="$(UAPToolsFolder)\Runner\**\*" />
-      <LauncherFolderContents Include="$(UAPToolsFolder)\Launcher\**\*" />
-    </ItemGroup>
-
-    <Copy SourceFiles="@(RunnerFolderContents)"
-          DestinationFolder="$(TestHostRootPath)Runner\%(RecursiveDir)"
-          SkipUnchangedFiles="true" />
-
-    <Copy SourceFiles="@(LauncherFolderContents)"
-          DestinationFolder="$(TestHostRootPath)Launcher\%(RecursiveDir)"
-          SkipUnchangedFiles="true" />
-
-  </Target>
-
-</Project>
diff --git a/eng/restore/uap/Configurations.props b/eng/restore/uap/Configurations.props
deleted file mode 100644 (file)
index a4dd681..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <BuildConfigurations>
-      uap10.0.16299;
-    </BuildConfigurations>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/eng/restore/uap/uap.depproj b/eng/restore/uap/uap.depproj
deleted file mode 100644 (file)
index 1d9d5ef..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <!-- This project restores and publishes the targeting pack for specific versions of UAP.
-       With this, we are able to compile assemblies against shipped, stable versions of UAP. -->
-  <PropertyGroup>
-    <BinPlaceRef>true</BinPlaceRef>
-    <NuGetDeploySourceItem>Reference</NuGetDeploySourceItem>
-    <UAPPackageVersion>6.0.7</UAPPackageVersion>
-    <TargetFramework>uap10.0.16299</TargetFramework>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
-      <Version>$(UAPPackageVersion)</Version>
-    </PackageReference>
-    <!-- System.Reflection.Emit and System.Reflection.Emit.ILGeneration are needed for the closure of the implementation of System.Reflection.DispatchProxy.
-    Because they are only available on the implementation, they won't be restored as part of the targeting pack, so adding package references to those
-    as well. -->
-    <PackageReference Include="System.Reflection.Emit">
-      <Version>4.3.0</Version>
-    </PackageReference>
-    <PackageReference Include="System.Reflection.Emit.ILGeneration">
-      <Version>4.3.0</Version>
-    </PackageReference>
-    <PackageToInclude Include="Microsoft.NETCore.UniversalWindowsPlatform" />
-    <PackageToInclude Include="System.Reflection.Emit" />
-    <PackageToInclude Include="System.Reflection.Emit.ILGeneration" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <!-- for all configurations this project provides refs for that configuration -->
-    <BinPlaceConfiguration Include="$(Configuration)">
-      <RefPath>$(RefPath)</RefPath>
-    </BinPlaceConfiguration>
-  </ItemGroup>
-</Project>
\ No newline at end of file
index f2ed3b8..d7ebc9b 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp3.0;
       netcoreapp;
-      uap;
       netstandard1.0;
     </BuildConfigurations>
   </PropertyGroup>
index d056d37..2b10b40 100644 (file)
@@ -9,11 +9,7 @@ internal static partial class Interop
 {
     internal static partial class IpHlpApi
     {
-#if !uap
         [DllImport(Interop.Libraries.IpHlpApi, SetLastError = true)]
         internal static extern uint if_nametoindex(string name);
-#else
-        internal static uint if_nametoindex(string name) => 0;
-#endif
     }
 }
index c57b2d7..6c2e1ac 100644 (file)
@@ -25,16 +25,10 @@ namespace System.Diagnostics
 
             if (s_processName == null)
             {
-#if uap
-                // In UAP getting process infos is not supported and the only way to get the process name is through Process.GetCurrentProcess.ProcessName:
-                // https://github.com/dotnet/corefx/blob/561f555830e4eaef1fa015796690915e6f4923da/src/System.Diagnostics.Process/src/System/Diagnostics/ProcessManager.Uap.cs#L82
-                s_processName = string.Empty;
-#else
                 using (var process = Process.GetCurrentProcess())
                 {
                     s_processName = process.ProcessName;
                 }
-#endif
             }
 
             return s_processName;
index 1a5d95c..adf2b7f 100644 (file)
@@ -533,13 +533,7 @@ namespace System.Net
                     // We need to use Cookie.InternalSetName instead of the Cookie.set_Name wrapped in a try catch block, as
                     // Cookie.set_Name keeps the original name if the string is empty or null.
                     // Unfortunately this API is internal so we use reflection to access it. The method is cached for performance reasons.
-                    BindingFlags flags = BindingFlags.Instance;
-#if uap
-                    flags |= BindingFlags.Public;
-#else
-                    flags |= BindingFlags.NonPublic;
-#endif
-                    MethodInfo method = typeof(Cookie).GetMethod("InternalSetName", flags);
+                    MethodInfo method = typeof(Cookie).GetMethod("InternalSetName", BindingFlags.Instance | BindingFlags.NonPublic);
                     Debug.Assert(method != null, "We need to use an internal method named InternalSetName that is declared on Cookie.");
                     s_internalSetNameMethod = (Func<Cookie, string, bool>)Delegate.CreateDelegate(typeof(Func<Cookie, string, bool>), method);
                 }
@@ -557,13 +551,7 @@ namespace System.Net
                 if (s_isQuotedDomainField == null)
                 {
                     // TODO: #13607
-                    BindingFlags flags = BindingFlags.Instance;
-#if uap
-                    flags |= BindingFlags.Public;
-#else
-                    flags |= BindingFlags.NonPublic;
-#endif
-                    FieldInfo field = typeof(Cookie).GetField("IsQuotedDomain", flags);
+                    FieldInfo field = typeof(Cookie).GetField("IsQuotedDomain", BindingFlags.Instance | BindingFlags.NonPublic);
                     Debug.Assert(field != null, "We need to use an internal field named IsQuotedDomain that is declared on Cookie.");
                     s_isQuotedDomainField = field;
                 }
@@ -580,13 +568,7 @@ namespace System.Net
                 if (s_isQuotedVersionField == null)
                 {
                     // TODO: #13607
-                    BindingFlags flags = BindingFlags.Instance;
-#if uap
-                    flags |= BindingFlags.Public;
-#else
-                    flags |= BindingFlags.NonPublic;
-#endif
-                    FieldInfo field = typeof(Cookie).GetField("IsQuotedVersion", flags);
+                    FieldInfo field = typeof(Cookie).GetField("IsQuotedVersion", BindingFlags.Instance | BindingFlags.NonPublic);
                     Debug.Assert(field != null, "We need to use an internal field named IsQuotedVersion that is declared on Cookie.");
                     s_isQuotedVersionField = field;
                 }
index fef0bdf..c8d2487 100644 (file)
@@ -58,7 +58,7 @@ namespace System.Security.Cryptography.Asn1
         }
 
         public
-#if uap || NETCOREAPP || NETSTANDARD2_1
+#if NETCOREAPP || NETSTANDARD2_1
             override
 #endif
         int GetByteCount(ReadOnlySpan<char> chars)
@@ -93,7 +93,7 @@ namespace System.Security.Cryptography.Asn1
         }
 
         public
-#if uap || NETCOREAPP || NETSTANDARD2_1
+#if NETCOREAPP || NETSTANDARD2_1
             override
 #endif
         int GetCharCount(ReadOnlySpan<byte> bytes)
@@ -397,7 +397,7 @@ namespace System.Security.Cryptography.Asn1
             return s_utf8Encoding.GetByteCount(s);
         }
 
-#if uap || NETCOREAPP || NETSTANDARD2_1
+#if NETCOREAPP || NETSTANDARD2_1
         public override int GetByteCount(ReadOnlySpan<char> chars)
         {
             return s_utf8Encoding.GetByteCount(chars);
@@ -438,7 +438,7 @@ namespace System.Security.Cryptography.Asn1
             }
         }
 
-#if uap || NETCOREAPP || NETSTANDARD2_1
+#if NETCOREAPP || NETSTANDARD2_1
         public override int GetCharCount(ReadOnlySpan<byte> bytes)
         {
             try
index c3e1996..43c19e6 100644 (file)
@@ -117,7 +117,7 @@ namespace System.Security.Cryptography.Asn1
             _offset += bitString.Length;
         }
 
-#if uap || NETCOREAPP || NETSTANDARD2_1
+#if NETCOREAPP || NETSTANDARD2_1
         /// <summary>
         ///   Write a Bit String value via a callback, with a tag UNIVERSAL 3.
         /// </summary>
index 0aee627..7592a9d 100644 (file)
@@ -20,7 +20,7 @@ namespace System.Security.Cryptography
 
             if (!clearWholeArray && clearSize != 0)
             {
-#if uap || NETCOREAPP || NETSTANDARD2_1
+#if NETCOREAPP || NETSTANDARD2_1
                 CryptographicOperations.ZeroMemory(array.AsSpan(0, clearSize));
 #else
                 Array.Clear(array, 0, clearSize);
index ca41626..7538cfb 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index d7c1b11..e39f68a 100644 (file)
@@ -6,7 +6,7 @@
       This assembly is referenced from rid agnostic configurations therefore we can't make it RID specific
       and instead use runtime checks.
     -->
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\AdminHelpers.cs" />
@@ -20,7 +20,6 @@
     <Compile Include="System\IO\FileCleanupTestBase.cs" />
     <Compile Include="System\TestEnvironment.cs" />
     <Compile Include="System\ThreadCultureChange.cs" />
-    <Compile Include="System\Diagnostics\RemoteExecutorForUap.cs" />
     <!-- We don't compile per but and instead use runtime platform checks. -->
     <Compile Include="System\PlatformDetection.cs" />
     <Compile Include="System\PlatformDetection.Unix.cs" />
@@ -74,7 +73,6 @@
     </Compile>
   </ItemGroup>
   <ItemGroup>
-    <PackageReference Include="Microsoft.DotNet.RemoteExecutor" Version="$(MicrosoftDotNetRemoteExecutorPackageVersion)" />
     <PackageReference Include="Microsoft.DotNet.XUnitExtensions" Version="$(MicrosoftDotNetXUnitExtensionsPackageVersion)" />
     <PackageReference Include="xunit.core" Version="$(XUnitPackageVersion)" ExcludeAssets="build" />
     <PackageReference Include="xunit.assert" Version="$(XUnitPackageVersion)" />
diff --git a/src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/Diagnostics/RemoteExecutorForUap.cs b/src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/Diagnostics/RemoteExecutorForUap.cs
deleted file mode 100644 (file)
index acb35f8..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-
-namespace Microsoft.DotNet.RemoteExecutor
-{
-    /// <summary>
-    /// Wraps <see cref="RemoteExecutor"/>, using it only when running on UAP, and otherwise
-    /// invoking the action synchronously without any additional sandboxing.
-    /// </summary>
-    /// <remarks>
-    /// This is a workaround for UAP's current behavior for CultureInfo.Current{UI}Culture,
-    /// which is process-wide rather than thread-specific.  When that behavior is fixed,
-    /// all use of this type should be removable.
-    /// </remarks>
-    public static class RemoteExecutorForUap
-    {
-        public static RemoteInvokeHandle Invoke(Action action)
-        {
-            if (PlatformDetection.IsUap)
-            {
-                return RemoteExecutor.Invoke(action);
-            }
-
-            action();
-            return new RemoteInvokeHandle(null, null);
-        }
-
-        public static RemoteInvokeHandle Invoke(Action<string> action, string arg)
-        {
-            if (PlatformDetection.IsUap)
-            {
-                return RemoteExecutor.Invoke(action, arg);
-            }
-
-            action(arg);
-            return new RemoteInvokeHandle(null, null);
-        }
-
-        public static RemoteInvokeHandle Invoke(Action<string, string> action, string arg1, string arg2)
-        {
-            if (PlatformDetection.IsUap)
-            {
-                return RemoteExecutor.Invoke(action, arg1, arg2);
-            }
-
-            action(arg1, arg2);
-            return new RemoteInvokeHandle(null, null);
-        }
-
-        public static RemoteInvokeHandle Invoke(Action<string, string, string> action, string arg1, string arg2, string arg3)
-        {
-            if (PlatformDetection.IsUap)
-            {
-                return RemoteExecutor.Invoke(action, arg1, arg2, arg3);
-            }
-
-            action(arg1, arg2, arg3);
-            return new RemoteInvokeHandle(null, null);
-        }
-
-        public static RemoteInvokeHandle Invoke(Action<string, string, string, string> action, string arg1, string arg2, string arg3, string arg4)
-        {
-            if (PlatformDetection.IsUap)
-            {
-                return RemoteExecutor.Invoke(action, arg1, arg2, arg3, arg4);
-            }
-
-            action(arg1, arg2, arg3, arg4);
-            return new RemoteInvokeHandle(null, null);
-        }
-
-        public static RemoteInvokeHandle Invoke(Func<string, string, string, string, string, int> func, string arg1, string arg2, string arg3, string arg4, string arg5)
-        {
-            if (PlatformDetection.IsUap)
-            {
-                return RemoteExecutor.Invoke(func, arg1, arg2, arg3, arg4, arg5);
-            }
-
-            func(arg1, arg2, arg3, arg4, arg5); // ignore return value for now, though it should really be marshaled out through the RemoteInvokeHandle
-            return new RemoteInvokeHandle(null, null);
-        }
-    }
-}
index 403310e..a4f7d1e 100644 (file)
@@ -2,12 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 // See the LICENSE file in the project root for more information.
 
-using System.Diagnostics;
-using System.IO;
 using System.Runtime.InteropServices;
-using System.Text;
 using System.Xml.Linq;
-using Xunit;
 
 namespace System
 {
index c753e26..55e5830 100644 (file)
@@ -2,12 +2,9 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 // See the LICENSE file in the project root for more information.
 
-using System.Diagnostics;
 using System.IO;
 using System.Runtime.InteropServices;
-using System.Runtime.Versioning;
 using System.Security;
-using System.Text;
 using Microsoft.Win32;
 using Xunit;
 
@@ -22,7 +19,6 @@ namespace System
         //
 
         public static bool IsWindows => RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
-        public static bool IsUap => IsInAppContainer;
         public static bool IsFullFramework => RuntimeInformation.FrameworkDescription.StartsWith(".NET Framework", StringComparison.OrdinalIgnoreCase);
         public static bool HasWindowsShell => IsWindows && IsNotWindowsServerCore && IsNotWindowsNanoServer && IsNotWindowsIoTCore;
         public static bool IsWindows7 => IsWindows && GetWindowsVersion() == 6 && GetWindowsMinorVersion() == 1;
@@ -38,7 +34,8 @@ namespace System
         public static bool IsNotWindowsIoTCore => !IsWindowsIoTCore;
         public static bool IsNotWindowsHomeEdition => !IsWindowsHomeEdition;
         public static bool IsNotInAppContainer => !IsInAppContainer;
-        public static bool IsWinRTSupported => IsWindows && !IsWindows7;
+        public static bool IsWinRTSupported => IsWindows && IsNotWindows7;
+        public static bool IsWinUISupported => IsWinRTSupported && IsNotWindows8x && IsNotWindowsNanoServer && IsNotWindowsServerCore && IsNotWindowsIoTCore;
         public static bool IsNotWinRTSupported => !IsWinRTSupported;
         public static bool IsSoundPlaySupported => IsWindows && IsNotWindowsNanoServer;
 
@@ -62,10 +59,6 @@ namespace System
         public static bool IsWindows10Version1903OrGreater => IsWindows &&
             GetWindowsVersion() == 10 && GetWindowsMinorVersion() == 0 && GetWindowsBuildNumber() >= 18362;
 
-        // Windows OneCoreUAP SKU doesn't have httpapi.dll
-        public static bool IsNotOneCoreUAP => !IsWindows ||
-            File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "System32", "httpapi.dll"));
-
         public static bool IsWindowsIoTCore
         {
             get
@@ -145,7 +138,7 @@ namespace System
             {
                 value = (string)Registry.GetValue(key, "InstallationType", defaultValue: "");
             }
-            catch (Exception e) when (e is SecurityException || e is InvalidCastException || e is PlatformNotSupportedException /* UAP */)
+            catch (Exception e) when (e is SecurityException || e is InvalidCastException)
             {
             }
 
index dff6700..4bce437 100644 (file)
@@ -2,14 +2,11 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 // See the LICENSE file in the project root for more information.
 
-using System.Diagnostics;
 using System.IO;
 using System.Security;
 using System.Runtime.InteropServices;
-using System.Text;
 using System.Runtime.CompilerServices;
 using Microsoft.Win32;
-using Xunit;
 
 namespace System
 {
@@ -36,11 +33,6 @@ namespace System
         public static bool IsArgIteratorNotSupported => !IsArgIteratorSupported;
         public static bool Is32BitProcess => IntPtr.Size == 4;
 
-        // Windows 10 Insider Preview Build 16215 introduced the necessary APIs for the UAP version of
-        // ClientWebSocket.ReceiveAsync to consume partial message data as it arrives, without having to wait
-        // for "end of message" to be signaled.
-        public static bool ClientWebSocketPartialMessagesSupported => !IsUap || IsWindows10Version1709OrGreater;
-
         public static bool IsDrawingSupported
         {
             get
@@ -49,7 +41,7 @@ namespace System
                 if (IsWindows)
                 {
 #endif
-                    return IsNotWindowsNanoServer && IsNotWindowsServerCore && !IsUap;
+                    return IsNotWindowsNanoServer && IsNotWindowsServerCore;
 #if NETCOREAPP
                 }
                 else if (IsOSX)
@@ -72,7 +64,7 @@ namespace System
 
         // System.Security.Cryptography.Xml.XmlDsigXsltTransform.GetOutput() relies on XslCompiledTransform which relies
         // heavily on Reflection.Emit
-        public static bool IsXmlDsigXsltTransformSupported => !PlatformDetection.IsUap;
+        public static bool IsXmlDsigXsltTransformSupported => !PlatformDetection.IsInAppContainer;
 
         public static bool IsPreciseGcSupported => !IsMonoRuntime;
 
@@ -101,6 +93,7 @@ namespace System
         }
 
         public static bool IsDomainJoinedMachine => !Environment.MachineName.Equals(Environment.UserDomainName, StringComparison.OrdinalIgnoreCase);
+        public static bool IsNotDomainJoinedMachine => !IsDomainJoinedMachine;
 
         // Windows - Schannel supports alpn from win8.1/2012 R2 and higher.
         // Linux - OpenSsl supports alpn from openssl 1.0.2 and higher.
index d416b09..6852fbc 100644 (file)
@@ -2,8 +2,6 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 // See the LICENSE file in the project root for more information.
 
-using System.Diagnostics;
-
 namespace System
 {
     public static class TestEnvironment
index 61ae485..a0b2547 100644 (file)
@@ -172,7 +172,7 @@ namespace System.IO.Compression.Tests
                         using (Stream entrystream = entry.Open())
                         {
                             entrystream.Read(buffer, 0, buffer.Length);
-#if NETCOREAPP || uap
+#if NETCOREAPP
                             uint zipcrc = entry.Crc32;
                             Assert.Equal(CRC.CalculateCRC(buffer), zipcrc.ToString());
 #endif
index 02b589f..1481fd7 100644 (file)
@@ -27,7 +27,7 @@ namespace System.Net.Test.Common
             static Certificates()
             {
                 Mutex mutex =
-                    PlatformDetection.IsUap ? new Mutex(initiallyOwned: false, "Local\\CoreFXTest.Configuration.Certificates.LoadPfxCertificate") : // UWP doesn't support Global mutexes
+                    PlatformDetection.IsInAppContainer ? new Mutex(initiallyOwned: false, "Local\\CoreFXTest.Configuration.Certificates.LoadPfxCertificate") : // UWP doesn't support Global mutexes
                     PlatformDetection.IsWindows ? new Mutex(initiallyOwned: false, "Global\\CoreFXTest.Configuration.Certificates.LoadPfxCertificate") :
                     null;
                 using (mutex)
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a0ac94c..a64f644 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <OutputType>Exe</OutputType>
     <RootNamespace>XmlCoreTest.Common</RootNamespace>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AsyncUtil.cs" />
index c2295bb..00b71e6 100644 (file)
@@ -2156,145 +2156,139 @@ namespace System.Tests
         [Fact]
         public static void EndsWithMatchNonOrdinal_StringComparison()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            string s = "dabc";
+            string value = "aBc";
+            Assert.False(s.EndsWith(value, StringComparison.Ordinal));
+            Assert.True(s.EndsWith(value, StringComparison.OrdinalIgnoreCase));
+
+            ReadOnlySpan<char> span = s.AsSpan();
+            ReadOnlySpan<char> spanValue = value.AsSpan();
+            Assert.False(span.EndsWith(spanValue, StringComparison.Ordinal));
+            Assert.True(span.EndsWith(spanValue, StringComparison.OrdinalIgnoreCase));
+
+            using (new ThreadCultureChange("el-GR"))
             {
-                string s = "dabc";
-                string value = "aBc";
-                Assert.False(s.EndsWith(value, StringComparison.Ordinal));
-                Assert.True(s.EndsWith(value, StringComparison.OrdinalIgnoreCase));
+                s = "\u03b4\u03b1\u03b2\u03b3"; // \u03B4\u03B1\u03B2\u03B3
+                value = "\u03b1\u03b2\u03b3"; // \u03B1\u03B2\u03B3
 
-                ReadOnlySpan<char> span = s.AsSpan();
-                ReadOnlySpan<char> spanValue = value.AsSpan();
-                Assert.False(span.EndsWith(spanValue, StringComparison.Ordinal));
-                Assert.True(span.EndsWith(spanValue, StringComparison.OrdinalIgnoreCase));
+                Assert.True(s.EndsWith(value, StringComparison.CurrentCulture));
+                Assert.True(s.EndsWith(value, StringComparison.CurrentCultureIgnoreCase));
 
-                using (new ThreadCultureChange("el-GR"))
-                {
-                    s = "\u03b4\u03b1\u03b2\u03b3"; // \u03B4\u03B1\u03B2\u03B3
-                    value = "\u03b1\u03b2\u03b3"; // \u03B1\u03B2\u03B3
+                span = s.AsSpan(); // \u03B4\u03B1\u03B2\u03B3
+                spanValue = value.AsSpan(); // \u03B1\u03B2\u03B3
 
-                    Assert.True(s.EndsWith(value, StringComparison.CurrentCulture));
-                    Assert.True(s.EndsWith(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.True(span.EndsWith(spanValue, StringComparison.CurrentCulture));
+                Assert.True(span.EndsWith(spanValue, StringComparison.CurrentCultureIgnoreCase));
 
-                    span = s.AsSpan(); // \u03B4\u03B1\u03B2\u03B3
-                    spanValue = value.AsSpan(); // \u03B1\u03B2\u03B3
+                value = "\u03b1\u0392\u03b3"; // \u03B1\u0392\u03B3
+                Assert.False(s.EndsWith(value, StringComparison.CurrentCulture));
+                Assert.True(s.EndsWith(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    Assert.True(span.EndsWith(spanValue, StringComparison.CurrentCulture));
-                    Assert.True(span.EndsWith(spanValue, StringComparison.CurrentCultureIgnoreCase));
+                spanValue = value.AsSpan(); // \u03B1\u0392\u03B3
+                Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCulture));
+                Assert.True(span.EndsWith(spanValue, StringComparison.CurrentCultureIgnoreCase));
+            }
 
-                    value = "\u03b1\u0392\u03b3"; // \u03B1\u0392\u03B3
-                    Assert.False(s.EndsWith(value, StringComparison.CurrentCulture));
-                    Assert.True(s.EndsWith(value, StringComparison.CurrentCultureIgnoreCase));
+            s = "\u03b4\u0069\u00df\u0049"; // \u03B4i\u00DFI
+            value = "\u0069\u0073\u0073\u0049"; // issI
 
-                    spanValue = value.AsSpan(); // \u03B1\u0392\u03B3
-                    Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCulture));
-                    Assert.True(span.EndsWith(spanValue, StringComparison.CurrentCultureIgnoreCase));
-                }
+            Assert.False(s.EndsWith(value, StringComparison.Ordinal));
+            // Different behavior depending on OS - True on Windows, False on Unix
+            Assert.Equal(
+                s.ToString().EndsWith(value.ToString(), StringComparison.InvariantCulture),
+                s.EndsWith(value, StringComparison.InvariantCulture));
+            Assert.Equal(
+                s.ToString().EndsWith(value.ToString(), StringComparison.InvariantCultureIgnoreCase),
+                s.EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
+
+            span = s.AsSpan(); // \u03B4i\u00DFI
+            spanValue = value.AsSpan(); // issI
+
+            Assert.False(span.EndsWith(spanValue, StringComparison.Ordinal));
+            // Different behavior depending on OS - True on Windows, False on Unix
+            Assert.Equal(
+                span.ToString().EndsWith(spanValue.ToString(), StringComparison.InvariantCulture),
+                span.EndsWith(spanValue, StringComparison.InvariantCulture));
+            Assert.Equal(
+                span.ToString().EndsWith(spanValue.ToString(), StringComparison.InvariantCultureIgnoreCase),
+                span.EndsWith(spanValue, StringComparison.InvariantCultureIgnoreCase));
 
-                s = "\u03b4\u0069\u00df\u0049"; // \u03B4i\u00DFI
-                value = "\u0069\u0073\u0073\u0049"; // issI
-
-                Assert.False(s.EndsWith(value, StringComparison.Ordinal));
-                // Different behavior depending on OS - True on Windows, False on Unix
-                Assert.Equal(
-                    s.ToString().EndsWith(value.ToString(), StringComparison.InvariantCulture),
-                    s.EndsWith(value, StringComparison.InvariantCulture));
-                Assert.Equal(
-                    s.ToString().EndsWith(value.ToString(), StringComparison.InvariantCultureIgnoreCase),
-                    s.EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
-
-                span = s.AsSpan(); // \u03B4i\u00DFI
-                spanValue = value.AsSpan(); // issI
-
-                Assert.False(span.EndsWith(spanValue, StringComparison.Ordinal));
-                // Different behavior depending on OS - True on Windows, False on Unix
-                Assert.Equal(
-                    span.ToString().EndsWith(spanValue.ToString(), StringComparison.InvariantCulture),
-                    span.EndsWith(spanValue, StringComparison.InvariantCulture));
-                Assert.Equal(
-                    span.ToString().EndsWith(spanValue.ToString(), StringComparison.InvariantCultureIgnoreCase),
-                    span.EndsWith(spanValue, StringComparison.InvariantCultureIgnoreCase));
-
-                value = "\u0049\u0073\u0073\u0049"; // IssI
-                Assert.False(s.EndsWith(value, StringComparison.OrdinalIgnoreCase));
-                Assert.False(s.EndsWith(value, StringComparison.InvariantCulture));
-                // Different behavior depending on OS - True on Windows, False on Unix
-                Assert.Equal(
-                    s.ToString().EndsWith(value.ToString(), StringComparison.InvariantCultureIgnoreCase),
-                    s.EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
-
-                spanValue = value.AsSpan(); // IssI
-                Assert.False(span.EndsWith(spanValue, StringComparison.OrdinalIgnoreCase));
-                Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCulture));
-                // Different behavior depending on OS - True on Windows, False on Unix
-                Assert.Equal(
-                    span.ToString().EndsWith(spanValue.ToString(), StringComparison.InvariantCultureIgnoreCase),
-                    span.EndsWith(spanValue, StringComparison.InvariantCultureIgnoreCase));
-            }).Dispose();
+            value = "\u0049\u0073\u0073\u0049"; // IssI
+            Assert.False(s.EndsWith(value, StringComparison.OrdinalIgnoreCase));
+            Assert.False(s.EndsWith(value, StringComparison.InvariantCulture));
+            // Different behavior depending on OS - True on Windows, False on Unix
+            Assert.Equal(
+                s.ToString().EndsWith(value.ToString(), StringComparison.InvariantCultureIgnoreCase),
+                s.EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
+
+            spanValue = value.AsSpan(); // IssI
+            Assert.False(span.EndsWith(spanValue, StringComparison.OrdinalIgnoreCase));
+            Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCulture));
+            // Different behavior depending on OS - True on Windows, False on Unix
+            Assert.Equal(
+                span.ToString().EndsWith(spanValue.ToString(), StringComparison.InvariantCultureIgnoreCase),
+                span.EndsWith(spanValue, StringComparison.InvariantCultureIgnoreCase));
         }
 
         [Fact]
         public static void EndsWithNoMatchNonOrdinal_StringComparison()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                string s = "dabc";
-                string value = "aDc";
-                Assert.False(s.EndsWith(value, StringComparison.Ordinal));
-                Assert.False(s.EndsWith(value, StringComparison.OrdinalIgnoreCase));
+            string s = "dabc";
+            string value = "aDc";
+            Assert.False(s.EndsWith(value, StringComparison.Ordinal));
+            Assert.False(s.EndsWith(value, StringComparison.OrdinalIgnoreCase));
 
-                ReadOnlySpan<char> span = s.AsSpan();
-                ReadOnlySpan<char> spanValue = value.AsSpan();
-                Assert.False(span.EndsWith(spanValue, StringComparison.Ordinal));
-                Assert.False(span.EndsWith(spanValue, StringComparison.OrdinalIgnoreCase));
+            ReadOnlySpan<char> span = s.AsSpan();
+            ReadOnlySpan<char> spanValue = value.AsSpan();
+            Assert.False(span.EndsWith(spanValue, StringComparison.Ordinal));
+            Assert.False(span.EndsWith(spanValue, StringComparison.OrdinalIgnoreCase));
 
-                using (new ThreadCultureChange("el-GR"))
-                {
-                    s = "\u03b4\u03b1\u03b2\u03b3"; // \u03B4\u03B1\u03B2\u03B3
-                    value = "\u03b1\u03b4\u03b3"; // \u03B1\u03B4\u03B3
+            using (new ThreadCultureChange("el-GR"))
+            {
+                s = "\u03b4\u03b1\u03b2\u03b3"; // \u03B4\u03B1\u03B2\u03B3
+                value = "\u03b1\u03b4\u03b3"; // \u03B1\u03B4\u03B3
 
-                    Assert.False(s.EndsWith(value, StringComparison.CurrentCulture));
-                    Assert.False(s.EndsWith(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.False(s.EndsWith(value, StringComparison.CurrentCulture));
+                Assert.False(s.EndsWith(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    span = s.AsSpan(); // \u03B4\u03B1\u03B2\u03B3
-                    spanValue = value.AsSpan(); // \u03B1\u03B4\u03B3
+                span = s.AsSpan(); // \u03B4\u03B1\u03B2\u03B3
+                spanValue = value.AsSpan(); // \u03B1\u03B4\u03B3
 
-                    Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCulture));
-                    Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCultureIgnoreCase));
+                Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCulture));
+                Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCultureIgnoreCase));
 
-                    value = "\u03b1\u0394\u03b3"; // \u03B1\u0394\u03B3
-                    Assert.False(s.EndsWith(value, StringComparison.CurrentCulture));
-                    Assert.False(s.EndsWith(value, StringComparison.CurrentCultureIgnoreCase));
+                value = "\u03b1\u0394\u03b3"; // \u03B1\u0394\u03B3
+                Assert.False(s.EndsWith(value, StringComparison.CurrentCulture));
+                Assert.False(s.EndsWith(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    spanValue = value.AsSpan(); // \u03B1\u0394\u03B3
-                    Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCulture));
-                    Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCultureIgnoreCase));
-                }
+                spanValue = value.AsSpan(); // \u03B1\u0394\u03B3
+                Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCulture));
+                Assert.False(span.EndsWith(spanValue, StringComparison.CurrentCultureIgnoreCase));
+            }
 
-                s = "\u03b4\u0069\u00df\u0049"; // \u03B4i\u00DFI
-                value = "\u0069\u03b4\u03b4\u0049"; // i\u03B4\u03B4I
+            s = "\u03b4\u0069\u00df\u0049"; // \u03B4i\u00DFI
+            value = "\u0069\u03b4\u03b4\u0049"; // i\u03B4\u03B4I
 
-                Assert.False(s.EndsWith(value, StringComparison.Ordinal));
-                Assert.False(s.EndsWith(value, StringComparison.InvariantCulture));
-                Assert.False(s.EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
+            Assert.False(s.EndsWith(value, StringComparison.Ordinal));
+            Assert.False(s.EndsWith(value, StringComparison.InvariantCulture));
+            Assert.False(s.EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
 
-                span = s.AsSpan(); // \u03B4i\u00DFI
-                spanValue = value.AsSpan(); // i\u03B4\u03B4I
+            span = s.AsSpan(); // \u03B4i\u00DFI
+            spanValue = value.AsSpan(); // i\u03B4\u03B4I
 
-                Assert.False(span.EndsWith(spanValue, StringComparison.Ordinal));
-                Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCulture));
-                Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCultureIgnoreCase));
+            Assert.False(span.EndsWith(spanValue, StringComparison.Ordinal));
+            Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCulture));
+            Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCultureIgnoreCase));
 
-                value = "\u0049\u03b4\u03b4\u0049"; // I\u03B4\u03B4I
-                Assert.False(s.EndsWith(value, StringComparison.OrdinalIgnoreCase));
-                Assert.False(s.EndsWith(value, StringComparison.InvariantCulture));
-                Assert.False(s.EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
+            value = "\u0049\u03b4\u03b4\u0049"; // I\u03B4\u03B4I
+            Assert.False(s.EndsWith(value, StringComparison.OrdinalIgnoreCase));
+            Assert.False(s.EndsWith(value, StringComparison.InvariantCulture));
+            Assert.False(s.EndsWith(value, StringComparison.InvariantCultureIgnoreCase));
 
-                spanValue = value.AsSpan(); // I\u03B4\u03B4I
-                Assert.False(span.EndsWith(spanValue, StringComparison.OrdinalIgnoreCase));
-                Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCulture));
-                Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCultureIgnoreCase));
-            }).Dispose();
+            spanValue = value.AsSpan(); // I\u03B4\u03B4I
+            Assert.False(span.EndsWith(spanValue, StringComparison.OrdinalIgnoreCase));
+            Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCulture));
+            Assert.False(span.EndsWith(spanValue, StringComparison.InvariantCultureIgnoreCase));
         }
 
         [Theory]
@@ -2538,18 +2532,14 @@ namespace System.Tests
         [MemberData(nameof(Equals_EncyclopaediaData))]
         public void Equals_Encyclopaedia_ReturnsExpected(StringComparison comparison, bool expected)
         {
-            RemoteExecutorForUap.Invoke((comparisonString, expectedString) =>
-            {
-                string source = "encyclop\u00e6dia";
-                string target = "encyclopaedia";
+            string source = "encyclop\u00e6dia";
+            string target = "encyclopaedia";
 
-                using (new ThreadCultureChange("se-SE"))
-                {
-                    StringComparison comparisonType = (StringComparison)Enum.Parse(typeof(StringComparison), comparisonString);
-                    Assert.Equal(bool.Parse(expectedString), string.Equals(source, target, comparisonType));
-                    Assert.Equal(bool.Parse(expectedString), source.AsSpan().Equals(target.AsSpan(), comparisonType));
-                }
-            }, comparison.ToString(), expected.ToString()).Dispose();
+            using (new ThreadCultureChange("se-SE"))
+            {
+                Assert.Equal(expected, string.Equals(source, target, comparison));
+                Assert.Equal(expected, source.AsSpan().Equals(target.AsSpan(), comparison));
+            }
         }
 
         [Theory]
@@ -2854,282 +2844,255 @@ namespace System.Tests
         [Fact]
         public static void IndexOf_TurkishI_TurkishCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("tr-TR"))
             {
-                using (new ThreadCultureChange("tr-TR"))
-                {
-                    string s = "Turkish I \u0131s TROUBL\u0130NG!";
-                    string value = "\u0130";
-                    Assert.Equal(19, s.IndexOf(value));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(4, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(4, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
-                    Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
-
-                    value = "\u0131";
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
-                }
-            }).Dispose();
+                string s = "Turkish I \u0131s TROUBL\u0130NG!";
+                string value = "\u0130";
+                Assert.Equal(19, s.IndexOf(value));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(4, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+
+                ReadOnlySpan<char> span = s.AsSpan();
+                Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(4, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
+                Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
+
+                value = "\u0131";
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_TurkishI_InvariantCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    string s = "Turkish I \u0131s TROUBL\u0130NG!";
-                    string value = "\u0130";
+                string s = "Turkish I \u0131s TROUBL\u0130NG!";
+                string value = "\u0130";
 
-                    Assert.Equal(19, s.IndexOf(value));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, s.IndexOf(value));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                ReadOnlySpan<char> span = s.AsSpan();
+                Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
 
-                    value = "\u0131";
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                value = "\u0131";
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_TurkishI_EnglishUSCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    string s = "Turkish I \u0131s TROUBL\u0130NG!";
-                    string value = "\u0130";
+                string s = "Turkish I \u0131s TROUBL\u0130NG!";
+                string value = "\u0130";
 
-                    value = "\u0130";
-                    Assert.Equal(19, s.IndexOf(value));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                value = "\u0130";
+                Assert.Equal(19, s.IndexOf(value));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                ReadOnlySpan<char> span = s.AsSpan();
+                Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(19, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
 
-                    value = "\u0131";
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                value = "\u0131";
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_HungarianDoubleCompression_HungarianCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("hu-HU"))
             {
-                using (new ThreadCultureChange("hu-HU"))
-                {
-                    string source = "dzsdzs";
-                    string target = "ddzs";
-
-                    /*
-                     There are differences between Windows and ICU regarding contractions.
-                     Windows has equal contraction collation weights, including case (target="Ddzs" same behavior as "ddzs").
-                     ICU has different contraction collation weights, depending on locale collation rules.
-                     If CurrentCultureIgnoreCase is specified, ICU will use 'secondary' collation rules
-                     which ignore the contraction collation weights (defined as 'tertiary' rules)
-                    */
-                    Assert.Equal(PlatformDetection.IsWindows ? 0 : -1, source.IndexOf(target));
-                    Assert.Equal(PlatformDetection.IsWindows ? 0 : -1, source.IndexOf(target, StringComparison.CurrentCulture));
-
-                    Assert.Equal(0, source.IndexOf(target, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(-1, source.IndexOf(target, StringComparison.Ordinal));
-                    Assert.Equal(-1, source.IndexOf(target, StringComparison.OrdinalIgnoreCase));
-
-                    ReadOnlySpan<char> span = source.AsSpan();
-
-                    Assert.Equal(PlatformDetection.IsWindows ? 0 : -1, span.IndexOf(target.AsSpan(), StringComparison.CurrentCulture));
-
-                    Assert.Equal(0, span.IndexOf(target.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.Ordinal));
-                    Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.OrdinalIgnoreCase));
-                }
-            }).Dispose();
+                string source = "dzsdzs";
+                string target = "ddzs";
+
+                /*
+                    There are differences between Windows and ICU regarding contractions.
+                    Windows has equal contraction collation weights, including case (target="Ddzs" same behavior as "ddzs").
+                    ICU has different contraction collation weights, depending on locale collation rules.
+                    If CurrentCultureIgnoreCase is specified, ICU will use 'secondary' collation rules
+                    which ignore the contraction collation weights (defined as 'tertiary' rules)
+                */
+                Assert.Equal(PlatformDetection.IsWindows ? 0 : -1, source.IndexOf(target));
+                Assert.Equal(PlatformDetection.IsWindows ? 0 : -1, source.IndexOf(target, StringComparison.CurrentCulture));
+
+                Assert.Equal(0, source.IndexOf(target, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(-1, source.IndexOf(target, StringComparison.Ordinal));
+                Assert.Equal(-1, source.IndexOf(target, StringComparison.OrdinalIgnoreCase));
+
+                ReadOnlySpan<char> span = source.AsSpan();
+
+                Assert.Equal(PlatformDetection.IsWindows ? 0 : -1, span.IndexOf(target.AsSpan(), StringComparison.CurrentCulture));
+
+                Assert.Equal(0, span.IndexOf(target.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.Ordinal));
+                Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.OrdinalIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_HungarianDoubleCompression_InvariantCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    string source = "dzsdzs";
-                    string target = "ddzs";
+                string source = "dzsdzs";
+                string target = "ddzs";
 
-                    Assert.Equal(-1, source.IndexOf(target));
-                    Assert.Equal(-1, source.IndexOf(target, StringComparison.CurrentCulture));
-                    Assert.Equal(-1, source.IndexOf(target, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(-1, source.IndexOf(target));
+                Assert.Equal(-1, source.IndexOf(target, StringComparison.CurrentCulture));
+                Assert.Equal(-1, source.IndexOf(target, StringComparison.CurrentCultureIgnoreCase));
 
-                    ReadOnlySpan<char> span = source.AsSpan();
-                    Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                ReadOnlySpan<char> span = source.AsSpan();
+                Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_EquivalentDiacritics_EnglishUSCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    string s = "Exhibit a\u0300\u00C0";
-                    string value = "\u00C0";
-
-                    Assert.Equal(10, s.IndexOf(value));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
-
-                    value = "a\u0300"; // this diacritic combines with preceding character
-                    Assert.Equal(8, s.IndexOf(value));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-
-                    Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
-                    Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
-                }
-            }).Dispose();
+                string s = "Exhibit a\u0300\u00C0";
+                string value = "\u00C0";
+
+                Assert.Equal(10, s.IndexOf(value));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+
+                ReadOnlySpan<char> span = s.AsSpan();
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
+
+                value = "a\u0300"; // this diacritic combines with preceding character
+                Assert.Equal(8, s.IndexOf(value));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+
+                Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
+                Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_EquivalentDiacritics_InvariantCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    string s = "Exhibit a\u0300\u00C0";
-                    string value = "\u00C0";
+                string s = "Exhibit a\u0300\u00C0";
+                string value = "\u00C0";
 
-                    CultureInfo.CurrentCulture = CultureInfo.InvariantCulture;
-                    Assert.Equal(10, s.IndexOf(value));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                CultureInfo.CurrentCulture = CultureInfo.InvariantCulture;
+                Assert.Equal(10, s.IndexOf(value));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                ReadOnlySpan<char> span = s.AsSpan();
+                Assert.Equal(10, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
 
-                    value = "a\u0300"; // this diacritic combines with preceding character
-                    Assert.Equal(8, s.IndexOf(value));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                value = "a\u0300"; // this diacritic combines with preceding character
+                Assert.Equal(8, s.IndexOf(value));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(8, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_CyrillicE_EnglishUSCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    string s = "Foo\u0400Bar";
-                    string value = "\u0400";
-
-                    Assert.Equal(3, s.IndexOf(value));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
-                    Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
-
-                    value = "bar";
-                    Assert.Equal(-1, s.IndexOf(value));
-                    Assert.Equal(-1, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(4, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(-1, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(4, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-
-                    Assert.Equal(-1, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(4, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(-1, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
-                    Assert.Equal(4, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
-                }
-            }).Dispose();
+                string s = "Foo\u0400Bar";
+                string value = "\u0400";
+
+                Assert.Equal(3, s.IndexOf(value));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+
+                ReadOnlySpan<char> span = s.AsSpan();
+                Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
+                Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
+
+                value = "bar";
+                Assert.Equal(-1, s.IndexOf(value));
+                Assert.Equal(-1, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(4, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(-1, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(4, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+
+                Assert.Equal(-1, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(4, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(-1, span.IndexOf(value.AsSpan(), StringComparison.Ordinal));
+                Assert.Equal(4, span.IndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_CyrillicE_InvariantCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    string s = "Foo\u0400Bar";
-                    string value = "\u0400";
+                string s = "Foo\u0400Bar";
+                string value = "\u0400";
 
-                    Assert.Equal(3, s.IndexOf(value));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(3, s.IndexOf(value));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                ReadOnlySpan<char> span = s.AsSpan();
+                Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(3, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
 
-                    value = "bar";
-                    Assert.Equal(-1, s.IndexOf(value));
-                    Assert.Equal(-1, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(4, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                value = "bar";
+                Assert.Equal(-1, s.IndexOf(value));
+                Assert.Equal(-1, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(4, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    Assert.Equal(-1, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(4, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                Assert.Equal(-1, span.IndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(4, span.IndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
@@ -3809,7 +3772,6 @@ namespace System.Tests
 
         [Theory]
         [MemberData(nameof(Join_ObjectArray_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public static void Join_ObjectArray(string separator, object[] values, string expected)
         {
             Assert.Equal(expected, string.Join(separator, values));
@@ -4027,90 +3989,81 @@ namespace System.Tests
         [Fact]
         public static void LastIndexOf_TurkishI_TurkishCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("tr-TR"))
             {
-                using (new ThreadCultureChange("tr-TR"))
-                {
-                    string s = "Turkish I \u0131s TROUBL\u0130NG!";
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    string value = "\u0130";
-
-                    Assert.Equal(19, s.LastIndexOf(value));
-                    Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(19, s.LastIndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(19, s.LastIndexOf(value, StringComparison.OrdinalIgnoreCase));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan()));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.Ordinal));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
-
-                    value = "\u0131";
-                    Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, s.LastIndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(10, s.LastIndexOf(value, StringComparison.OrdinalIgnoreCase));
-                    Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.Ordinal));
-                    Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
-                }
-            }).Dispose();
+                string s = "Turkish I \u0131s TROUBL\u0130NG!";
+                ReadOnlySpan<char> span = s.AsSpan();
+                string value = "\u0130";
+
+                Assert.Equal(19, s.LastIndexOf(value));
+                Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, s.LastIndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(19, s.LastIndexOf(value, StringComparison.OrdinalIgnoreCase));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan()));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.Ordinal));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
+
+                value = "\u0131";
+                Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, s.LastIndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(10, s.LastIndexOf(value, StringComparison.OrdinalIgnoreCase));
+                Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.Ordinal));
+                Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.OrdinalIgnoreCase));
+            }
         }
 
         [Fact]
         public static void LastIndexOf_TurkishI_InvariantCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    string s = "Turkish I \u0131s TROUBL\u0130NG!";
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    string value = "\u0130";
-
-                    Assert.Equal(19, s.LastIndexOf(value));
-                    Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan()));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-
-                    value = "\u0131";
-                    Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                string s = "Turkish I \u0131s TROUBL\u0130NG!";
+                ReadOnlySpan<char> span = s.AsSpan();
+                string value = "\u0130";
+
+                Assert.Equal(19, s.LastIndexOf(value));
+                Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan()));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+
+                value = "\u0131";
+                Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
         public static void LastIndexOf_TurkishI_EnglishUSCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    string s = "Turkish I \u0131s TROUBL\u0130NG!";
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    string value = "\u0130";
-
-                    Assert.Equal(19, s.LastIndexOf(value));
-                    Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan()));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-
-                    value = "\u0131";
-                    Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
-                    Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                string s = "Turkish I \u0131s TROUBL\u0130NG!";
+                ReadOnlySpan<char> span = s.AsSpan();
+                string value = "\u0130";
+
+                Assert.Equal(19, s.LastIndexOf(value));
+                Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(19, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan()));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(19, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+
+                value = "\u0131";
+                Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(10, s.LastIndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCulture));
+                Assert.Equal(10, span.LastIndexOf(value.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Theory]
@@ -5071,13 +5024,10 @@ namespace System.Tests
         [Fact]
         public static void Test_ToLower_Culture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            foreach (object[] testdata in ToLower_Culture_TestData())
             {
-                foreach (object[] testdata in ToLower_Culture_TestData())
-                {
-                    ToLower_Culture((string)testdata[0], (string)testdata[1], (CultureInfo)testdata[2]);
-                }
-            }).Dispose();
+                ToLower_Culture((string)testdata[0], (string)testdata[1], (CultureInfo)testdata[2]);
+            }
         }
 
         private static void ToLower_Culture(string input, string expected, CultureInfo culture)
@@ -5609,17 +5559,14 @@ namespace System.Tests
         [MemberData(nameof(ToUpper_TurkishI_TurkishCulture_MemberData))]
         public static void ToUpper_TurkishI_TurkishCulture(string s, string expected)
         {
-            RemoteExecutorForUap.Invoke((str, expectedString) =>
+            using (new ThreadCultureChange("tr-TR"))
             {
-                using (new ThreadCultureChange("tr-TR"))
-                {
-                    Assert.True(str.ToUpper().Equals(expectedString, StringComparison.Ordinal), "Actual: " + str.ToUpper());
+                Assert.True(s.ToUpper().Equals(expected, StringComparison.Ordinal), "Actual: " + s.ToUpper());
 
-                    Span<char> destination = new char[str.Length];
-                    Assert.Equal(str.Length, str.AsSpan().ToUpper(destination, CultureInfo.CurrentCulture));
-                    Assert.Equal(expectedString, destination.ToString());
-                }
-            }, s.ToString(), expected.ToString()).Dispose();
+                Span<char> destination = new char[s.Length];
+                Assert.Equal(s.Length, s.AsSpan().ToUpper(destination, CultureInfo.CurrentCulture));
+                Assert.Equal(expected, destination.ToString());
+            }
         }
 
         public static IEnumerable<object[]> ToUpper_TurkishI_EnglishUSCulture_MemberData() =>
@@ -5632,17 +5579,14 @@ namespace System.Tests
         [MemberData(nameof(ToUpper_TurkishI_EnglishUSCulture_MemberData))]
         public static void ToUpper_TurkishI_EnglishUSCulture(string s, string expected)
         {
-            RemoteExecutorForUap.Invoke((str, expectedString) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.True(str.ToUpper().Equals(expectedString, StringComparison.Ordinal), "Actual: " + str.ToUpper());
+                Assert.True(s.ToUpper().Equals(expected, StringComparison.Ordinal), "Actual: " + s.ToUpper());
 
-                    Span<char> destination = new char[str.Length];
-                    Assert.Equal(str.Length, str.AsSpan().ToUpper(destination, CultureInfo.CurrentCulture));
-                    Assert.Equal(expectedString, destination.ToString());
-                }
-            }, s.ToString(), expected.ToString()).Dispose();
+                Span<char> destination = new char[s.Length];
+                Assert.Equal(s.Length, s.AsSpan().ToUpper(destination, CultureInfo.CurrentCulture));
+                Assert.Equal(expected, destination.ToString());
+            }
         }
 
         public static IEnumerable<object[]> ToUpper_TurkishI_InvariantCulture_MemberData() =>
@@ -5655,17 +5599,14 @@ namespace System.Tests
         [MemberData(nameof(ToUpper_TurkishI_InvariantCulture_MemberData))]
         public static void ToUpper_TurkishI_InvariantCulture(string s, string expected)
         {
-            RemoteExecutorForUap.Invoke((str, expectedString) =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    Assert.True(str.ToUpper().Equals(expectedString, StringComparison.Ordinal));
+                Assert.True(s.ToUpper().Equals(expected, StringComparison.Ordinal));
 
-                    Span<char> destination = new char[str.Length];
-                    Assert.Equal(str.Length, str.AsSpan().ToUpper(destination, CultureInfo.CurrentCulture));
-                    Assert.Equal(expectedString, destination.ToString());
-                }
-            }, s.ToString(), expected.ToString()).Dispose();
+                Span<char> destination = new char[s.Length];
+                Assert.Equal(s.Length, s.AsSpan().ToUpper(destination, CultureInfo.CurrentCulture));
+                Assert.Equal(expected, destination.ToString());
+            }
         }
 
         [Theory]
@@ -6742,43 +6683,26 @@ namespace System.Tests
 
         [Theory]
         [MemberData(nameof(Compare_TestData))]
-        public static void CompareTest(string aS1, string aS2, string aCultureName, bool aIgnoreCase, int aExpected)
+        public static void CompareTest(string s1, string s2, string cultureName, bool ignoreCase, int expected)
         {
-            const string nullPlaceholder = "<null>";
-            RemoteExecutorForUap.Invoke((string s1, string s2, string cultureName, string bIgnoreCase, string iExpected) => {
-                if (s1 == nullPlaceholder)
-                    s1 = null;
-
-                if (s2 == nullPlaceholder)
-                    s2 = null;
-
-                if (cultureName == nullPlaceholder)
-                    cultureName = null;
-
-                bool ignoreCase = bool.Parse(bIgnoreCase);
-                int expected = int.Parse(iExpected);
-
-                CultureInfo ci = cultureName != null ? CultureInfo.GetCultureInfo(cultureName) : null;
-                CompareOptions ignoreCaseOption = ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
+            CultureInfo ci = cultureName != null ? CultureInfo.GetCultureInfo(cultureName) : null;
+            CompareOptions ignoreCaseOption = ignoreCase ? CompareOptions.IgnoreCase : CompareOptions.None;
 
-                Assert.Equal(expected, String.Compare(s1, s2, ignoreCase, ci));
-                Assert.Equal(expected, String.Compare(s1, 0, s2, 0, s1 == null ? 0 : s1.Length, ignoreCase, ci));
-                Assert.Equal(expected, String.Compare(s1, 0, s2, 0, s1 == null ? 0 : s1.Length, ci, ignoreCaseOption));
+            Assert.Equal(expected, String.Compare(s1, s2, ignoreCase, ci));
+            Assert.Equal(expected, String.Compare(s1, 0, s2, 0, s1 == null ? 0 : s1.Length, ignoreCase, ci));
+            Assert.Equal(expected, String.Compare(s1, 0, s2, 0, s1 == null ? 0 : s1.Length, ci, ignoreCaseOption));
 
-                Assert.Equal(expected, String.Compare(s1, s2, ci, ignoreCaseOption));
-                Assert.Equal(String.Compare(s1, s2, StringComparison.Ordinal), String.Compare(s1, s2, ci, CompareOptions.Ordinal));
-                Assert.Equal(String.Compare(s1, s2, StringComparison.OrdinalIgnoreCase), String.Compare(s1, s2, ci, CompareOptions.OrdinalIgnoreCase));
+            Assert.Equal(expected, String.Compare(s1, s2, ci, ignoreCaseOption));
+            Assert.Equal(String.Compare(s1, s2, StringComparison.Ordinal), String.Compare(s1, s2, ci, CompareOptions.Ordinal));
+            Assert.Equal(String.Compare(s1, s2, StringComparison.OrdinalIgnoreCase), String.Compare(s1, s2, ci, CompareOptions.OrdinalIgnoreCase));
 
-                if (ci != null)
+            if (ci != null)
+            {
+                using (new ThreadCultureChange(ci))
                 {
-                    using (new ThreadCultureChange(ci))
-                    {
-                        Assert.Equal(expected, String.Compare(s1, 0, s2, 0, s1 == null ? 0 : s1.Length, ignoreCase));
-                    }
+                    Assert.Equal(expected, String.Compare(s1, 0, s2, 0, s1 == null ? 0 : s1.Length, ignoreCase));
                 }
-
-                return RemoteExecutor.SuccessExitCode;
-            }, aS1 ?? nullPlaceholder, aS2 ?? nullPlaceholder, aCultureName ?? nullPlaceholder, aIgnoreCase.ToString(), aExpected.ToString()).Dispose();
+            }
         }
 
         [Theory]
@@ -6985,145 +6909,139 @@ namespace System.Tests
         [Fact]
         public static void StartsWithMatchNonOrdinal_StringComparison()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                string s1 = "abcd";
-                string s2 = "aBc";
-                Assert.False(s1.StartsWith(s2, StringComparison.Ordinal));
-                Assert.True(s1.StartsWith(s2, StringComparison.OrdinalIgnoreCase));
-
-                ReadOnlySpan<char> span = s1.AsSpan();
-                ReadOnlySpan<char> value = s2.AsSpan();
-                Assert.False(span.StartsWith(value, StringComparison.Ordinal));
-                Assert.True(span.StartsWith(value, StringComparison.OrdinalIgnoreCase));
-
-                using (new ThreadCultureChange("el-GR"))
-                {
-                    s1 = "\u03b1\u03b2\u03b3\u03b4";  // \u03B1\u03B2\u03B3\u03B4
-                    s2 = "\u03b1\u03b2\u03b3"; // \u03B1\u03B2\u03B3
-
-                    Assert.True(s1.StartsWith(s2, StringComparison.CurrentCulture));
-                    Assert.True(s1.StartsWith(s2, StringComparison.CurrentCultureIgnoreCase));
+            string s1 = "abcd";
+            string s2 = "aBc";
+            Assert.False(s1.StartsWith(s2, StringComparison.Ordinal));
+            Assert.True(s1.StartsWith(s2, StringComparison.OrdinalIgnoreCase));
 
-                    span = s1.AsSpan();
-                    value = s2.AsSpan();
+            ReadOnlySpan<char> span = s1.AsSpan();
+            ReadOnlySpan<char> value = s2.AsSpan();
+            Assert.False(span.StartsWith(value, StringComparison.Ordinal));
+            Assert.True(span.StartsWith(value, StringComparison.OrdinalIgnoreCase));
 
-                    Assert.True(span.StartsWith(value, StringComparison.CurrentCulture));
-                    Assert.True(span.StartsWith(value, StringComparison.CurrentCultureIgnoreCase));
+            using (new ThreadCultureChange("el-GR"))
+            {
+                s1 = "\u03b1\u03b2\u03b3\u03b4";  // \u03B1\u03B2\u03B3\u03B4
+                s2 = "\u03b1\u03b2\u03b3"; // \u03B1\u03B2\u03B3
 
-                    s2 = "\u03b1\u0392\u03b3"; // \u03B1\u0392\u03B3
-                    Assert.False(s1.StartsWith(s2, StringComparison.CurrentCulture));
-                    Assert.True(s1.StartsWith(s2, StringComparison.CurrentCultureIgnoreCase));
+                Assert.True(s1.StartsWith(s2, StringComparison.CurrentCulture));
+                Assert.True(s1.StartsWith(s2, StringComparison.CurrentCultureIgnoreCase));
 
-                    value = s2.AsSpan();
-                    Assert.False(span.StartsWith(value, StringComparison.CurrentCulture));
-                    Assert.True(span.StartsWith(value, StringComparison.CurrentCultureIgnoreCase));
-                }
+                span = s1.AsSpan();
+                value = s2.AsSpan();
 
-                s1 = "\u0069\u00df\u0049\u03b4"; // i\u00DFI\u03B4
-                s2 = "\u0069\u0073\u0073\u0049"; // issI
+                Assert.True(span.StartsWith(value, StringComparison.CurrentCulture));
+                Assert.True(span.StartsWith(value, StringComparison.CurrentCultureIgnoreCase));
 
-                Assert.False(s1.StartsWith(s2, StringComparison.Ordinal));
-                // Different behavior depending on OS - True on Windows, False on Unix
-                Assert.Equal(
-                    s1.ToString().StartsWith(s2.ToString(), StringComparison.InvariantCulture),
-                    s1.StartsWith(s2, StringComparison.InvariantCulture));
-                Assert.Equal(
-                    s1.ToString().StartsWith(s2.ToString(), StringComparison.InvariantCultureIgnoreCase),
-                    s1.StartsWith(s2, StringComparison.InvariantCultureIgnoreCase));
+                s2 = "\u03b1\u0392\u03b3"; // \u03B1\u0392\u03B3
+                Assert.False(s1.StartsWith(s2, StringComparison.CurrentCulture));
+                Assert.True(s1.StartsWith(s2, StringComparison.CurrentCultureIgnoreCase));
 
-                span = s1.AsSpan();
                 value = s2.AsSpan();
+                Assert.False(span.StartsWith(value, StringComparison.CurrentCulture));
+                Assert.True(span.StartsWith(value, StringComparison.CurrentCultureIgnoreCase));
+            }
 
-                Assert.False(span.StartsWith(value, StringComparison.Ordinal));
-                // Different behavior depending on OS - True on Windows, False on Unix
-                Assert.Equal(
-                    span.ToString().StartsWith(value.ToString(), StringComparison.InvariantCulture),
-                    span.StartsWith(value, StringComparison.InvariantCulture));
-                Assert.Equal(
-                    span.ToString().StartsWith(value.ToString(), StringComparison.InvariantCultureIgnoreCase),
-                    span.StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
-
-                s2 = "\u0049\u0073\u0073\u0049"; // IssI
-                Assert.False(s1.StartsWith(s2, StringComparison.OrdinalIgnoreCase));
-                Assert.False(s1.StartsWith(s2, StringComparison.InvariantCulture));
-                // Different behavior depending on OS - True on Windows, False on Unix
-                Assert.Equal(
-                    s1.ToString().StartsWith(s2.ToString(), StringComparison.InvariantCultureIgnoreCase),
-                    s1.StartsWith(s2, StringComparison.InvariantCultureIgnoreCase));
+            s1 = "\u0069\u00df\u0049\u03b4"; // i\u00DFI\u03B4
+            s2 = "\u0069\u0073\u0073\u0049"; // issI
 
-                value = s2.AsSpan();
-                Assert.False(span.StartsWith(value, StringComparison.OrdinalIgnoreCase));
-                Assert.False(span.StartsWith(value, StringComparison.InvariantCulture));
-                // Different behavior depending on OS - True on Windows, False on Unix
-                Assert.Equal(
-                    span.ToString().StartsWith(value.ToString(), StringComparison.InvariantCultureIgnoreCase),
-                    span.StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
-            }).Dispose();
+            Assert.False(s1.StartsWith(s2, StringComparison.Ordinal));
+            // Different behavior depending on OS - True on Windows, False on Unix
+            Assert.Equal(
+                s1.ToString().StartsWith(s2.ToString(), StringComparison.InvariantCulture),
+                s1.StartsWith(s2, StringComparison.InvariantCulture));
+            Assert.Equal(
+                s1.ToString().StartsWith(s2.ToString(), StringComparison.InvariantCultureIgnoreCase),
+                s1.StartsWith(s2, StringComparison.InvariantCultureIgnoreCase));
+
+            span = s1.AsSpan();
+            value = s2.AsSpan();
+
+            Assert.False(span.StartsWith(value, StringComparison.Ordinal));
+            // Different behavior depending on OS - True on Windows, False on Unix
+            Assert.Equal(
+                span.ToString().StartsWith(value.ToString(), StringComparison.InvariantCulture),
+                span.StartsWith(value, StringComparison.InvariantCulture));
+            Assert.Equal(
+                span.ToString().StartsWith(value.ToString(), StringComparison.InvariantCultureIgnoreCase),
+                span.StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
+
+            s2 = "\u0049\u0073\u0073\u0049"; // IssI
+            Assert.False(s1.StartsWith(s2, StringComparison.OrdinalIgnoreCase));
+            Assert.False(s1.StartsWith(s2, StringComparison.InvariantCulture));
+            // Different behavior depending on OS - True on Windows, False on Unix
+            Assert.Equal(
+                s1.ToString().StartsWith(s2.ToString(), StringComparison.InvariantCultureIgnoreCase),
+                s1.StartsWith(s2, StringComparison.InvariantCultureIgnoreCase));
+
+            value = s2.AsSpan();
+            Assert.False(span.StartsWith(value, StringComparison.OrdinalIgnoreCase));
+            Assert.False(span.StartsWith(value, StringComparison.InvariantCulture));
+            // Different behavior depending on OS - True on Windows, False on Unix
+            Assert.Equal(
+                span.ToString().StartsWith(value.ToString(), StringComparison.InvariantCultureIgnoreCase),
+                span.StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
         }
 
         [Fact]
         public static void StartsWithNoMatchNonOrdinal_StringComparison()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                string s1 = "abcd";
-                string s2 = "aDc";
-                Assert.False(s1.StartsWith(s2, StringComparison.Ordinal));
-                Assert.False(s1.StartsWith(s2, StringComparison.OrdinalIgnoreCase));
+            string s1 = "abcd";
+            string s2 = "aDc";
+            Assert.False(s1.StartsWith(s2, StringComparison.Ordinal));
+            Assert.False(s1.StartsWith(s2, StringComparison.OrdinalIgnoreCase));
 
-                ReadOnlySpan<char> span = s1.AsSpan();
-                ReadOnlySpan<char> value = s2.AsSpan();
-                Assert.False(span.StartsWith(value, StringComparison.Ordinal));
-                Assert.False(span.StartsWith(value, StringComparison.OrdinalIgnoreCase));
+            ReadOnlySpan<char> span = s1.AsSpan();
+            ReadOnlySpan<char> value = s2.AsSpan();
+            Assert.False(span.StartsWith(value, StringComparison.Ordinal));
+            Assert.False(span.StartsWith(value, StringComparison.OrdinalIgnoreCase));
 
-                using (new ThreadCultureChange("el-GR"))
-                {
-                    s1 = "\u03b1\u03b2\u03b3\u03b4"; // \u03B1\u03B2\u03B3\u03B4
-                    s2 = "\u03b1\u03b4\u03b3"; // \u03B1\u03B4\u03B3
+            using (new ThreadCultureChange("el-GR"))
+            {
+                s1 = "\u03b1\u03b2\u03b3\u03b4"; // \u03B1\u03B2\u03B3\u03B4
+                s2 = "\u03b1\u03b4\u03b3"; // \u03B1\u03B4\u03B3
 
-                    Assert.False(s1.StartsWith(s2, StringComparison.CurrentCulture));
-                    Assert.False(s1.StartsWith(s2, StringComparison.CurrentCultureIgnoreCase));
+                Assert.False(s1.StartsWith(s2, StringComparison.CurrentCulture));
+                Assert.False(s1.StartsWith(s2, StringComparison.CurrentCultureIgnoreCase));
 
-                    span = s1.AsSpan();
-                    value = s2.AsSpan();
+                span = s1.AsSpan();
+                value = s2.AsSpan();
 
-                    Assert.False(span.StartsWith(value, StringComparison.CurrentCulture));
-                    Assert.False(span.StartsWith(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.False(span.StartsWith(value, StringComparison.CurrentCulture));
+                Assert.False(span.StartsWith(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    s2 = "\u03b1\u0394\u03b3"; // \u03B1\u0394\u03B3
-                    Assert.False(s1.StartsWith(s2, StringComparison.CurrentCulture));
-                    Assert.False(s1.StartsWith(s2, StringComparison.CurrentCultureIgnoreCase));
+                s2 = "\u03b1\u0394\u03b3"; // \u03B1\u0394\u03B3
+                Assert.False(s1.StartsWith(s2, StringComparison.CurrentCulture));
+                Assert.False(s1.StartsWith(s2, StringComparison.CurrentCultureIgnoreCase));
 
-                    value = s2.AsSpan();
-                    Assert.False(span.StartsWith(value, StringComparison.CurrentCulture));
-                    Assert.False(span.StartsWith(value, StringComparison.CurrentCultureIgnoreCase));
-                }
+                value = s2.AsSpan();
+                Assert.False(span.StartsWith(value, StringComparison.CurrentCulture));
+                Assert.False(span.StartsWith(value, StringComparison.CurrentCultureIgnoreCase));
+            }
 
-                s1 = "\u0069\u00df\u0049\u03b4"; // i\u00DFI\u03B4
-                s2 = "\u0069\u03b4\u03b4\u0049"; // i\u03B4\u03B4I
+            s1 = "\u0069\u00df\u0049\u03b4"; // i\u00DFI\u03B4
+            s2 = "\u0069\u03b4\u03b4\u0049"; // i\u03B4\u03B4I
 
-                Assert.False(s1.StartsWith(s2, StringComparison.Ordinal));
-                Assert.False(s1.StartsWith(s2, StringComparison.InvariantCulture));
-                Assert.False(s1.StartsWith(s2, StringComparison.InvariantCultureIgnoreCase));
+            Assert.False(s1.StartsWith(s2, StringComparison.Ordinal));
+            Assert.False(s1.StartsWith(s2, StringComparison.InvariantCulture));
+            Assert.False(s1.StartsWith(s2, StringComparison.InvariantCultureIgnoreCase));
 
-                span = s1.AsSpan();
-                value = s2.AsSpan();
+            span = s1.AsSpan();
+            value = s2.AsSpan();
 
-                Assert.False(span.StartsWith(value, StringComparison.Ordinal));
-                Assert.False(span.StartsWith(value, StringComparison.InvariantCulture));
-                Assert.False(span.StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
+            Assert.False(span.StartsWith(value, StringComparison.Ordinal));
+            Assert.False(span.StartsWith(value, StringComparison.InvariantCulture));
+            Assert.False(span.StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
 
-                s2 = "\u0049\u03b4\u03b4\u0049"; // I\u03B4\u03B4I
-                Assert.False(s1.StartsWith(s2, StringComparison.OrdinalIgnoreCase));
-                Assert.False(s1.StartsWith(s2, StringComparison.InvariantCulture));
-                Assert.False(s1.StartsWith(s2, StringComparison.InvariantCultureIgnoreCase));
+            s2 = "\u0049\u03b4\u03b4\u0049"; // I\u03B4\u03B4I
+            Assert.False(s1.StartsWith(s2, StringComparison.OrdinalIgnoreCase));
+            Assert.False(s1.StartsWith(s2, StringComparison.InvariantCulture));
+            Assert.False(s1.StartsWith(s2, StringComparison.InvariantCultureIgnoreCase));
 
-                value = s2.AsSpan();
-                Assert.False(span.StartsWith(value, StringComparison.OrdinalIgnoreCase));
-                Assert.False(span.StartsWith(value, StringComparison.InvariantCulture));
-                Assert.False(span.StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
-            }).Dispose();
+            value = s2.AsSpan();
+            Assert.False(span.StartsWith(value, StringComparison.OrdinalIgnoreCase));
+            Assert.False(span.StartsWith(value, StringComparison.InvariantCulture));
+            Assert.False(span.StartsWith(value, StringComparison.InvariantCultureIgnoreCase));
         }
 
         // NOTE: This is by design. Unix ignores the null characters (i.e. null characters have no weights for the string comparison).
index a602041..feea0a5 100644 (file)
@@ -10,6 +10,7 @@
     <GenerateResourceUsePreserializedResources>false</GenerateResourceUsePreserializedResources>
 
     <CodeAnalysisRuleset>$(MSBuildThisFileDirectory)Common\src\CoreLib\CodeAnalysis.ruleset</CodeAnalysisRuleset>
+    <EnablePinvokeUWPAnalyzer>false</EnablePinvokeUWPAnalyzer>
   </PropertyGroup>
 
   <ItemGroup Condition="'$(IsTestProject)' == 'true' AND '$(IsTestSupportProject)' != 'true'">
index 9162773..a37afe1 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.4.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index ca41626..7538cfb 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index b88f368..ee89be8 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
     <!-- 
     We wish to test operations that would result in
     "Operator '-' cannot be applied to operands of type 'ushort' and 'EnumArithmeticTests.UInt16Enum'"
index 2bf586c..f86fdad 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.0.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>false</IsNETCoreApp>
-    <IsUAP>false</IsUAP>
   </PropertyGroup>
 </Project>
index 0e43443..8805a8c 100644 (file)
@@ -6,6 +6,5 @@
     <AssemblyVersion>10.0.4.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index eabdad9..98e3b3e 100644 (file)
@@ -30,10 +30,6 @@ Global
                {325260D6-D5DD-4E06-9DA2-9AF2AD9DE8C8}.Debug|Any CPU.Build.0 = netcoreapp-Debug|Any CPU
                {325260D6-D5DD-4E06-9DA2-9AF2AD9DE8C8}.Release|Any CPU.ActiveCfg = netcoreapp-Release|Any CPU
                {325260D6-D5DD-4E06-9DA2-9AF2AD9DE8C8}.Release|Any CPU.Build.0 = netcoreapp-Release|Any CPU
-               {A32671B6-5470-4F9C-9CD8-4094B9AB0799}.Debug|Any CPU.ActiveCfg = uap-Windows_NT-Debug|Any CPU
-               {A32671B6-5470-4F9C-9CD8-4094B9AB0799}.Debug|Any CPU.Build.0 = uap-Windows_NT-Debug|Any CPU
-               {A32671B6-5470-4F9C-9CD8-4094B9AB0799}.Release|Any CPU.ActiveCfg = uap-Windows_NT-Release|Any CPU
-               {A32671B6-5470-4F9C-9CD8-4094B9AB0799}.Release|Any CPU.Build.0 = uap-Windows_NT-Release|Any CPU
                {82A4357C-0A9F-4970-AAEA-216A73D8A73E}.Debug|Any CPU.ActiveCfg = netcoreapp-Debug|Any CPU
                {82A4357C-0A9F-4970-AAEA-216A73D8A73E}.Debug|Any CPU.Build.0 = netcoreapp-Debug|Any CPU
                {82A4357C-0A9F-4970-AAEA-216A73D8A73E}.Release|Any CPU.ActiveCfg = netcoreapp-Release|Any CPU
index 2b2323d..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index fca2cab..211897c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Microsoft.VisualBasic.Core.cs" />
index cba16a4..ba5e0f7 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 96609c1..4e3d234 100644 (file)
@@ -11,7 +11,6 @@
     <WarningsNotAsErrors>42025</WarningsNotAsErrors>
     <DefineConstants>$(DefineConstants),LATEBINDING=True</DefineConstants>
     <DefineConstants Condition="'$(TargetsWindows)' == 'true'">$(DefineConstants),PLATFORM_WINDOWS=True</DefineConstants>
-    <DefineConstants Condition="'$(TargetGroup)' == 'uap'">$(DefineConstants),PLATFORM_UAP=True</DefineConstants>
     <NoWarn Condition="'$(TargetsWindows)' != 'true'">$(NoWarn);CA1823</NoWarn> <!-- Avoid unused fields warnings in Unix build -->
     <AssemblyName>Microsoft.VisualBasic.Core</AssemblyName>
     <NoStdLib>true</NoStdLib>
@@ -19,7 +18,7 @@
     <RootNamespace />
     <!-- Disable this as it seems to break windows builds for now. -->
     <DocumentationFile />
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="Microsoft\VisualBasic\Helpers\NativeMethods.vb" />
@@ -97,7 +96,7 @@
   </ItemGroup>
   <ItemGroup>
     <Reference Include="Microsoft.Win32.Primitives" />
-    <Reference Condition="'$(TargetGroup)' != 'uap'" Include="Microsoft.Win32.Registry" />
+    <Reference Include="Microsoft.Win32.Registry" />
     <Reference Include="System.Collections" />
     <Reference Include="System.Collections.NonGeneric" />
     <Reference Include="System.Collections.Specialized" />
index eb4be72..e4dd3f5 100644 (file)
@@ -6,10 +6,7 @@ Imports System
 Imports System.Reflection
 Imports System.Text
 Imports System.Runtime.InteropServices
-
-#If Not PLATFORM_UAP Then
 Imports Microsoft.Win32
-#End If
 
 Imports Microsoft.VisualBasic.CompilerServices
 Imports Microsoft.VisualBasic.CompilerServices.ExceptionUtils
@@ -320,9 +317,6 @@ Namespace Microsoft.VisualBasic
         '============================================================================
 
         Public Sub DeleteSetting(ByVal AppName As String, Optional ByVal Section As String = Nothing, Optional ByVal Key As String = Nothing)
-#If PLATFORM_UAP Then
-            Throw New PlatformNotSupportedException()
-#Else
             Dim AppSection As String
             Dim UserKey As RegistryKey
             Dim AppSectionKey As RegistryKey = Nothing
@@ -351,13 +345,9 @@ Namespace Microsoft.VisualBasic
                     AppSectionKey.Close()
                 End If
             End Try
-#End If
         End Sub
 
         Public Function GetAllSettings(ByVal AppName As String, ByVal Section As String) As String(,)
-#If PLATFORM_UAP Then
-            Throw New PlatformNotSupportedException()
-#Else
             Dim rk As RegistryKey
             Dim sAppSect As String
             Dim i As Integer
@@ -415,13 +405,9 @@ Namespace Microsoft.VisualBasic
             Finally
                 rk.Close()
             End Try
-#End If
         End Function
 
         Public Function GetSetting(ByVal AppName As String, ByVal Section As String, ByVal Key As String, Optional ByVal [Default] As String = "") As String
-#If PLATFORM_UAP Then
-            Throw New PlatformNotSupportedException()
-#Else
             Dim rk As RegistryKey = Nothing
             Dim sAppSect As String
             Dim o As Object
@@ -458,13 +444,9 @@ Namespace Microsoft.VisualBasic
             Else
                 Throw New ArgumentException(GetResourceString(SR.Argument_InvalidValue))
             End If
-#End If
         End Function
 
         Public Sub SaveSetting(ByVal AppName As String, ByVal Section As String, ByVal Key As String, ByVal Setting As String)
-#If PLATFORM_UAP Then
-            Throw New PlatformNotSupportedException()
-#Else
             Dim rk As RegistryKey
             Dim sIniSect As String
 
@@ -488,7 +470,6 @@ Namespace Microsoft.VisualBasic
             Finally
                 rk.Close()
             End Try
-#End If
         End Sub
 
         '============================================================================
index 0ea07aa..1a037ad 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
       netfx;
     </BuildConfigurations>
   </PropertyGroup>
index 15fa379..b94b9d5 100644 (file)
@@ -140,7 +140,7 @@ namespace Microsoft.VisualBasic.Tests
         [Fact]
         public void DeleteSetting()
         {
-            if (!PlatformDetection.IsUap)
+            if (!PlatformDetection.IsInAppContainer)
             {
                 Assert.Throws<ArgumentException>(() => Interaction.DeleteSetting(AppName: "", Section: null, Key: null));
             }
@@ -209,7 +209,7 @@ namespace Microsoft.VisualBasic.Tests
         [Fact]
         public void GetAllSettings()
         {
-            if (!PlatformDetection.IsUap)
+            if (!PlatformDetection.IsInAppContainer)
             {
                 Assert.Throws<ArgumentException>(() => Interaction.GetAllSettings(AppName: "", Section: ""));
             }
@@ -223,7 +223,7 @@ namespace Microsoft.VisualBasic.Tests
         [Fact]
         public void GetSetting()
         {
-            if (!PlatformDetection.IsUap)
+            if (!PlatformDetection.IsInAppContainer)
             {
                 Assert.Throws<ArgumentException>(() => Interaction.GetSetting(AppName: "", Section: "", Key: "", Default: ""));
             }
@@ -305,7 +305,7 @@ namespace Microsoft.VisualBasic.Tests
         [Fact]
         public void SaveSetting()
         {
-            if (!PlatformDetection.IsUap)
+            if (!PlatformDetection.IsInAppContainer)
             {
                 Assert.Throws<ArgumentException>(() => Interaction.SaveSetting(AppName: "", Section: "", Key: "", Setting: ""));
 
index 1a21b19..ad74aaf 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AssemblyAttributes.cs" />
index 69bac57..df7b7f4 100644 (file)
@@ -81,14 +81,11 @@ namespace Microsoft.VisualBasic.Tests
         [InlineData(256)]
         public void Chr_CharCodeOutOfRange_ThrowsNotSupportedException(int charCode)
         {
-            RemoteExecutorForUap.Invoke(charCodeInner =>
+            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
+            using (new ThreadCultureChange("en-US")) // Strings.Chr doesn't fail on these inputs for all code pages, e.g. 949
             {
-                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
-                using (new ThreadCultureChange("en-US")) // Strings.Chr doesn't fail on these inputs for all code pages, e.g. 949
-                {
-                    AssertExtensions.Throws<ArgumentException>(null, () => Strings.Chr(int.Parse(charCodeInner, CultureInfo.InvariantCulture)));
-                }
-            }, charCode.ToString(CultureInfo.InvariantCulture)).Dispose();
+                AssertExtensions.Throws<ArgumentException>(null, () => Strings.Chr(charCode));
+            }
         }
 
         [Theory]
@@ -124,18 +121,12 @@ namespace Microsoft.VisualBasic.Tests
         [InlineData(255, 255)]
         public void Asc_Chr_Invariant(int charCode, int expected)
         {
-            RemoteExecutorForUap.Invoke((charCodeString, expectedString) =>
+            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                int charCode = int.Parse(charCodeString);
-                int expected = int.Parse(expectedString);
-
-                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    Assert.Equal(1252, CultureInfo.CurrentCulture.TextInfo.ANSICodePage);
-                    Assert.Equal(expected, Strings.Asc(Strings.Chr(charCode)));
-                }
-            }, charCode.ToString(), expected.ToString()).Dispose();
+                Assert.Equal(1252, CultureInfo.CurrentCulture.TextInfo.ANSICodePage);
+                Assert.Equal(expected, Strings.Asc(Strings.Chr(charCode)));
+            }
         }
 
         [ActiveIssue(39888, TargetFrameworkMonikers.NetFramework)]
@@ -150,18 +141,12 @@ namespace Microsoft.VisualBasic.Tests
         [InlineData(0xFFFF, 0xFF)]
         public void Asc_Chr_DoubleByte(int charCode, int expected)
         {
-            RemoteExecutorForUap.Invoke((charCodeString, expectedString) =>
+            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
+            using (new ThreadCultureChange("ko-KR"))
             {
-                int charCode = int.Parse(charCodeString);
-                int expected = int.Parse(expectedString);
-
-                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
-                using (new ThreadCultureChange("ko-KR"))
-                {
-                    Assert.Equal(949, CultureInfo.CurrentCulture.TextInfo.ANSICodePage);
-                    Assert.Equal(expected, (ushort)Strings.Asc(Strings.Chr(charCode)));
-                }
-            }, charCode.ToString(), expected.ToString()).Dispose();
+                Assert.Equal(949, CultureInfo.CurrentCulture.TextInfo.ANSICodePage);
+                Assert.Equal(expected, (ushort)Strings.Asc(Strings.Chr(charCode)));
+            }
         }
 
         [Theory]
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 7e06c07..d695ab0 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6adb8eb..d586274 100644 (file)
@@ -1,12 +1,9 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <RootNamespace>Microsoft.Win32.Primitives</RootNamespace>
-    <AssemblyName>Microsoft.Win32.Primitives</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
-  <!-- Help VS understand available configurations -->
   <ItemGroup>
     <Compile Include="System\ComponentModel\Win32Exception.cs" />
   </ItemGroup>
@@ -19,7 +16,7 @@
     </Compile>
     <Compile Include="System\ComponentModel\Win32Exception.Windows.cs" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetsUnix)' == 'true' And '$(TargetGroup)' == 'netcoreapp' ">
+  <ItemGroup Condition=" '$(TargetsUnix)' == 'true'">
     <Compile Include="System\ComponentModel\Win32Exception.Unix.cs" />
     <Compile Include="$(CommonPath)\Interop\Unix\Interop.Libraries.cs">
       <Link>Common\Interop\Unix\Interop.Libraries.cs</Link>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 24876ec..e2b8924 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Win32ExceptionTests.cs" />
index 2366b8f..b0813c6 100644 (file)
@@ -1,18 +1,11 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <RootNamespace>Microsoft.Win32.Registry</RootNamespace>
-    <AssemblyName>Microsoft.Win32.Registry</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
     <DefineConstants>$(DefineConstants);REGISTRY_ASSEMBLY</DefineConstants>
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(OSGroup)' == 'AnyOS' AND '$(TargetGroup)' == 'netstandard'">SR.PlatformNotSupported_Registry</GeneratePlatformNotSupportedAssemblyMessage>
     <NoWarn Condition="'$(TargetsUnix)' == 'true'">$(NoWarn);CA1823</NoWarn> <!-- Avoid unused fields warnings in Unix build -->
-    <!-- 
-        Temporarily necessary as this is only being built for UWP due to an unwanted dependency on it 
-        https://github.com/dotnet/corefx/issues/15966
-      -->
-    <EnablePinvokeUWPAnalyzer>false</EnablePinvokeUWPAnalyzer>
     <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard-Unix-Debug;netstandard-Unix-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetFx)' != 'true' AND '$(OSGroup)' != 'AnyOS'">
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index fcc84f6..c1844bd 100644 (file)
@@ -1,9 +1,9 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <DefineConstants>$(DefineConstants);XMLSERIALIZERGENERATORTESTS</DefineConstants>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <CoverageSupported>false</CoverageSupported>
-    <SkipTestsOnPlatform Condition="'$(TargetsUap)' == 'true' OR '$(ArchGroup)' == 'arm' OR '$(ArchGroup)' == 'arm64' OR '$(ArchGroup)' == 'armel'">true</SkipTestsOnPlatform>
+    <SkipTestsOnPlatform Condition="'$(ArchGroup)' == 'arm' OR '$(ArchGroup)' == 'arm64' OR '$(ArchGroup)' == 'armel'">true</SkipTestsOnPlatform>
   </PropertyGroup>
   <PropertyGroup>
     <!-- Reuse the same runtimeconfig used by MSBuild. -->
index 70958ef..bf37ff4 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
       netstandard;
       netfx;
     </BuildConfigurations>
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e253cbf..8e05a9f 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.AppContext.Forwards.cs" />
index af6c544..db38925 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index aa9946a..333ca55 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.AppContext</AssemblyName>
     <ClsCompliant>true</ClsCompliant>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 86f4de3..6612f46 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 009e8c6..e3343ce 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.4.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index fabb861..38a2a87 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netstandard;
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index d715d3a..f7b45a1 100644 (file)
@@ -3,13 +3,13 @@
     <!-- Must match version supported by frameworks which support 4.0.* inbox.
          Can be removed when API is added and this assembly is versioned to 4.1.* -->
     <AssemblyVersion>4.0.2.0</AssemblyVersion>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Buffers.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap' OR '$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index af6c544..db38925 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 6c4edf7..75809ec 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <ExcludeResourcesImport>true</ExcludeResourcesImport>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index de80ff3..35b61f2 100644 (file)
@@ -19,7 +19,6 @@ namespace System.Buffers.ArrayPool.Tests
         [Theory,
             InlineData(true),
             InlineData(false)]
-        [ActiveIssue(29866, TargetFrameworkMonikers.Uap)]
         public void BuffersAreCollectedWhenStale(bool trim)
         {
             RemoteInvokeWithTrimming((trimString) =>
@@ -144,7 +143,6 @@ namespace System.Buffers.ArrayPool.Tests
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))]
         [InlineData(true)]
         [InlineData(false)]
-        [ActiveIssue(29866, TargetFrameworkMonikers.Uap)]
         public void PollingEventFires(bool trim)
         {
             RemoteInvokeWithTrimming((trimString) =>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b51b9ed..07840ff 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ArrayPool\ArrayPoolTest.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 44899d5..c99173d 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\CodeDom\CodeAttributeDeclarationCollectionTests.cs" />
index f9cdf7e..5aec14a 100644 (file)
@@ -617,218 +617,215 @@ namespace System.CodeDom.Compiler.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework)]
         public void MetadataAttributes()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    var cu = new CodeCompileUnit();
-
-                    var ns = new CodeNamespace();
-                    ns.Name = "MyNamespace";
-                    ns.Imports.Add(new CodeNamespaceImport("System"));
-                    ns.Imports.Add(new CodeNamespaceImport("System.Drawing"));
-                    ns.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
-                    ns.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
-                    cu.Namespaces.Add(ns);
-
-                    var attrs = cu.AssemblyCustomAttributes;
-                    attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyTitle", new CodeAttributeArgument(new CodePrimitiveExpression("MyAssembly"))));
-                    attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyVersion", new CodeAttributeArgument(new CodePrimitiveExpression("1.0.6.2"))));
-                    attrs.Add(new CodeAttributeDeclaration("System.CLSCompliantAttribute", new CodeAttributeArgument(new CodePrimitiveExpression(false))));
-
-                    var class1 = new CodeTypeDeclaration() { Name = "MyClass" };
-                    class1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Serializable"));
-                    class1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Class"))));
-                    ns.Types.Add(class1);
-
-                    var nestedClass = new CodeTypeDeclaration("NestedClass") { IsClass = true, TypeAttributes = TypeAttributes.NestedPublic };
-                    nestedClass.CustomAttributes.Add(new CodeAttributeDeclaration("System.Serializable"));
-                    class1.Members.Add(nestedClass);
-
-                    var method1 = new CodeMemberMethod() { Name = "MyMethod" };
-                    method1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Method"))));
-                    method1.CustomAttributes.Add(new CodeAttributeDeclaration("System.ComponentModel.Editor", new CodeAttributeArgument(new CodePrimitiveExpression("This")), new CodeAttributeArgument(new CodePrimitiveExpression("That"))));
-                    var param1 = new CodeParameterDeclarationExpression(typeof(string), "blah");
-                    param1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute",
-                                    new CodeAttributeArgument("Form", new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
-                                    new CodeAttributeArgument("IsNullable", new CodePrimitiveExpression(false))));
-                    method1.Parameters.Add(param1);
-                    var param2 = new CodeParameterDeclarationExpression(typeof(int[]), "arrayit");
-                    param2.CustomAttributes.Add(
-                                new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute",
-                                    new CodeAttributeArgument("Form", new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
-                                    new CodeAttributeArgument("IsNullable", new CodePrimitiveExpression(false))));
-                    method1.Parameters.Add(param2);
-                    class1.Members.Add(method1);
-
-                    var function1 = new CodeMemberMethod();
-                    function1.Name = "MyFunction";
-                    function1.ReturnType = new CodeTypeReference(typeof(string));
-                    function1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Function"))));
-                    function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlIgnoreAttribute"));
-                    function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlRootAttribute", new
-                        CodeAttributeArgument("Namespace", new CodePrimitiveExpression("Namespace Value")), new
-                        CodeAttributeArgument("ElementName", new CodePrimitiveExpression("Root, hehehe"))));
-                    function1.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression("Return")));
-                    class1.Members.Add(function1);
-
-                    CodeMemberMethod function2 = new CodeMemberMethod();
-                    function2.Name = "GlobalKeywordFunction";
-                    function2.CustomAttributes.Add(new CodeAttributeDeclaration(new CodeTypeReference(typeof(ObsoleteAttribute), CodeTypeReferenceOptions.GlobalReference), new
-                        CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Function"))));
-                    CodeTypeReference typeRef = new CodeTypeReference("System.Xml.Serialization.XmlIgnoreAttribute", CodeTypeReferenceOptions.GlobalReference);
-                    CodeAttributeDeclaration codeAttrib = new CodeAttributeDeclaration(typeRef);
-                    function2.ReturnTypeCustomAttributes.Add(codeAttrib);
-                    class1.Members.Add(function2);
-
-                    CodeMemberField field1 = new CodeMemberField();
-                    field1.Name = "myField";
-                    field1.Type = new CodeTypeReference(typeof(string));
-                    field1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute"));
-                    field1.InitExpression = new CodePrimitiveExpression("hi!");
-                    class1.Members.Add(field1);
-
-                    CodeMemberProperty prop1 = new CodeMemberProperty();
-                    prop1.Name = "MyProperty";
-                    prop1.Type = new CodeTypeReference(typeof(string));
-                    prop1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Property"))));
-                    prop1.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "myField")));
-                    class1.Members.Add(prop1);
-
-                    CodeConstructor const1 = new CodeConstructor();
-                    const1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Constructor"))));
-                    class1.Members.Add(const1);
-
-                    class1 = new CodeTypeDeclaration("Test");
-                    class1.IsClass = true;
-                    class1.BaseTypes.Add(new CodeTypeReference("Form"));
-                    ns.Types.Add(class1);
-
-                    CodeMemberField mfield = new CodeMemberField(new CodeTypeReference("Button"), "b");
-                    mfield.InitExpression = new CodeObjectCreateExpression(new CodeTypeReference("Button"));
-                    class1.Members.Add(mfield);
-
-                    CodeConstructor ctor = new CodeConstructor();
-                    ctor.Attributes = MemberAttributes.Public;
-                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
-                                        "Size"), new CodeObjectCreateExpression(new CodeTypeReference("Size"),
-                                        new CodePrimitiveExpression(600), new CodePrimitiveExpression(600))));
-                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                                        "Text"), new CodePrimitiveExpression("Test")));
-                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                                        "TabIndex"), new CodePrimitiveExpression(0)));
-                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                                        "Location"), new CodeObjectCreateExpression(new CodeTypeReference("Point"),
-                                        new CodePrimitiveExpression(400), new CodePrimitiveExpression(525))));
-                    ctor.Statements.Add(new CodeAttachEventStatement(new CodeEventReferenceExpression(new
-                        CodeThisReferenceExpression(), "MyEvent"), new CodeDelegateCreateExpression(new CodeTypeReference("EventHandler")
-                        , new CodeThisReferenceExpression(), "b_Click")));
-                    class1.Members.Add(ctor);
-
-                    CodeMemberEvent evt = new CodeMemberEvent();
-                    evt.Name = "MyEvent";
-                    evt.Type = new CodeTypeReference("System.EventHandler");
-                    evt.Attributes = MemberAttributes.Public;
-                    evt.CustomAttributes.Add(new CodeAttributeDeclaration("System.CLSCompliantAttribute", new CodeAttributeArgument(new CodePrimitiveExpression(false))));
-                    class1.Members.Add(evt);
-
-                    var cmm = new CodeMemberMethod();
-                    cmm.Name = "b_Click";
-                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(object), "sender"));
-                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(EventArgs), "e"));
-                    class1.Members.Add(cmm);
-
-                    AssertEqual(cu,
-                        @"//------------------------------------------------------------------------------
-                      // <auto-generated>
-                      //     This code was generated by a tool.
-                      //
-                      //     Changes to this file may cause incorrect behavior and will be lost if
-                      //     the code is regenerated.
-                      // </auto-generated>
-                      //------------------------------------------------------------------------------
-
-                      [assembly: System.Reflection.AssemblyTitle(""MyAssembly"")]
-                      [assembly: System.Reflection.AssemblyVersion(""1.0.6.2"")]
-                      [assembly: System.CLSCompliantAttribute(false)]
-
-                      namespace MyNamespace
-                      {
-                          using System;
-                          using System.Drawing;
-                          using System.Windows.Forms;
-                          using System.ComponentModel;
-
-                          [System.Serializable()]
-                          [System.Obsolete(""Don\'t use this Class"")]
-                          public class MyClass
-                          {
-                              [System.Xml.Serialization.XmlElementAttribute()]
-                              private string myField = ""hi!"";
+                var cu = new CodeCompileUnit();
+
+                var ns = new CodeNamespace();
+                ns.Name = "MyNamespace";
+                ns.Imports.Add(new CodeNamespaceImport("System"));
+                ns.Imports.Add(new CodeNamespaceImport("System.Drawing"));
+                ns.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
+                ns.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
+                cu.Namespaces.Add(ns);
+
+                var attrs = cu.AssemblyCustomAttributes;
+                attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyTitle", new CodeAttributeArgument(new CodePrimitiveExpression("MyAssembly"))));
+                attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyVersion", new CodeAttributeArgument(new CodePrimitiveExpression("1.0.6.2"))));
+                attrs.Add(new CodeAttributeDeclaration("System.CLSCompliantAttribute", new CodeAttributeArgument(new CodePrimitiveExpression(false))));
+
+                var class1 = new CodeTypeDeclaration() { Name = "MyClass" };
+                class1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Serializable"));
+                class1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Class"))));
+                ns.Types.Add(class1);
+
+                var nestedClass = new CodeTypeDeclaration("NestedClass") { IsClass = true, TypeAttributes = TypeAttributes.NestedPublic };
+                nestedClass.CustomAttributes.Add(new CodeAttributeDeclaration("System.Serializable"));
+                class1.Members.Add(nestedClass);
+
+                var method1 = new CodeMemberMethod() { Name = "MyMethod" };
+                method1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Method"))));
+                method1.CustomAttributes.Add(new CodeAttributeDeclaration("System.ComponentModel.Editor", new CodeAttributeArgument(new CodePrimitiveExpression("This")), new CodeAttributeArgument(new CodePrimitiveExpression("That"))));
+                var param1 = new CodeParameterDeclarationExpression(typeof(string), "blah");
+                param1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute",
+                                new CodeAttributeArgument("Form", new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
+                                new CodeAttributeArgument("IsNullable", new CodePrimitiveExpression(false))));
+                method1.Parameters.Add(param1);
+                var param2 = new CodeParameterDeclarationExpression(typeof(int[]), "arrayit");
+                param2.CustomAttributes.Add(
+                            new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute",
+                                new CodeAttributeArgument("Form", new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
+                                new CodeAttributeArgument("IsNullable", new CodePrimitiveExpression(false))));
+                method1.Parameters.Add(param2);
+                class1.Members.Add(method1);
+
+                var function1 = new CodeMemberMethod();
+                function1.Name = "MyFunction";
+                function1.ReturnType = new CodeTypeReference(typeof(string));
+                function1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Function"))));
+                function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlIgnoreAttribute"));
+                function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlRootAttribute", new
+                    CodeAttributeArgument("Namespace", new CodePrimitiveExpression("Namespace Value")), new
+                    CodeAttributeArgument("ElementName", new CodePrimitiveExpression("Root, hehehe"))));
+                function1.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression("Return")));
+                class1.Members.Add(function1);
+
+                CodeMemberMethod function2 = new CodeMemberMethod();
+                function2.Name = "GlobalKeywordFunction";
+                function2.CustomAttributes.Add(new CodeAttributeDeclaration(new CodeTypeReference(typeof(ObsoleteAttribute), CodeTypeReferenceOptions.GlobalReference), new
+                    CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Function"))));
+                CodeTypeReference typeRef = new CodeTypeReference("System.Xml.Serialization.XmlIgnoreAttribute", CodeTypeReferenceOptions.GlobalReference);
+                CodeAttributeDeclaration codeAttrib = new CodeAttributeDeclaration(typeRef);
+                function2.ReturnTypeCustomAttributes.Add(codeAttrib);
+                class1.Members.Add(function2);
+
+                CodeMemberField field1 = new CodeMemberField();
+                field1.Name = "myField";
+                field1.Type = new CodeTypeReference(typeof(string));
+                field1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute"));
+                field1.InitExpression = new CodePrimitiveExpression("hi!");
+                class1.Members.Add(field1);
+
+                CodeMemberProperty prop1 = new CodeMemberProperty();
+                prop1.Name = "MyProperty";
+                prop1.Type = new CodeTypeReference(typeof(string));
+                prop1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Property"))));
+                prop1.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "myField")));
+                class1.Members.Add(prop1);
+
+                CodeConstructor const1 = new CodeConstructor();
+                const1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Constructor"))));
+                class1.Members.Add(const1);
+
+                class1 = new CodeTypeDeclaration("Test");
+                class1.IsClass = true;
+                class1.BaseTypes.Add(new CodeTypeReference("Form"));
+                ns.Types.Add(class1);
+
+                CodeMemberField mfield = new CodeMemberField(new CodeTypeReference("Button"), "b");
+                mfield.InitExpression = new CodeObjectCreateExpression(new CodeTypeReference("Button"));
+                class1.Members.Add(mfield);
+
+                CodeConstructor ctor = new CodeConstructor();
+                ctor.Attributes = MemberAttributes.Public;
+                ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
+                                    "Size"), new CodeObjectCreateExpression(new CodeTypeReference("Size"),
+                                    new CodePrimitiveExpression(600), new CodePrimitiveExpression(600))));
+                ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                                    "Text"), new CodePrimitiveExpression("Test")));
+                ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                                    "TabIndex"), new CodePrimitiveExpression(0)));
+                ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                                    "Location"), new CodeObjectCreateExpression(new CodeTypeReference("Point"),
+                                    new CodePrimitiveExpression(400), new CodePrimitiveExpression(525))));
+                ctor.Statements.Add(new CodeAttachEventStatement(new CodeEventReferenceExpression(new
+                    CodeThisReferenceExpression(), "MyEvent"), new CodeDelegateCreateExpression(new CodeTypeReference("EventHandler")
+                    , new CodeThisReferenceExpression(), "b_Click")));
+                class1.Members.Add(ctor);
+
+                CodeMemberEvent evt = new CodeMemberEvent();
+                evt.Name = "MyEvent";
+                evt.Type = new CodeTypeReference("System.EventHandler");
+                evt.Attributes = MemberAttributes.Public;
+                evt.CustomAttributes.Add(new CodeAttributeDeclaration("System.CLSCompliantAttribute", new CodeAttributeArgument(new CodePrimitiveExpression(false))));
+                class1.Members.Add(evt);
+
+                var cmm = new CodeMemberMethod();
+                cmm.Name = "b_Click";
+                cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(object), "sender"));
+                cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(EventArgs), "e"));
+                class1.Members.Add(cmm);
+
+                AssertEqual(cu,
+                    @"//------------------------------------------------------------------------------
+                    // <auto-generated>
+                    //     This code was generated by a tool.
+                    //
+                    //     Changes to this file may cause incorrect behavior and will be lost if
+                    //     the code is regenerated.
+                    // </auto-generated>
+                    //------------------------------------------------------------------------------
+
+                    [assembly: System.Reflection.AssemblyTitle(""MyAssembly"")]
+                    [assembly: System.Reflection.AssemblyVersion(""1.0.6.2"")]
+                    [assembly: System.CLSCompliantAttribute(false)]
+
+                    namespace MyNamespace
+                    {
+                        using System;
+                        using System.Drawing;
+                        using System.Windows.Forms;
+                        using System.ComponentModel;
+
+                        [System.Serializable()]
+                        [System.Obsolete(""Don\'t use this Class"")]
+                        public class MyClass
+                        {
+                            [System.Xml.Serialization.XmlElementAttribute()]
+                            private string myField = ""hi!"";
 
-                              [System.Obsolete(""Don\'t use this Constructor"")]
-                              private MyClass()
-                              {
-                              }
+                            [System.Obsolete(""Don\'t use this Constructor"")]
+                            private MyClass()
+                            {
+                            }
 
-                              [System.Obsolete(""Don\'t use this Property"")]
-                              private string MyProperty
-                              {
-                                  get
-                                  {
-                                      return this.myField;
-                                  }
-                              }
+                            [System.Obsolete(""Don\'t use this Property"")]
+                            private string MyProperty
+                            {
+                                get
+                                {
+                                    return this.myField;
+                                }
+                            }
 
-                              [System.Obsolete(""Don\'t use this Method"")]
-                              [System.ComponentModel.Editor(""This"", ""That"")]
-                              private void MyMethod([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] string blah, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] int[] arrayit)
-                              {
-                              }
+                            [System.Obsolete(""Don\'t use this Method"")]
+                            [System.ComponentModel.Editor(""This"", ""That"")]
+                            private void MyMethod([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] string blah, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] int[] arrayit)
+                            {
+                            }
 
-                              [System.Obsolete(""Don\'t use this Function"")]
-                              [return: System.Xml.Serialization.XmlIgnoreAttribute()]
-                              [return: System.Xml.Serialization.XmlRootAttribute(Namespace=""Namespace Value"", ElementName=""Root, hehehe"")]
-                              private string MyFunction()
-                              {
-                                  return ""Return"";
-                              }
+                            [System.Obsolete(""Don\'t use this Function"")]
+                            [return: System.Xml.Serialization.XmlIgnoreAttribute()]
+                            [return: System.Xml.Serialization.XmlRootAttribute(Namespace=""Namespace Value"", ElementName=""Root, hehehe"")]
+                            private string MyFunction()
+                            {
+                                return ""Return"";
+                            }
 
-                              [global::System.ObsoleteAttribute(""Don\'t use this Function"")]
-                              [return: global::System.Xml.Serialization.XmlIgnoreAttribute()]
-                              private void GlobalKeywordFunction()
-                              {
-                              }
+                            [global::System.ObsoleteAttribute(""Don\'t use this Function"")]
+                            [return: global::System.Xml.Serialization.XmlIgnoreAttribute()]
+                            private void GlobalKeywordFunction()
+                            {
+                            }
 
-                              [System.Serializable()]
-                              public class NestedClass
-                              {
-                              }
-                          }
+                            [System.Serializable()]
+                            public class NestedClass
+                            {
+                            }
+                        }
 
-                          public class Test : Form
-                          {
-                              private Button b = new Button();
+                        public class Test : Form
+                        {
+                            private Button b = new Button();
 
-                              public Test()
-                              {
-                                  this.Size = new Size(600, 600);
-                                  b.Text = ""Test"";
-                                  b.TabIndex = 0;
-                                  b.Location = new Point(400, 525);
-                                  this.MyEvent += new EventHandler(this.b_Click);
-                              }
+                            public Test()
+                            {
+                                this.Size = new Size(600, 600);
+                                b.Text = ""Test"";
+                                b.TabIndex = 0;
+                                b.Location = new Point(400, 525);
+                                this.MyEvent += new EventHandler(this.b_Click);
+                            }
 
-                              [System.CLSCompliantAttribute(false)]
-                              public event System.EventHandler MyEvent;
+                            [System.CLSCompliantAttribute(false)]
+                            public event System.EventHandler MyEvent;
 
-                              private void b_Click(object sender, System.EventArgs e)
-                              {
-                              }
-                          }
-                      }");
-                }
-            }).Dispose();
+                            private void b_Click(object sender, System.EventArgs e)
+                            {
+                            }
+                        }
+                    }");
+            }
         }
 
         [Fact]
@@ -1455,301 +1452,298 @@ namespace System.CodeDom.Compiler.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework)]
         public void RegionsSnippetsAndLinePragmas()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    var cu = new CodeCompileUnit();
-                    CodeNamespace ns = new CodeNamespace("Namespace1");
+                var cu = new CodeCompileUnit();
+                CodeNamespace ns = new CodeNamespace("Namespace1");
 
-                    cu.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Compile Unit Region"));
-                    cu.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                cu.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Compile Unit Region"));
+                cu.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
 
-                    cu.Namespaces.Add(ns);
+                cu.Namespaces.Add(ns);
 
-                    var cd = new CodeTypeDeclaration("Class1");
-                    ns.Types.Add(cd);
+                var cd = new CodeTypeDeclaration("Class1");
+                ns.Types.Add(cd);
 
-                    cd.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Outer Type Region"));
-                    cd.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                cd.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Outer Type Region"));
+                cd.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
 
-                    cd.Comments.Add(new CodeCommentStatement("Outer Type Comment"));
+                cd.Comments.Add(new CodeCommentStatement("Outer Type Comment"));
 
-                    CodeMemberField field1 = new CodeMemberField(typeof(String), "field1");
-                    CodeMemberField field2 = new CodeMemberField(typeof(String), "field2");
-                    field1.Comments.Add(new CodeCommentStatement("Field 1 Comment"));
-                    field2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Field Region"));
-                    field2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                CodeMemberField field1 = new CodeMemberField(typeof(String), "field1");
+                CodeMemberField field2 = new CodeMemberField(typeof(String), "field2");
+                field1.Comments.Add(new CodeCommentStatement("Field 1 Comment"));
+                field2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Field Region"));
+                field2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
 
-                    CodeMemberEvent evt1 = new CodeMemberEvent();
-                    evt1.Name = "Event1";
-                    evt1.Type = new CodeTypeReference(typeof(System.EventHandler));
-                    evt1.Attributes = (evt1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                CodeMemberEvent evt1 = new CodeMemberEvent();
+                evt1.Name = "Event1";
+                evt1.Type = new CodeTypeReference(typeof(System.EventHandler));
+                evt1.Attributes = (evt1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
 
-                    CodeMemberEvent evt2 = new CodeMemberEvent();
-                    evt2.Name = "Event2";
-                    evt2.Type = new CodeTypeReference(typeof(System.EventHandler));
-                    evt2.Attributes = (evt2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                CodeMemberEvent evt2 = new CodeMemberEvent();
+                evt2.Name = "Event2";
+                evt2.Type = new CodeTypeReference(typeof(System.EventHandler));
+                evt2.Attributes = (evt2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
 
-                    evt2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Event Region"));
-                    evt2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                evt2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Event Region"));
+                evt2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
 
-                    CodeMemberMethod method1 = new CodeMemberMethod();
-                    method1.Name = "Method1";
-                    method1.Attributes = (method1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    method1.Statements.Add(
-                        new CodeDelegateInvokeExpression(
-                            new CodeEventReferenceExpression(new CodeThisReferenceExpression(), "Event1"),
-                            new CodeExpression[] {
-                            new CodeThisReferenceExpression(),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.EventArgs"), "Empty")
-                            }));
-
-                    CodeMemberMethod method2 = new CodeMemberMethod();
-                    method2.Name = "Method2";
-                    method2.Attributes = (method2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    method2.Statements.Add(
-                        new CodeDelegateInvokeExpression(
-                            new CodeEventReferenceExpression(new CodeThisReferenceExpression(), "Event2"),
-                            new CodeExpression[] {
+                CodeMemberMethod method1 = new CodeMemberMethod();
+                method1.Name = "Method1";
+                method1.Attributes = (method1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                method1.Statements.Add(
+                    new CodeDelegateInvokeExpression(
+                        new CodeEventReferenceExpression(new CodeThisReferenceExpression(), "Event1"),
+                        new CodeExpression[] {
                         new CodeThisReferenceExpression(),
                         new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.EventArgs"), "Empty")
-                            }));
-                    method2.LinePragma = new CodeLinePragma("MethodLinePragma.txt", 500);
-                    method2.Comments.Add(new CodeCommentStatement("Method 2 Comment"));
-
-                    method2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Method Region"));
-                    method2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeMemberProperty property1 = new CodeMemberProperty();
-                    property1.Name = "Property1";
-                    property1.Type = new CodeTypeReference(typeof(string));
-                    property1.Attributes = (property1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    property1.GetStatements.Add(
-                        new CodeMethodReturnStatement(
-                            new CodeFieldReferenceExpression(
-                                new CodeThisReferenceExpression(),
-                                "field1")));
-
-                    CodeMemberProperty property2 = new CodeMemberProperty();
-                    property2.Name = "Property2";
-                    property2.Type = new CodeTypeReference(typeof(string));
-                    property2.Attributes = (property2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    property2.GetStatements.Add(
-                        new CodeMethodReturnStatement(
-                            new CodeFieldReferenceExpression(
-                                new CodeThisReferenceExpression(),
-                                "field2")));
-
-                    property2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Property Region"));
-                    property2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeConstructor constructor1 = new CodeConstructor();
-                    constructor1.Attributes = (constructor1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    CodeStatement conState1 = new CodeAssignStatement(
-                                                new CodeFieldReferenceExpression(
-                                                    new CodeThisReferenceExpression(),
-                                                    "field1"),
-                                                new CodePrimitiveExpression("value1"));
-                    conState1.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Statements Region"));
-                    constructor1.Statements.Add(conState1);
-                    CodeStatement conState2 = new CodeAssignStatement(
-                                                new CodeFieldReferenceExpression(
-                                                    new CodeThisReferenceExpression(),
-                                                    "field2"),
-                                                new CodePrimitiveExpression("value2"));
-                    conState2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-                    constructor1.Statements.Add(conState2);
-
-                    constructor1.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Constructor Region"));
-                    constructor1.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeConstructor constructor2 = new CodeConstructor();
-                    constructor2.Attributes = (constructor2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    constructor2.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "value1"));
-                    constructor2.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "value2"));
-
-                    CodeTypeConstructor typeConstructor2 = new CodeTypeConstructor();
-
-                    typeConstructor2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Type Constructor Region"));
-                    typeConstructor2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeEntryPointMethod methodMain = new CodeEntryPointMethod();
-
-                    CodeTypeDeclaration nestedClass1 = new CodeTypeDeclaration("NestedClass1");
-                    CodeTypeDeclaration nestedClass2 = new CodeTypeDeclaration("NestedClass2");
-                    nestedClass2.LinePragma = new CodeLinePragma("NestedTypeLinePragma.txt", 400);
-                    nestedClass2.Comments.Add(new CodeCommentStatement("Nested Type Comment"));
-
-                    nestedClass2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Nested Type Region"));
-                    nestedClass2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeTypeDelegate delegate1 = new CodeTypeDelegate();
-                    delegate1.Name = "nestedDelegate1";
-                    delegate1.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.Object"), "sender"));
-                    delegate1.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.EventArgs"), "e"));
-
-                    CodeTypeDelegate delegate2 = new CodeTypeDelegate();
-                    delegate2.Name = "nestedDelegate2";
-                    delegate2.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.Object"), "sender"));
-                    delegate2.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.EventArgs"), "e"));
-
-                    delegate2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Delegate Region"));
-                    delegate2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    var snippet1 = new CodeSnippetTypeMember();
-                    var snippet2 = new CodeSnippetTypeMember();
-
-                    CodeRegionDirective regionStart = new CodeRegionDirective(CodeRegionMode.End, "");
-                    regionStart.RegionText = "Snippet Region";
-                    regionStart.RegionMode = CodeRegionMode.Start;
-                    snippet2.StartDirectives.Add(regionStart);
-                    snippet2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    cd.Members.Add(field1);
-                    cd.Members.Add(method1);
-                    cd.Members.Add(constructor1);
-                    cd.Members.Add(property1);
-                    cd.Members.Add(methodMain);
-
-                    cd.Members.Add(evt1);
-                    cd.Members.Add(nestedClass1);
-                    cd.Members.Add(delegate1);
-
-                    cd.Members.Add(snippet1);
-
-                    cd.Members.Add(field2);
-                    cd.Members.Add(method2);
-                    cd.Members.Add(constructor2);
-                    cd.Members.Add(property2);
-
-                    cd.Members.Add(typeConstructor2);
-                    cd.Members.Add(evt2);
-                    cd.Members.Add(nestedClass2);
-                    cd.Members.Add(delegate2);
-                    cd.Members.Add(snippet2);
-
-                    AssertEqual(cu,
-                        @"#region Compile Unit Region
-                      //------------------------------------------------------------------------------
-                      // <auto-generated>
-                      //     This code was generated by a tool.
-                      //
-                      //     Changes to this file may cause incorrect behavior and will be lost if
-                      //     the code is regenerated.
-                      // </auto-generated>
-                      //------------------------------------------------------------------------------
-
-                      namespace Namespace1 {
-
-
-                          #region Outer Type Region
-                          // Outer Type Comment
-                          public class Class1 {
-
-                              // Field 1 Comment
-                              private string field1;
-
-                              #region Field Region
-                              private string field2;
-                              #endregion
-
-
-                              #region Snippet Region
-                      #endregion
-
+                        }));
+
+                CodeMemberMethod method2 = new CodeMemberMethod();
+                method2.Name = "Method2";
+                method2.Attributes = (method2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                method2.Statements.Add(
+                    new CodeDelegateInvokeExpression(
+                        new CodeEventReferenceExpression(new CodeThisReferenceExpression(), "Event2"),
+                        new CodeExpression[] {
+                    new CodeThisReferenceExpression(),
+                    new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.EventArgs"), "Empty")
+                        }));
+                method2.LinePragma = new CodeLinePragma("MethodLinePragma.txt", 500);
+                method2.Comments.Add(new CodeCommentStatement("Method 2 Comment"));
+
+                method2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Method Region"));
+                method2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeMemberProperty property1 = new CodeMemberProperty();
+                property1.Name = "Property1";
+                property1.Type = new CodeTypeReference(typeof(string));
+                property1.Attributes = (property1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                property1.GetStatements.Add(
+                    new CodeMethodReturnStatement(
+                        new CodeFieldReferenceExpression(
+                            new CodeThisReferenceExpression(),
+                            "field1")));
+
+                CodeMemberProperty property2 = new CodeMemberProperty();
+                property2.Name = "Property2";
+                property2.Type = new CodeTypeReference(typeof(string));
+                property2.Attributes = (property2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                property2.GetStatements.Add(
+                    new CodeMethodReturnStatement(
+                        new CodeFieldReferenceExpression(
+                            new CodeThisReferenceExpression(),
+                            "field2")));
+
+                property2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Property Region"));
+                property2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeConstructor constructor1 = new CodeConstructor();
+                constructor1.Attributes = (constructor1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                CodeStatement conState1 = new CodeAssignStatement(
+                                            new CodeFieldReferenceExpression(
+                                                new CodeThisReferenceExpression(),
+                                                "field1"),
+                                            new CodePrimitiveExpression("value1"));
+                conState1.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Statements Region"));
+                constructor1.Statements.Add(conState1);
+                CodeStatement conState2 = new CodeAssignStatement(
+                                            new CodeFieldReferenceExpression(
+                                                new CodeThisReferenceExpression(),
+                                                "field2"),
+                                            new CodePrimitiveExpression("value2"));
+                conState2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                constructor1.Statements.Add(conState2);
+
+                constructor1.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Constructor Region"));
+                constructor1.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeConstructor constructor2 = new CodeConstructor();
+                constructor2.Attributes = (constructor2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                constructor2.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "value1"));
+                constructor2.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "value2"));
+
+                CodeTypeConstructor typeConstructor2 = new CodeTypeConstructor();
+
+                typeConstructor2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Type Constructor Region"));
+                typeConstructor2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeEntryPointMethod methodMain = new CodeEntryPointMethod();
+
+                CodeTypeDeclaration nestedClass1 = new CodeTypeDeclaration("NestedClass1");
+                CodeTypeDeclaration nestedClass2 = new CodeTypeDeclaration("NestedClass2");
+                nestedClass2.LinePragma = new CodeLinePragma("NestedTypeLinePragma.txt", 400);
+                nestedClass2.Comments.Add(new CodeCommentStatement("Nested Type Comment"));
+
+                nestedClass2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Nested Type Region"));
+                nestedClass2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeTypeDelegate delegate1 = new CodeTypeDelegate();
+                delegate1.Name = "nestedDelegate1";
+                delegate1.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.Object"), "sender"));
+                delegate1.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.EventArgs"), "e"));
+
+                CodeTypeDelegate delegate2 = new CodeTypeDelegate();
+                delegate2.Name = "nestedDelegate2";
+                delegate2.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.Object"), "sender"));
+                delegate2.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.EventArgs"), "e"));
+
+                delegate2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Delegate Region"));
+                delegate2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                var snippet1 = new CodeSnippetTypeMember();
+                var snippet2 = new CodeSnippetTypeMember();
+
+                CodeRegionDirective regionStart = new CodeRegionDirective(CodeRegionMode.End, "");
+                regionStart.RegionText = "Snippet Region";
+                regionStart.RegionMode = CodeRegionMode.Start;
+                snippet2.StartDirectives.Add(regionStart);
+                snippet2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                cd.Members.Add(field1);
+                cd.Members.Add(method1);
+                cd.Members.Add(constructor1);
+                cd.Members.Add(property1);
+                cd.Members.Add(methodMain);
+
+                cd.Members.Add(evt1);
+                cd.Members.Add(nestedClass1);
+                cd.Members.Add(delegate1);
+
+                cd.Members.Add(snippet1);
+
+                cd.Members.Add(field2);
+                cd.Members.Add(method2);
+                cd.Members.Add(constructor2);
+                cd.Members.Add(property2);
+
+                cd.Members.Add(typeConstructor2);
+                cd.Members.Add(evt2);
+                cd.Members.Add(nestedClass2);
+                cd.Members.Add(delegate2);
+                cd.Members.Add(snippet2);
+
+                AssertEqual(cu,
+                    @"#region Compile Unit Region
+                    //------------------------------------------------------------------------------
+                    // <auto-generated>
+                    //     This code was generated by a tool.
+                    //
+                    //     Changes to this file may cause incorrect behavior and will be lost if
+                    //     the code is regenerated.
+                    // </auto-generated>
+                    //------------------------------------------------------------------------------
+
+                    namespace Namespace1 {
+
+
+                        #region Outer Type Region
+                        // Outer Type Comment
+                        public class Class1 {
+
+                            // Field 1 Comment
+                            private string field1;
+
+                            #region Field Region
+                            private string field2;
+                            #endregion
 
-                              #region Type Constructor Region
-                              static Class1() {
-                              }
-                              #endregion
 
-                              #region Constructor Region
-                              public Class1() {
-                                  #region Statements Region
-                                  this.field1 = ""value1"";
-                                  this.field2 = ""value2"";
+                            #region Snippet Region
                     #endregion
-                            }
-                    #endregion
-
-                            public Class1(string value1, string value2)
-                            {
-                            }
 
-                            public string Property1
-                            {
-                                get
-                                {
-                                    return this.field1;
-                                }
-                            }
 
-                            #region Property Region
-                            public string Property2
-                            {
-                                get
-                                {
-                                    return this.field2;
-                                }
+                            #region Type Constructor Region
+                            static Class1() {
                             }
                             #endregion
 
-                            public event System.EventHandler Event1;
+                            #region Constructor Region
+                            public Class1() {
+                                #region Statements Region
+                                this.field1 = ""value1"";
+                                this.field2 = ""value2"";
+                #endregion
+                        }
+                #endregion
 
-                            #region Event Region
-                            public event System.EventHandler Event2;
-                            #endregion
+                        public Class1(string value1, string value2)
+                        {
+                        }
 
-                            public void Method1()
+                        public string Property1
+                        {
+                            get
                             {
-                                this.Event1(this, System.EventArgs.Empty);
+                                return this.field1;
                             }
+                        }
 
-                            public static void Main()
+                        #region Property Region
+                        public string Property2
+                        {
+                            get
                             {
+                                return this.field2;
                             }
+                        }
+                        #endregion
 
-                            #region Method Region
-                            // Method 2 Comment
+                        public event System.EventHandler Event1;
 
-                    #line 500 ""MethodLinePragma.txt""
-                            public void Method2()
-                            {
-                                this.Event2(this, System.EventArgs.Empty);
-                            }
+                        #region Event Region
+                        public event System.EventHandler Event2;
+                        #endregion
 
-                    #line default
-                    #line hidden
-                            #endregion
+                        public void Method1()
+                        {
+                            this.Event1(this, System.EventArgs.Empty);
+                        }
 
-                            public class NestedClass1
-                            {
-                            }
+                        public static void Main()
+                        {
+                        }
 
-                            public delegate void nestedDelegate1(object sender, System.EventArgs e);
+                        #region Method Region
+                        // Method 2 Comment
 
-                            #region Nested Type Region
-                            // Nested Type Comment
+                #line 500 ""MethodLinePragma.txt""
+                        public void Method2()
+                        {
+                            this.Event2(this, System.EventArgs.Empty);
+                        }
 
-                    #line 400 ""NestedTypeLinePragma.txt""
-                            public class NestedClass2
-                            {
-                            }
+                #line default
+                #line hidden
+                        #endregion
 
-                    #line default
-                    #line hidden
-                            #endregion
+                        public class NestedClass1
+                        {
+                        }
 
-                            #region Delegate Region
-                            public delegate void nestedDelegate2(object sender, System.EventArgs e);
-                            #endregion
+                        public delegate void nestedDelegate1(object sender, System.EventArgs e);
+
+                        #region Nested Type Region
+                        // Nested Type Comment
+
+                #line 400 ""NestedTypeLinePragma.txt""
+                        public class NestedClass2
+                        {
                         }
-                    #endregion
+
+                #line default
+                #line hidden
+                        #endregion
+
+                        #region Delegate Region
+                        public delegate void nestedDelegate2(object sender, System.EventArgs e);
+                        #endregion
                     }
-                      #endregion");
+                #endregion
                 }
-            }).Dispose();
+                    #endregion");
+            }
         }
 
         [Fact]
@@ -2578,799 +2572,796 @@ namespace System.CodeDom.Compiler.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework)]
         public void ProviderSupports()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                CodeDomProvider provider = GetProvider();
+
+                var cu = new CodeCompileUnit();
+                var nspace = new CodeNamespace("NSPC");
+                nspace.Imports.Add(new CodeNamespaceImport("System"));
+                nspace.Imports.Add(new CodeNamespaceImport("System.Drawing"));
+                nspace.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
+                nspace.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
+                cu.Namespaces.Add(nspace);
+
+                var cd = new CodeTypeDeclaration("TEST");
+                cd.IsClass = true;
+                nspace.Types.Add(cd);
+
+                // Arrays of Arrays
+                var cmm = new CodeMemberMethod();
+                cmm.Name = "ArraysOfArrays";
+                cmm.ReturnType = new CodeTypeReference(typeof(int));
+                cmm.Attributes = MemberAttributes.Final | MemberAttributes.Public;
+                if (provider.Supports(GeneratorSupport.ArraysOfArrays))
                 {
-                    CodeDomProvider provider = GetProvider();
-
-                    var cu = new CodeCompileUnit();
-                    var nspace = new CodeNamespace("NSPC");
-                    nspace.Imports.Add(new CodeNamespaceImport("System"));
-                    nspace.Imports.Add(new CodeNamespaceImport("System.Drawing"));
-                    nspace.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
-                    nspace.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
-                    cu.Namespaces.Add(nspace);
-
-                    var cd = new CodeTypeDeclaration("TEST");
-                    cd.IsClass = true;
-                    nspace.Types.Add(cd);
-
-                    // Arrays of Arrays
-                    var cmm = new CodeMemberMethod();
-                    cmm.Name = "ArraysOfArrays";
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement(new CodeTypeReference(typeof(int[][])),
+                        "arrayOfArrays", new CodeArrayCreateExpression(typeof(int[][]),
+                        new CodeArrayCreateExpression(typeof(int[]), new CodePrimitiveExpression(3), new CodePrimitiveExpression(4)),
+                        new CodeArrayCreateExpression(typeof(int[]), new CodeExpression[] { new CodePrimitiveExpression(1) }))));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeArrayIndexerExpression(
+                        new CodeArrayIndexerExpression(new CodeVariableReferenceExpression("arrayOfArrays"), new CodePrimitiveExpression(0))
+                        , new CodePrimitiveExpression(1))));
+                }
+                else
+                {
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(0)));
+                }
+                cd.Members.Add(cmm);
+
+                // assembly attributes
+                if (provider.Supports(GeneratorSupport.AssemblyAttributes))
+                {
+                    CodeAttributeDeclarationCollection attrs = cu.AssemblyCustomAttributes;
+                    attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyTitle", new
+                        CodeAttributeArgument(new CodePrimitiveExpression("MyAssembly"))));
+                    attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyVersion", new
+                        CodeAttributeArgument(new CodePrimitiveExpression("1.0.6.2"))));
+                }
+
+                CodeTypeDeclaration class1 = new CodeTypeDeclaration();
+                if (provider.Supports(GeneratorSupport.ChainedConstructorArguments))
+                {
+                    class1.Name = "Test2";
+                    class1.IsClass = true;
+                    nspace.Types.Add(class1);
+
+                    class1.Members.Add(new CodeMemberField(new CodeTypeReference(typeof(String)), "stringField"));
+                    CodeMemberProperty prop = new CodeMemberProperty();
+                    prop.Name = "accessStringField";
+                    prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    prop.Type = new CodeTypeReference(typeof(String));
+                    prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
+                        "stringField")));
+                    prop.SetStatements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new
+                        CodeThisReferenceExpression(), "stringField"),
+                        new CodePropertySetValueReferenceExpression()));
+                    class1.Members.Add(prop);
+
+                    CodeConstructor cctor = new CodeConstructor();
+                    cctor.Attributes = MemberAttributes.Public;
+                    cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression("testingString"));
+                    cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression(null));
+                    cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression(null));
+                    class1.Members.Add(cctor);
+
+                    CodeConstructor cc = new CodeConstructor();
+                    cc.Attributes = MemberAttributes.Public | MemberAttributes.Overloaded;
+                    cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p1"));
+                    cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p2"));
+                    cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p3"));
+                    cc.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression()
+                        , "stringField"), new CodeVariableReferenceExpression("p1")));
+                    class1.Members.Add(cc);
+                    // verify chained constructors work
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "ChainedConstructorUse";
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.ReturnType = new CodeTypeReference(typeof(String));
+                    // utilize constructor
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement("Test2", "t", new CodeObjectCreateExpression("Test2")));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodReferenceExpression(
+                        new CodeVariableReferenceExpression("t"), "accessStringField")));
+                    cd.Members.Add(cmm);
+                }
+
+                // complex expressions
+                if (provider.Supports(GeneratorSupport.ComplexExpressions))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "ComplexExpressions";
                     cmm.ReturnType = new CodeTypeReference(typeof(int));
                     cmm.Attributes = MemberAttributes.Final | MemberAttributes.Public;
-                    if (provider.Supports(GeneratorSupport.ArraysOfArrays))
-                    {
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement(new CodeTypeReference(typeof(int[][])),
-                            "arrayOfArrays", new CodeArrayCreateExpression(typeof(int[][]),
-                            new CodeArrayCreateExpression(typeof(int[]), new CodePrimitiveExpression(3), new CodePrimitiveExpression(4)),
-                            new CodeArrayCreateExpression(typeof(int[]), new CodeExpression[] { new CodePrimitiveExpression(1) }))));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeArrayIndexerExpression(
-                            new CodeArrayIndexerExpression(new CodeVariableReferenceExpression("arrayOfArrays"), new CodePrimitiveExpression(0))
-                            , new CodePrimitiveExpression(1))));
-                    }
-                    else
-                    {
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(0)));
-                    }
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference(typeof(int)), "i"));
+                    cmm.Statements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("i"),
+                        new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Multiply,
+                        new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Add,
+                        new CodePrimitiveExpression(3)))));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("i")));
                     cd.Members.Add(cmm);
+                }
 
-                    // assembly attributes
-                    if (provider.Supports(GeneratorSupport.AssemblyAttributes))
-                    {
-                        CodeAttributeDeclarationCollection attrs = cu.AssemblyCustomAttributes;
-                        attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyTitle", new
-                            CodeAttributeArgument(new CodePrimitiveExpression("MyAssembly"))));
-                        attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyVersion", new
-                            CodeAttributeArgument(new CodePrimitiveExpression("1.0.6.2"))));
-                    }
+                if (provider.Supports(GeneratorSupport.DeclareEnums))
+                {
+                    CodeTypeDeclaration ce = new CodeTypeDeclaration("DecimalEnum");
+                    ce.IsEnum = true;
+                    nspace.Types.Add(ce);
 
-                    CodeTypeDeclaration class1 = new CodeTypeDeclaration();
-                    if (provider.Supports(GeneratorSupport.ChainedConstructorArguments))
+                    // things to enumerate
+                    for (int k = 0; k < 5; k++)
                     {
-                        class1.Name = "Test2";
-                        class1.IsClass = true;
-                        nspace.Types.Add(class1);
-
-                        class1.Members.Add(new CodeMemberField(new CodeTypeReference(typeof(String)), "stringField"));
-                        CodeMemberProperty prop = new CodeMemberProperty();
-                        prop.Name = "accessStringField";
-                        prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        prop.Type = new CodeTypeReference(typeof(String));
-                        prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
-                            "stringField")));
-                        prop.SetStatements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new
-                            CodeThisReferenceExpression(), "stringField"),
-                            new CodePropertySetValueReferenceExpression()));
-                        class1.Members.Add(prop);
-
-                        CodeConstructor cctor = new CodeConstructor();
-                        cctor.Attributes = MemberAttributes.Public;
-                        cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression("testingString"));
-                        cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression(null));
-                        cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression(null));
-                        class1.Members.Add(cctor);
-
-                        CodeConstructor cc = new CodeConstructor();
-                        cc.Attributes = MemberAttributes.Public | MemberAttributes.Overloaded;
-                        cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p1"));
-                        cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p2"));
-                        cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p3"));
-                        cc.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression()
-                            , "stringField"), new CodeVariableReferenceExpression("p1")));
-                        class1.Members.Add(cc);
-                        // verify chained constructors work
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "ChainedConstructorUse";
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.ReturnType = new CodeTypeReference(typeof(String));
-                        // utilize constructor
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement("Test2", "t", new CodeObjectCreateExpression("Test2")));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodReferenceExpression(
-                            new CodeVariableReferenceExpression("t"), "accessStringField")));
-                        cd.Members.Add(cmm);
+                        CodeMemberField Field = new CodeMemberField("System.Int32", "Num" + (k).ToString());
+                        Field.InitExpression = new CodePrimitiveExpression(k);
+                        ce.Members.Add(Field);
                     }
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "OutputDecimalEnumVal";
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
+                    cmm.Parameters.Add(param);
+                    CodeBinaryOperatorExpression eq = new CodeBinaryOperatorExpression(
+                        new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.ValueEquality,
+                        new CodePrimitiveExpression(3));
+                    CodeMethodReturnStatement truestmt = new CodeMethodReturnStatement(
+                        new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num3")));
+                    CodeConditionStatement condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+
+                    eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
+                        CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(4));
+                    truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num4")));
+                    condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+                    eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
+                        CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(2));
+                    truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num2")));
+                    condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+
+                    eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
+                        CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(1));
+                    truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num1")));
+                    condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+
+                    eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
+                        CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(0));
+                    truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num0")));
+                    condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+
+                    cmm.ReturnType = new CodeTypeReference("System.int32");
+
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression(
+                        new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Add, new CodePrimitiveExpression(10))));
+                    cd.Members.Add(cmm);
+                }
 
-                    // complex expressions
-                    if (provider.Supports(GeneratorSupport.ComplexExpressions))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "ComplexExpressions";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Attributes = MemberAttributes.Final | MemberAttributes.Public;
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference(typeof(int)), "i"));
-                        cmm.Statements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("i"),
-                            new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Multiply,
-                            new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Add,
-                            new CodePrimitiveExpression(3)))));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("i")));
-                        cd.Members.Add(cmm);
-                    }
-
-                    if (provider.Supports(GeneratorSupport.DeclareEnums))
-                    {
-                        CodeTypeDeclaration ce = new CodeTypeDeclaration("DecimalEnum");
-                        ce.IsEnum = true;
-                        nspace.Types.Add(ce);
-
-                        // things to enumerate
-                        for (int k = 0; k < 5; k++)
-                        {
-                            CodeMemberField Field = new CodeMemberField("System.Int32", "Num" + (k).ToString());
-                            Field.InitExpression = new CodePrimitiveExpression(k);
-                            ce.Members.Add(Field);
-                        }
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "OutputDecimalEnumVal";
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
-                        cmm.Parameters.Add(param);
-                        CodeBinaryOperatorExpression eq = new CodeBinaryOperatorExpression(
-                            new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.ValueEquality,
-                            new CodePrimitiveExpression(3));
-                        CodeMethodReturnStatement truestmt = new CodeMethodReturnStatement(
-                            new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num3")));
-                        CodeConditionStatement condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-
-                        eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
-                            CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(4));
-                        truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num4")));
-                        condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-                        eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
-                            CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(2));
-                        truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num2")));
-                        condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-
-                        eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
-                            CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(1));
-                        truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num1")));
-                        condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-
-                        eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
-                            CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(0));
-                        truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num0")));
-                        condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-
-                        cmm.ReturnType = new CodeTypeReference("System.int32");
+                if (provider.Supports(GeneratorSupport.DeclareInterfaces))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "TestSingleInterface";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement("TestSingleInterfaceImp", "t", new CodeObjectCreateExpression("TestSingleInterfaceImp")));
+                    CodeMethodInvokeExpression methodinvoke = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("t")
+                        , "InterfaceMethod");
+                    methodinvoke.Parameters.Add(new CodeVariableReferenceExpression("i"));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(methodinvoke));
+                    cd.Members.Add(cmm);
 
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression(
-                            new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Add, new CodePrimitiveExpression(10))));
-                        cd.Members.Add(cmm);
-                    }
+                    class1 = new CodeTypeDeclaration("InterfaceA");
+                    class1.IsInterface = true;
+                    nspace.Types.Add(class1);
+                    cmm = new CodeMemberMethod();
+                    cmm.Attributes = MemberAttributes.Public;
+                    cmm.Name = "InterfaceMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
+                    class1.Members.Add(cmm);
 
-                    if (provider.Supports(GeneratorSupport.DeclareInterfaces))
+                    if (provider.Supports(GeneratorSupport.MultipleInterfaceMembers))
                     {
+                        CodeTypeDeclaration classDecl = new CodeTypeDeclaration("InterfaceB");
+                        classDecl.IsInterface = true;
+                        nspace.Types.Add(classDecl);
                         cmm = new CodeMemberMethod();
-                        cmm.Name = "TestSingleInterface";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement("TestSingleInterfaceImp", "t", new CodeObjectCreateExpression("TestSingleInterfaceImp")));
-                        CodeMethodInvokeExpression methodinvoke = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("t")
-                            , "InterfaceMethod");
-                        methodinvoke.Parameters.Add(new CodeVariableReferenceExpression("i"));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(methodinvoke));
-                        cd.Members.Add(cmm);
-
-                        class1 = new CodeTypeDeclaration("InterfaceA");
-                        class1.IsInterface = true;
-                        nspace.Types.Add(class1);
-                        cmm = new CodeMemberMethod();
-                        cmm.Attributes = MemberAttributes.Public;
                         cmm.Name = "InterfaceMethod";
+                        cmm.Attributes = MemberAttributes.Public;
                         cmm.ReturnType = new CodeTypeReference(typeof(int));
                         cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                        class1.Members.Add(cmm);
-
-                        if (provider.Supports(GeneratorSupport.MultipleInterfaceMembers))
-                        {
-                            CodeTypeDeclaration classDecl = new CodeTypeDeclaration("InterfaceB");
-                            classDecl.IsInterface = true;
-                            nspace.Types.Add(classDecl);
-                            cmm = new CodeMemberMethod();
-                            cmm.Name = "InterfaceMethod";
-                            cmm.Attributes = MemberAttributes.Public;
-                            cmm.ReturnType = new CodeTypeReference(typeof(int));
-                            cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                            classDecl.Members.Add(cmm);
-
-                            CodeTypeDeclaration class2 = new CodeTypeDeclaration("TestMultipleInterfaceImp");
-                            class2.BaseTypes.Add(new CodeTypeReference("System.Object"));
-                            class2.BaseTypes.Add(new CodeTypeReference("InterfaceB"));
-                            class2.BaseTypes.Add(new CodeTypeReference("InterfaceA"));
-                            class2.IsClass = true;
-                            nspace.Types.Add(class2);
-                            cmm = new CodeMemberMethod();
-                            cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceA"));
-                            cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceB"));
-                            cmm.Name = "InterfaceMethod";
-                            cmm.ReturnType = new CodeTypeReference(typeof(int));
-                            cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                            cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                            cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
-                            class2.Members.Add(cmm);
-
-                            cmm = new CodeMemberMethod();
-                            cmm.Name = "TestMultipleInterfaces";
-                            cmm.ReturnType = new CodeTypeReference(typeof(int));
-                            cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
-                            cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                            cmm.Statements.Add(new CodeVariableDeclarationStatement("TestMultipleInterfaceImp", "t", new CodeObjectCreateExpression("TestMultipleInterfaceImp")));
-                            cmm.Statements.Add(new CodeVariableDeclarationStatement("InterfaceA", "interfaceAobject", new CodeCastExpression("InterfaceA",
-                                new CodeVariableReferenceExpression("t"))));
-                            cmm.Statements.Add(new CodeVariableDeclarationStatement("InterfaceB", "interfaceBobject", new CodeCastExpression("InterfaceB",
-                                new CodeVariableReferenceExpression("t"))));
-                            methodinvoke = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("interfaceAobject")
-                                , "InterfaceMethod");
-                            methodinvoke.Parameters.Add(new CodeVariableReferenceExpression("i"));
-                            CodeMethodInvokeExpression methodinvoke2 = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("interfaceBobject")
-                                , "InterfaceMethod");
-                            methodinvoke2.Parameters.Add(new CodeVariableReferenceExpression("i"));
-                            cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression(
-                                methodinvoke,
-                                CodeBinaryOperatorType.Subtract, methodinvoke2)));
-                            cd.Members.Add(cmm);
-                        }
-
-                        class1 = new CodeTypeDeclaration("TestSingleInterfaceImp");
-                        class1.BaseTypes.Add(new CodeTypeReference("System.Object"));
-                        class1.BaseTypes.Add(new CodeTypeReference("InterfaceA"));
-                        class1.IsClass = true;
-                        nspace.Types.Add(class1);
+                        classDecl.Members.Add(cmm);
+
+                        CodeTypeDeclaration class2 = new CodeTypeDeclaration("TestMultipleInterfaceImp");
+                        class2.BaseTypes.Add(new CodeTypeReference("System.Object"));
+                        class2.BaseTypes.Add(new CodeTypeReference("InterfaceB"));
+                        class2.BaseTypes.Add(new CodeTypeReference("InterfaceA"));
+                        class2.IsClass = true;
+                        nspace.Types.Add(class2);
                         cmm = new CodeMemberMethod();
                         cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceA"));
+                        cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceB"));
                         cmm.Name = "InterfaceMethod";
                         cmm.ReturnType = new CodeTypeReference(typeof(int));
                         cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                        cmm.Attributes = MemberAttributes.Public;
+                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
                         cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
-                        class1.Members.Add(cmm);
-                    }
+                        class2.Members.Add(cmm);
 
-                    if (provider.Supports(GeneratorSupport.DeclareValueTypes))
-                    {
-                        CodeTypeDeclaration structA = new CodeTypeDeclaration("structA");
-                        structA.IsStruct = true;
-
-                        CodeTypeDeclaration structB = new CodeTypeDeclaration("structB");
-                        structB.Attributes = MemberAttributes.Public;
-                        structB.IsStruct = true;
-
-                        CodeMemberField firstInt = new CodeMemberField(typeof(int), "int1");
-                        firstInt.Attributes = MemberAttributes.Public;
-                        structB.Members.Add(firstInt);
-
-                        CodeMemberField innerStruct = new CodeMemberField("structB", "innerStruct");
-                        innerStruct.Attributes = MemberAttributes.Public;
-
-                        structA.Members.Add(structB);
-                        structA.Members.Add(innerStruct);
-                        nspace.Types.Add(structA);
-
-                        CodeMemberMethod nestedStructMethod = new CodeMemberMethod();
-                        nestedStructMethod.Name = "NestedStructMethod";
-                        nestedStructMethod.ReturnType = new CodeTypeReference(typeof(int));
-                        nestedStructMethod.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        CodeVariableDeclarationStatement varStructA = new CodeVariableDeclarationStatement("structA", "varStructA");
-                        nestedStructMethod.Statements.Add(varStructA);
-                        nestedStructMethod.Statements.Add
-                            (
-                            new CodeAssignStatement
-                            (
-                            /* Expression1 */ new CodeFieldReferenceExpression(new CodeFieldReferenceExpression(new CodeVariableReferenceExpression("varStructA"), "innerStruct"), "int1"),
-                            /* Expression1 */ new CodePrimitiveExpression(3)
-                            )
-                            );
-                        nestedStructMethod.Statements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeFieldReferenceExpression(new CodeVariableReferenceExpression("varStructA"), "innerStruct"), "int1")));
-                        cd.Members.Add(nestedStructMethod);
-                    }
-                    if (provider.Supports(GeneratorSupport.EntryPointMethod))
-                    {
-                        CodeEntryPointMethod cep = new CodeEntryPointMethod();
-                        cd.Members.Add(cep);
-                    }
-                    // goto statements
-                    if (provider.Supports(GeneratorSupport.GotoStatements))
-                    {
                         cmm = new CodeMemberMethod();
-                        cmm.Name = "GoToMethod";
+                        cmm.Name = "TestMultipleInterfaces";
                         cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
-                        cmm.Parameters.Add(param);
-                        CodeConditionStatement condstmt = new CodeConditionStatement(new CodeBinaryOperatorExpression(
-                            new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.LessThan, new CodePrimitiveExpression(1)),
-                            new CodeGotoStatement("comehere"));
-                        cmm.Statements.Add(condstmt);
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(6)));
-                        cmm.Statements.Add(new CodeLabeledStatement("comehere",
-                            new CodeMethodReturnStatement(new CodePrimitiveExpression(7))));
-                        cd.Members.Add(cmm);
-                    }
-                    if (provider.Supports(GeneratorSupport.NestedTypes))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "CallingPublicNestedScenario";
                         cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
                         cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement(new CodeTypeReference
-                            ("PublicNestedClassA+PublicNestedClassB2+PublicNestedClassC"), "t",
-                            new CodeObjectCreateExpression(new CodeTypeReference
-                            ("PublicNestedClassA+PublicNestedClassB2+PublicNestedClassC"))));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("t"),
-                            "publicNestedClassesMethod",
-                            new CodeVariableReferenceExpression("i"))));
-                        cd.Members.Add(cmm);
-
-                        class1 = new CodeTypeDeclaration("PublicNestedClassA");
-                        class1.IsClass = true;
-                        nspace.Types.Add(class1);
-                        CodeTypeDeclaration nestedClass = new CodeTypeDeclaration("PublicNestedClassB1");
-                        nestedClass.IsClass = true;
-                        nestedClass.TypeAttributes = TypeAttributes.NestedPublic;
-                        class1.Members.Add(nestedClass);
-                        nestedClass = new CodeTypeDeclaration("PublicNestedClassB2");
-                        nestedClass.TypeAttributes = TypeAttributes.NestedPublic;
-                        nestedClass.IsClass = true;
-                        class1.Members.Add(nestedClass);
-                        CodeTypeDeclaration innerNestedClass = new CodeTypeDeclaration("PublicNestedClassC");
-                        innerNestedClass.TypeAttributes = TypeAttributes.NestedPublic;
-                        innerNestedClass.IsClass = true;
-                        nestedClass.Members.Add(innerNestedClass);
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "publicNestedClassesMethod";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
-                        innerNestedClass.Members.Add(cmm);
-                    }
-                    // Parameter Attributes
-                    if (provider.Supports(GeneratorSupport.ParameterAttributes))
-                    {
-                        CodeMemberMethod method1 = new CodeMemberMethod();
-                        method1.Name = "MyMethod";
-                        method1.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        CodeParameterDeclarationExpression param1 = new CodeParameterDeclarationExpression(typeof(string), "blah");
-                        param1.CustomAttributes.Add(
-                            new CodeAttributeDeclaration(
-                            "System.Xml.Serialization.XmlElementAttribute",
-                            new CodeAttributeArgument(
-                            "Form",
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
-                            new CodeAttributeArgument(
-                            "IsNullable",
-                            new CodePrimitiveExpression(false))));
-                        method1.Parameters.Add(param1);
-                        cd.Members.Add(method1);
-                    }
-                    // public static members
-                    if (provider.Supports(GeneratorSupport.PublicStaticMembers))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "PublicStaticMethod";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(16)));
+                        cmm.Statements.Add(new CodeVariableDeclarationStatement("TestMultipleInterfaceImp", "t", new CodeObjectCreateExpression("TestMultipleInterfaceImp")));
+                        cmm.Statements.Add(new CodeVariableDeclarationStatement("InterfaceA", "interfaceAobject", new CodeCastExpression("InterfaceA",
+                            new CodeVariableReferenceExpression("t"))));
+                        cmm.Statements.Add(new CodeVariableDeclarationStatement("InterfaceB", "interfaceBobject", new CodeCastExpression("InterfaceB",
+                            new CodeVariableReferenceExpression("t"))));
+                        methodinvoke = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("interfaceAobject")
+                            , "InterfaceMethod");
+                        methodinvoke.Parameters.Add(new CodeVariableReferenceExpression("i"));
+                        CodeMethodInvokeExpression methodinvoke2 = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("interfaceBobject")
+                            , "InterfaceMethod");
+                        methodinvoke2.Parameters.Add(new CodeVariableReferenceExpression("i"));
+                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression(
+                            methodinvoke,
+                            CodeBinaryOperatorType.Subtract, methodinvoke2)));
                         cd.Members.Add(cmm);
                     }
-                    // reference parameters
-                    if (provider.Supports(GeneratorSupport.ReferenceParameters))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "Work";
-                        cmm.ReturnType = new CodeTypeReference("System.void");
-                        cmm.Attributes = MemberAttributes.Static;
-                        // add parameter with ref direction
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
-                        param.Direction = FieldDirection.Ref;
-                        cmm.Parameters.Add(param);
-                        // add parameter with out direction
-                        param = new CodeParameterDeclarationExpression(typeof(int), "j");
-                        param.Direction = FieldDirection.Out;
-                        cmm.Parameters.Add(param);
-                        cmm.Statements.Add(new CodeAssignStatement(new CodeArgumentReferenceExpression("i"),
-                            new CodeBinaryOperatorExpression(new CodeArgumentReferenceExpression("i"),
-                            CodeBinaryOperatorType.Add, new CodePrimitiveExpression(4))));
-                        cmm.Statements.Add(new CodeAssignStatement(new CodeArgumentReferenceExpression("j"),
-                            new CodePrimitiveExpression(5)));
-                        cd.Members.Add(cmm);
 
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "CallingWork";
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        CodeParameterDeclarationExpression parames = new CodeParameterDeclarationExpression(typeof(int), "a");
-                        cmm.Parameters.Add(parames);
-                        cmm.ReturnType = new CodeTypeReference("System.int32");
-                        cmm.Statements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("a"),
-                            new CodePrimitiveExpression(10)));
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement(typeof(int), "b"));
-                        // invoke the method called "work"
-                        CodeMethodInvokeExpression methodinvoked = new CodeMethodInvokeExpression(new CodeMethodReferenceExpression
-                            (new CodeTypeReferenceExpression("TEST"), "Work"));
-                        // add parameter with ref direction
-                        CodeDirectionExpression parameter = new CodeDirectionExpression(FieldDirection.Ref,
-                            new CodeVariableReferenceExpression("a"));
-                        methodinvoked.Parameters.Add(parameter);
-                        // add parameter with out direction
-                        parameter = new CodeDirectionExpression(FieldDirection.Out, new CodeVariableReferenceExpression("b"));
-                        methodinvoked.Parameters.Add(parameter);
-                        cmm.Statements.Add(methodinvoked);
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression
-                            (new CodeVariableReferenceExpression("a"), CodeBinaryOperatorType.Add, new CodeVariableReferenceExpression("b"))));
-                        cd.Members.Add(cmm);
-                    }
-                    if (provider.Supports(GeneratorSupport.ReturnTypeAttributes))
-                    {
-                        CodeMemberMethod function1 = new CodeMemberMethod();
-                        function1.Name = "MyFunction";
-                        function1.ReturnType = new CodeTypeReference(typeof(string));
-                        function1.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        function1.ReturnTypeCustomAttributes.Add(new
-                            CodeAttributeDeclaration("System.Xml.Serialization.XmlIgnoreAttribute"));
-                        function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlRootAttribute", new
-                            CodeAttributeArgument("Namespace", new CodePrimitiveExpression("Namespace Value")), new
-                            CodeAttributeArgument("ElementName", new CodePrimitiveExpression("Root, hehehe"))));
-                        function1.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression("Return")));
-                        cd.Members.Add(function1);
-                    }
-                    if (provider.Supports(GeneratorSupport.StaticConstructors))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "TestStaticConstructor";
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "a");
-                        cmm.Parameters.Add(param);
-                        // utilize constructor
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement("Test4", "t", new CodeObjectCreateExpression("Test4")));
-                        // set then get number
-                        cmm.Statements.Add(new CodeAssignStatement(new CodePropertyReferenceExpression(new CodeVariableReferenceExpression("t"), "i")
-                            , new CodeVariableReferenceExpression("a")));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodReferenceExpression(
-                            new CodeVariableReferenceExpression("t"), "i")));
-                        cd.Members.Add(cmm);
+                    class1 = new CodeTypeDeclaration("TestSingleInterfaceImp");
+                    class1.BaseTypes.Add(new CodeTypeReference("System.Object"));
+                    class1.BaseTypes.Add(new CodeTypeReference("InterfaceA"));
+                    class1.IsClass = true;
+                    nspace.Types.Add(class1);
+                    cmm = new CodeMemberMethod();
+                    cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceA"));
+                    cmm.Name = "InterfaceMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
+                    cmm.Attributes = MemberAttributes.Public;
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
+                    class1.Members.Add(cmm);
+                }
 
-                        class1 = new CodeTypeDeclaration();
-                        class1.Name = "Test4";
-                        class1.IsClass = true;
-                        nspace.Types.Add(class1);
-
-                        class1.Members.Add(new CodeMemberField(new CodeTypeReference(typeof(int)), "number"));
-                        CodeMemberProperty prop = new CodeMemberProperty();
-                        prop.Name = "i";
-                        prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        prop.Type = new CodeTypeReference(typeof(int));
-                        prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("number")));
-                        prop.SetStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("number"),
-                            new CodePropertySetValueReferenceExpression()));
-                        class1.Members.Add(prop);
-                        CodeTypeConstructor ctc = new CodeTypeConstructor();
-                        class1.Members.Add(ctc);
-                    }
-                    if (provider.Supports(GeneratorSupport.TryCatchStatements))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "TryCatchMethod";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "a");
-                        cmm.Parameters.Add(param);
-
-                        CodeTryCatchFinallyStatement tcfstmt = new CodeTryCatchFinallyStatement();
-                        tcfstmt.FinallyStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("a"), new
-                            CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("a"), CodeBinaryOperatorType.Add,
-                            new CodePrimitiveExpression(5))));
-                        cmm.Statements.Add(tcfstmt);
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
-                        cd.Members.Add(cmm);
-                    }
-                    if (provider.Supports(GeneratorSupport.DeclareEvents))
-                    {
-                        CodeNamespace ns = new CodeNamespace();
-                        ns.Name = "MyNamespace";
-                        ns.Imports.Add(new CodeNamespaceImport("System"));
-                        ns.Imports.Add(new CodeNamespaceImport("System.Drawing"));
-                        ns.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
-                        ns.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
-                        cu.Namespaces.Add(ns);
-                        class1 = new CodeTypeDeclaration("Test");
-                        class1.IsClass = true;
-                        class1.BaseTypes.Add(new CodeTypeReference("Form"));
-                        ns.Types.Add(class1);
-
-                        CodeMemberField mfield = new CodeMemberField(new CodeTypeReference("Button"), "b");
-                        mfield.InitExpression = new CodeObjectCreateExpression(new CodeTypeReference("Button"));
-                        class1.Members.Add(mfield);
-
-                        CodeConstructor ctor = new CodeConstructor();
-                        ctor.Attributes = MemberAttributes.Public;
-                        ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
-                            "Size"), new CodeObjectCreateExpression(new CodeTypeReference("Size"),
-                            new CodePrimitiveExpression(600), new CodePrimitiveExpression(600))));
-                        ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                            "Text"), new CodePrimitiveExpression("Test")));
-                        ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                            "TabIndex"), new CodePrimitiveExpression(0)));
-                        ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                            "Location"), new CodeObjectCreateExpression(new CodeTypeReference("Point"),
-                            new CodePrimitiveExpression(400), new CodePrimitiveExpression(525))));
-                        ctor.Statements.Add(new CodeAttachEventStatement(new CodeEventReferenceExpression(new
-                            CodeThisReferenceExpression(), "MyEvent"), new CodeDelegateCreateExpression(new CodeTypeReference("EventHandler")
-                            , new CodeThisReferenceExpression(), "b_Click")));
-                        class1.Members.Add(ctor);
-
-                        CodeMemberEvent evt = new CodeMemberEvent();
-                        evt.Name = "MyEvent";
-                        evt.Type = new CodeTypeReference("System.EventHandler");
-                        evt.Attributes = MemberAttributes.Public;
-                        class1.Members.Add(evt);
+                if (provider.Supports(GeneratorSupport.DeclareValueTypes))
+                {
+                    CodeTypeDeclaration structA = new CodeTypeDeclaration("structA");
+                    structA.IsStruct = true;
+
+                    CodeTypeDeclaration structB = new CodeTypeDeclaration("structB");
+                    structB.Attributes = MemberAttributes.Public;
+                    structB.IsStruct = true;
+
+                    CodeMemberField firstInt = new CodeMemberField(typeof(int), "int1");
+                    firstInt.Attributes = MemberAttributes.Public;
+                    structB.Members.Add(firstInt);
+
+                    CodeMemberField innerStruct = new CodeMemberField("structB", "innerStruct");
+                    innerStruct.Attributes = MemberAttributes.Public;
+
+                    structA.Members.Add(structB);
+                    structA.Members.Add(innerStruct);
+                    nspace.Types.Add(structA);
+
+                    CodeMemberMethod nestedStructMethod = new CodeMemberMethod();
+                    nestedStructMethod.Name = "NestedStructMethod";
+                    nestedStructMethod.ReturnType = new CodeTypeReference(typeof(int));
+                    nestedStructMethod.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    CodeVariableDeclarationStatement varStructA = new CodeVariableDeclarationStatement("structA", "varStructA");
+                    nestedStructMethod.Statements.Add(varStructA);
+                    nestedStructMethod.Statements.Add
+                        (
+                        new CodeAssignStatement
+                        (
+                        /* Expression1 */ new CodeFieldReferenceExpression(new CodeFieldReferenceExpression(new CodeVariableReferenceExpression("varStructA"), "innerStruct"), "int1"),
+                        /* Expression1 */ new CodePrimitiveExpression(3)
+                        )
+                        );
+                    nestedStructMethod.Statements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeFieldReferenceExpression(new CodeVariableReferenceExpression("varStructA"), "innerStruct"), "int1")));
+                    cd.Members.Add(nestedStructMethod);
+                }
+                if (provider.Supports(GeneratorSupport.EntryPointMethod))
+                {
+                    CodeEntryPointMethod cep = new CodeEntryPointMethod();
+                    cd.Members.Add(cep);
+                }
+                // goto statements
+                if (provider.Supports(GeneratorSupport.GotoStatements))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "GoToMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
+                    cmm.Parameters.Add(param);
+                    CodeConditionStatement condstmt = new CodeConditionStatement(new CodeBinaryOperatorExpression(
+                        new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.LessThan, new CodePrimitiveExpression(1)),
+                        new CodeGotoStatement("comehere"));
+                    cmm.Statements.Add(condstmt);
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(6)));
+                    cmm.Statements.Add(new CodeLabeledStatement("comehere",
+                        new CodeMethodReturnStatement(new CodePrimitiveExpression(7))));
+                    cd.Members.Add(cmm);
+                }
+                if (provider.Supports(GeneratorSupport.NestedTypes))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "CallingPublicNestedScenario";
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement(new CodeTypeReference
+                        ("PublicNestedClassA+PublicNestedClassB2+PublicNestedClassC"), "t",
+                        new CodeObjectCreateExpression(new CodeTypeReference
+                        ("PublicNestedClassA+PublicNestedClassB2+PublicNestedClassC"))));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("t"),
+                        "publicNestedClassesMethod",
+                        new CodeVariableReferenceExpression("i"))));
+                    cd.Members.Add(cmm);
 
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "b_Click";
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(object), "sender"));
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(EventArgs), "e"));
-                        class1.Members.Add(cmm);
-                    }
+                    class1 = new CodeTypeDeclaration("PublicNestedClassA");
+                    class1.IsClass = true;
+                    nspace.Types.Add(class1);
+                    CodeTypeDeclaration nestedClass = new CodeTypeDeclaration("PublicNestedClassB1");
+                    nestedClass.IsClass = true;
+                    nestedClass.TypeAttributes = TypeAttributes.NestedPublic;
+                    class1.Members.Add(nestedClass);
+                    nestedClass = new CodeTypeDeclaration("PublicNestedClassB2");
+                    nestedClass.TypeAttributes = TypeAttributes.NestedPublic;
+                    nestedClass.IsClass = true;
+                    class1.Members.Add(nestedClass);
+                    CodeTypeDeclaration innerNestedClass = new CodeTypeDeclaration("PublicNestedClassC");
+                    innerNestedClass.TypeAttributes = TypeAttributes.NestedPublic;
+                    innerNestedClass.IsClass = true;
+                    nestedClass.Members.Add(innerNestedClass);
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "publicNestedClassesMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
+                    innerNestedClass.Members.Add(cmm);
+                }
+                // Parameter Attributes
+                if (provider.Supports(GeneratorSupport.ParameterAttributes))
+                {
+                    CodeMemberMethod method1 = new CodeMemberMethod();
+                    method1.Name = "MyMethod";
+                    method1.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    CodeParameterDeclarationExpression param1 = new CodeParameterDeclarationExpression(typeof(string), "blah");
+                    param1.CustomAttributes.Add(
+                        new CodeAttributeDeclaration(
+                        "System.Xml.Serialization.XmlElementAttribute",
+                        new CodeAttributeArgument(
+                        "Form",
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
+                        new CodeAttributeArgument(
+                        "IsNullable",
+                        new CodePrimitiveExpression(false))));
+                    method1.Parameters.Add(param1);
+                    cd.Members.Add(method1);
+                }
+                // public static members
+                if (provider.Supports(GeneratorSupport.PublicStaticMembers))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "PublicStaticMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(16)));
+                    cd.Members.Add(cmm);
+                }
+                // reference parameters
+                if (provider.Supports(GeneratorSupport.ReferenceParameters))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "Work";
+                    cmm.ReturnType = new CodeTypeReference("System.void");
+                    cmm.Attributes = MemberAttributes.Static;
+                    // add parameter with ref direction
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
+                    param.Direction = FieldDirection.Ref;
+                    cmm.Parameters.Add(param);
+                    // add parameter with out direction
+                    param = new CodeParameterDeclarationExpression(typeof(int), "j");
+                    param.Direction = FieldDirection.Out;
+                    cmm.Parameters.Add(param);
+                    cmm.Statements.Add(new CodeAssignStatement(new CodeArgumentReferenceExpression("i"),
+                        new CodeBinaryOperatorExpression(new CodeArgumentReferenceExpression("i"),
+                        CodeBinaryOperatorType.Add, new CodePrimitiveExpression(4))));
+                    cmm.Statements.Add(new CodeAssignStatement(new CodeArgumentReferenceExpression("j"),
+                        new CodePrimitiveExpression(5)));
+                    cd.Members.Add(cmm);
 
-                    AssertEqual(cu,
-                        @"//------------------------------------------------------------------------------
-                      // <auto-generated>
-                      //     This code was generated by a tool.
-                      //
-                      //     Changes to this file may cause incorrect behavior and will be lost if
-                      //     the code is regenerated.
-                      // </auto-generated>
-                      //------------------------------------------------------------------------------
-
-                      [assembly: System.Reflection.AssemblyTitle(""MyAssembly"")]
-                      [assembly: System.Reflection.AssemblyVersion(""1.0.6.2"")]
-
-                      namespace NSPC {
-                          using System;
-                          using System.Drawing;
-                          using System.Windows.Forms;
-                          using System.ComponentModel;
-
-                          public class TEST {
-
-                              public int ArraysOfArrays() {
-                                  int[][] arrayOfArrays = new int[][] {
-                                          new int[] { 3, 4},
-                                          new int[] { 1}};
-                                  return arrayOfArrays[0][1];
-                              }
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "CallingWork";
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    CodeParameterDeclarationExpression parames = new CodeParameterDeclarationExpression(typeof(int), "a");
+                    cmm.Parameters.Add(parames);
+                    cmm.ReturnType = new CodeTypeReference("System.int32");
+                    cmm.Statements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("a"),
+                        new CodePrimitiveExpression(10)));
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement(typeof(int), "b"));
+                    // invoke the method called "work"
+                    CodeMethodInvokeExpression methodinvoked = new CodeMethodInvokeExpression(new CodeMethodReferenceExpression
+                        (new CodeTypeReferenceExpression("TEST"), "Work"));
+                    // add parameter with ref direction
+                    CodeDirectionExpression parameter = new CodeDirectionExpression(FieldDirection.Ref,
+                        new CodeVariableReferenceExpression("a"));
+                    methodinvoked.Parameters.Add(parameter);
+                    // add parameter with out direction
+                    parameter = new CodeDirectionExpression(FieldDirection.Out, new CodeVariableReferenceExpression("b"));
+                    methodinvoked.Parameters.Add(parameter);
+                    cmm.Statements.Add(methodinvoked);
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression
+                        (new CodeVariableReferenceExpression("a"), CodeBinaryOperatorType.Add, new CodeVariableReferenceExpression("b"))));
+                    cd.Members.Add(cmm);
+                }
+                if (provider.Supports(GeneratorSupport.ReturnTypeAttributes))
+                {
+                    CodeMemberMethod function1 = new CodeMemberMethod();
+                    function1.Name = "MyFunction";
+                    function1.ReturnType = new CodeTypeReference(typeof(string));
+                    function1.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    function1.ReturnTypeCustomAttributes.Add(new
+                        CodeAttributeDeclaration("System.Xml.Serialization.XmlIgnoreAttribute"));
+                    function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlRootAttribute", new
+                        CodeAttributeArgument("Namespace", new CodePrimitiveExpression("Namespace Value")), new
+                        CodeAttributeArgument("ElementName", new CodePrimitiveExpression("Root, hehehe"))));
+                    function1.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression("Return")));
+                    cd.Members.Add(function1);
+                }
+                if (provider.Supports(GeneratorSupport.StaticConstructors))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "TestStaticConstructor";
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "a");
+                    cmm.Parameters.Add(param);
+                    // utilize constructor
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement("Test4", "t", new CodeObjectCreateExpression("Test4")));
+                    // set then get number
+                    cmm.Statements.Add(new CodeAssignStatement(new CodePropertyReferenceExpression(new CodeVariableReferenceExpression("t"), "i")
+                        , new CodeVariableReferenceExpression("a")));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodReferenceExpression(
+                        new CodeVariableReferenceExpression("t"), "i")));
+                    cd.Members.Add(cmm);
 
-                              public static string ChainedConstructorUse() {
-                                  Test2 t = new Test2();
-                                  return t.accessStringField;
-                              }
+                    class1 = new CodeTypeDeclaration();
+                    class1.Name = "Test4";
+                    class1.IsClass = true;
+                    nspace.Types.Add(class1);
+
+                    class1.Members.Add(new CodeMemberField(new CodeTypeReference(typeof(int)), "number"));
+                    CodeMemberProperty prop = new CodeMemberProperty();
+                    prop.Name = "i";
+                    prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    prop.Type = new CodeTypeReference(typeof(int));
+                    prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("number")));
+                    prop.SetStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("number"),
+                        new CodePropertySetValueReferenceExpression()));
+                    class1.Members.Add(prop);
+                    CodeTypeConstructor ctc = new CodeTypeConstructor();
+                    class1.Members.Add(ctc);
+                }
+                if (provider.Supports(GeneratorSupport.TryCatchStatements))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "TryCatchMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "a");
+                    cmm.Parameters.Add(param);
+
+                    CodeTryCatchFinallyStatement tcfstmt = new CodeTryCatchFinallyStatement();
+                    tcfstmt.FinallyStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("a"), new
+                        CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("a"), CodeBinaryOperatorType.Add,
+                        new CodePrimitiveExpression(5))));
+                    cmm.Statements.Add(tcfstmt);
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
+                    cd.Members.Add(cmm);
+                }
+                if (provider.Supports(GeneratorSupport.DeclareEvents))
+                {
+                    CodeNamespace ns = new CodeNamespace();
+                    ns.Name = "MyNamespace";
+                    ns.Imports.Add(new CodeNamespaceImport("System"));
+                    ns.Imports.Add(new CodeNamespaceImport("System.Drawing"));
+                    ns.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
+                    ns.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
+                    cu.Namespaces.Add(ns);
+                    class1 = new CodeTypeDeclaration("Test");
+                    class1.IsClass = true;
+                    class1.BaseTypes.Add(new CodeTypeReference("Form"));
+                    ns.Types.Add(class1);
 
-                              public int ComplexExpressions(int i) {
-                                  i = (i * (i + 3));
-                                  return i;
-                              }
+                    CodeMemberField mfield = new CodeMemberField(new CodeTypeReference("Button"), "b");
+                    mfield.InitExpression = new CodeObjectCreateExpression(new CodeTypeReference("Button"));
+                    class1.Members.Add(mfield);
 
-                              public static int OutputDecimalEnumVal(int i) {
-                                  if ((i == 3)) {
-                                      return ((int)(DecimalEnum.Num3));
-                                  }
-                                  if ((i == 4)) {
-                                      return ((int)(DecimalEnum.Num4));
-                                  }
-                                  if ((i == 2)) {
-                                      return ((int)(DecimalEnum.Num2));
-                                  }
-                                  if ((i == 1)) {
-                                      return ((int)(DecimalEnum.Num1));
-                                  }
-                                  if ((i == 0)) {
-                                      return ((int)(DecimalEnum.Num0));
-                                  }
-                                  return (i + 10);
-                              }
+                    CodeConstructor ctor = new CodeConstructor();
+                    ctor.Attributes = MemberAttributes.Public;
+                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
+                        "Size"), new CodeObjectCreateExpression(new CodeTypeReference("Size"),
+                        new CodePrimitiveExpression(600), new CodePrimitiveExpression(600))));
+                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                        "Text"), new CodePrimitiveExpression("Test")));
+                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                        "TabIndex"), new CodePrimitiveExpression(0)));
+                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                        "Location"), new CodeObjectCreateExpression(new CodeTypeReference("Point"),
+                        new CodePrimitiveExpression(400), new CodePrimitiveExpression(525))));
+                    ctor.Statements.Add(new CodeAttachEventStatement(new CodeEventReferenceExpression(new
+                        CodeThisReferenceExpression(), "MyEvent"), new CodeDelegateCreateExpression(new CodeTypeReference("EventHandler")
+                        , new CodeThisReferenceExpression(), "b_Click")));
+                    class1.Members.Add(ctor);
 
-                              public static int TestSingleInterface(int i) {
-                                  TestSingleInterfaceImp t = new TestSingleInterfaceImp();
-                                  return t.InterfaceMethod(i);
-                              }
+                    CodeMemberEvent evt = new CodeMemberEvent();
+                    evt.Name = "MyEvent";
+                    evt.Type = new CodeTypeReference("System.EventHandler");
+                    evt.Attributes = MemberAttributes.Public;
+                    class1.Members.Add(evt);
 
-                              public static int TestMultipleInterfaces(int i) {
-                                  TestMultipleInterfaceImp t = new TestMultipleInterfaceImp();
-                                  InterfaceA interfaceAobject = ((InterfaceA)(t));
-                                  InterfaceB interfaceBobject = ((InterfaceB)(t));
-                                  return (interfaceAobject.InterfaceMethod(i) - interfaceBobject.InterfaceMethod(i));
-                              }
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "b_Click";
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(object), "sender"));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(EventArgs), "e"));
+                    class1.Members.Add(cmm);
+                }
 
-                              public static int NestedStructMethod() {
-                                  structA varStructA;
-                                  varStructA.innerStruct.int1 = 3;
-                                  return varStructA.innerStruct.int1;
-                              }
+                AssertEqual(cu,
+                    @"//------------------------------------------------------------------------------
+                    // <auto-generated>
+                    //     This code was generated by a tool.
+                    //
+                    //     Changes to this file may cause incorrect behavior and will be lost if
+                    //     the code is regenerated.
+                    // </auto-generated>
+                    //------------------------------------------------------------------------------
+
+                    [assembly: System.Reflection.AssemblyTitle(""MyAssembly"")]
+                    [assembly: System.Reflection.AssemblyVersion(""1.0.6.2"")]
+
+                    namespace NSPC {
+                        using System;
+                        using System.Drawing;
+                        using System.Windows.Forms;
+                        using System.ComponentModel;
+
+                        public class TEST {
+
+                            public int ArraysOfArrays() {
+                                int[][] arrayOfArrays = new int[][] {
+                                        new int[] { 3, 4},
+                                        new int[] { 1}};
+                                return arrayOfArrays[0][1];
+                            }
 
-                              public static void Main() { }
+                            public static string ChainedConstructorUse() {
+                                Test2 t = new Test2();
+                                return t.accessStringField;
+                            }
 
-                              public int GoToMethod(int i) {
-                                  if ((i < 1)) {
-                                      goto comehere;
-                                  }
-                                  return 6;
-                              comehere:
-                                  return 7;
-                              }
+                            public int ComplexExpressions(int i) {
+                                i = (i * (i + 3));
+                                return i;
+                            }
 
-                              public static int CallingPublicNestedScenario(int i) {
-                                  PublicNestedClassA.PublicNestedClassB2.PublicNestedClassC t = new PublicNestedClassA.PublicNestedClassB2.PublicNestedClassC();
-                                  return t.publicNestedClassesMethod(i);
-                              }
+                            public static int OutputDecimalEnumVal(int i) {
+                                if ((i == 3)) {
+                                    return ((int)(DecimalEnum.Num3));
+                                }
+                                if ((i == 4)) {
+                                    return ((int)(DecimalEnum.Num4));
+                                }
+                                if ((i == 2)) {
+                                    return ((int)(DecimalEnum.Num2));
+                                }
+                                if ((i == 1)) {
+                                    return ((int)(DecimalEnum.Num1));
+                                }
+                                if ((i == 0)) {
+                                    return ((int)(DecimalEnum.Num0));
+                                }
+                                return (i + 10);
+                            }
 
-                              public void MyMethod([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] string blah) {
-                              }
+                            public static int TestSingleInterface(int i) {
+                                TestSingleInterfaceImp t = new TestSingleInterfaceImp();
+                                return t.InterfaceMethod(i);
+                            }
 
-                              public static int PublicStaticMethod() {
-                                  return 16;
-                              }
+                            public static int TestMultipleInterfaces(int i) {
+                                TestMultipleInterfaceImp t = new TestMultipleInterfaceImp();
+                                InterfaceA interfaceAobject = ((InterfaceA)(t));
+                                InterfaceB interfaceBobject = ((InterfaceB)(t));
+                                return (interfaceAobject.InterfaceMethod(i) - interfaceBobject.InterfaceMethod(i));
+                            }
 
-                              static void Work(ref int i, out int j) {
-                                  i = (i + 4);
-                                  j = 5;
-                              }
+                            public static int NestedStructMethod() {
+                                structA varStructA;
+                                varStructA.innerStruct.int1 = 3;
+                                return varStructA.innerStruct.int1;
+                            }
 
-                              public static int CallingWork(int a) {
-                                  a = 10;
-                                  int b;
-                                  TEST.Work(ref a, out b);
-                                  return (a + b);
-                              }
+                            public static void Main() { }
 
-                              [return: System.Xml.Serialization.XmlIgnoreAttribute()]
-                              [return: System.Xml.Serialization.XmlRootAttribute(Namespace=""Namespace Value"", ElementName=""Root, hehehe"")]
-                              public string MyFunction() {
-                                  return ""Return"";
-                              }
+                            public int GoToMethod(int i) {
+                                if ((i < 1)) {
+                                    goto comehere;
+                                }
+                                return 6;
+                            comehere:
+                                return 7;
+                            }
 
-                              public static int TestStaticConstructor(int a) {
-                                  Test4 t = new Test4();
-                                  t.i = a;
-                                  return t.i;
-                              }
+                            public static int CallingPublicNestedScenario(int i) {
+                                PublicNestedClassA.PublicNestedClassB2.PublicNestedClassC t = new PublicNestedClassA.PublicNestedClassB2.PublicNestedClassC();
+                                return t.publicNestedClassesMethod(i);
+                            }
 
-                              public static int TryCatchMethod(int a) {
-                                  try {
-                                  }
-                                  finally {
-                                      a = (a + 5);
-                                  }
-                                  return a;
-                              }
-                          }
+                            public void MyMethod([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] string blah) {
+                            }
 
-                          public class Test2 {
+                            public static int PublicStaticMethod() {
+                                return 16;
+                            }
 
-                              private string stringField;
+                            static void Work(ref int i, out int j) {
+                                i = (i + 4);
+                                j = 5;
+                            }
 
-                              public Test2() :
-                                      this(""testingString"", null, null) {
-                              }
+                            public static int CallingWork(int a) {
+                                a = 10;
+                                int b;
+                                TEST.Work(ref a, out b);
+                                return (a + b);
+                            }
 
-                              public Test2(string p1, string p2, string p3) {
-                                  this.stringField = p1;
-                              }
+                            [return: System.Xml.Serialization.XmlIgnoreAttribute()]
+                            [return: System.Xml.Serialization.XmlRootAttribute(Namespace=""Namespace Value"", ElementName=""Root, hehehe"")]
+                            public string MyFunction() {
+                                return ""Return"";
+                            }
 
-                              public string accessStringField {
-                                  get {
-                                      return this.stringField;
-                                  }
-                                  set {
-                                      this.stringField = value;
-                                  }
-                              }
-                          }
+                            public static int TestStaticConstructor(int a) {
+                                Test4 t = new Test4();
+                                t.i = a;
+                                return t.i;
+                            }
 
-                          public enum DecimalEnum {
-                              Num0 = 0,
-                              Num1 = 1,
-                              Num2 = 2,
-                              Num3 = 3,
-                              Num4 = 4,
-                          }
+                            public static int TryCatchMethod(int a) {
+                                try {
+                                }
+                                finally {
+                                    a = (a + 5);
+                                }
+                                return a;
+                            }
+                        }
 
-                          public interface InterfaceA {
-                              int InterfaceMethod(int a);
-                          }
+                        public class Test2 {
 
-                          public interface InterfaceB {
-                              int InterfaceMethod(int a);
-                          }
+                            private string stringField;
 
-                          public class TestMultipleInterfaceImp : object, InterfaceB, InterfaceA {
-                              public int InterfaceMethod(int a) {
-                                  return a;
-                              }
-                          }
+                            public Test2() :
+                                    this(""testingString"", null, null) {
+                            }
 
-                          public class TestSingleInterfaceImp : object, InterfaceA {
-                              public virtual int InterfaceMethod(int a) {
-                                  return a;
-                              }
-                          }
+                            public Test2(string p1, string p2, string p3) {
+                                this.stringField = p1;
+                            }
 
-                          public struct structA {
-                              public structB innerStruct;
+                            public string accessStringField {
+                                get {
+                                    return this.stringField;
+                                }
+                                set {
+                                    this.stringField = value;
+                                }
+                            }
+                        }
 
-                              public struct structB {
-                                  public int int1;
-                              }
-                          }
+                        public enum DecimalEnum {
+                            Num0 = 0,
+                            Num1 = 1,
+                            Num2 = 2,
+                            Num3 = 3,
+                            Num4 = 4,
+                        }
 
-                          public class PublicNestedClassA {
+                        public interface InterfaceA {
+                            int InterfaceMethod(int a);
+                        }
 
-                              public class PublicNestedClassB1 { }
+                        public interface InterfaceB {
+                            int InterfaceMethod(int a);
+                        }
 
-                              public class PublicNestedClassB2 {
-                                  public class PublicNestedClassC {
-                                      public int publicNestedClassesMethod(int a) {
-                                          return a;
-                                      }
-                                  }
-                              }
-                          }
+                        public class TestMultipleInterfaceImp : object, InterfaceB, InterfaceA {
+                            public int InterfaceMethod(int a) {
+                                return a;
+                            }
+                        }
 
-                          public class Test4 {
+                        public class TestSingleInterfaceImp : object, InterfaceA {
+                            public virtual int InterfaceMethod(int a) {
+                                return a;
+                            }
+                        }
 
-                              private int number;
+                        public struct structA {
+                            public structB innerStruct;
 
-                              static Test4() {
-                              }
+                            public struct structB {
+                                public int int1;
+                            }
+                        }
 
-                              public int i {
-                                  get {
-                                      return number;
-                                  }
-                                  set {
-                                      number = value;
-                                  }
-                              }
-                          }
-                      }
-                      namespace MyNamespace {
-                          using System;
-                          using System.Drawing;
-                          using System.Windows.Forms;
-                          using System.ComponentModel;
-
-                          public class Test : Form {
-                              private Button b = new Button();
-
-                              public Test() {
-                                  this.Size = new Size(600, 600);
-                                  b.Text = ""Test"";
-                                  b.TabIndex = 0;
-                                  b.Location = new Point(400, 525);
-                                  this.MyEvent += new EventHandler(this.b_Click);
-                              }
+                        public class PublicNestedClassA {
 
-                              public event System.EventHandler MyEvent;
+                            public class PublicNestedClassB1 { }
 
-                              private void b_Click(object sender, System.EventArgs e) {
-                              }
-                          }
-                      }");
-                }
-            }).Dispose();
+                            public class PublicNestedClassB2 {
+                                public class PublicNestedClassC {
+                                    public int publicNestedClassesMethod(int a) {
+                                        return a;
+                                    }
+                                }
+                            }
+                        }
+
+                        public class Test4 {
+
+                            private int number;
+
+                            static Test4() {
+                            }
+
+                            public int i {
+                                get {
+                                    return number;
+                                }
+                                set {
+                                    number = value;
+                                }
+                            }
+                        }
+                    }
+                    namespace MyNamespace {
+                        using System;
+                        using System.Drawing;
+                        using System.Windows.Forms;
+                        using System.ComponentModel;
+
+                        public class Test : Form {
+                            private Button b = new Button();
+
+                            public Test() {
+                                this.Size = new Size(600, 600);
+                                b.Text = ""Test"";
+                                b.TabIndex = 0;
+                                b.Location = new Point(400, 525);
+                                this.MyEvent += new EventHandler(this.b_Click);
+                            }
+
+                            public event System.EventHandler MyEvent;
+
+                            private void b_Click(object sender, System.EventArgs e) {
+                            }
+                        }
+                    }");
+            }
         }
 
         [Fact]
index d138130..45ed78a 100644 (file)
@@ -583,211 +583,208 @@ namespace System.CodeDom.Compiler.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework)]
         public void MetadataAttributes()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    var cu = new CodeCompileUnit();
-
-                    var ns = new CodeNamespace();
-                    ns.Name = "MyNamespace";
-                    ns.Imports.Add(new CodeNamespaceImport("System"));
-                    ns.Imports.Add(new CodeNamespaceImport("System.Drawing"));
-                    ns.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
-                    ns.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
-                    cu.Namespaces.Add(ns);
-
-                    var attrs = cu.AssemblyCustomAttributes;
-                    attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyTitle", new CodeAttributeArgument(new CodePrimitiveExpression("MyAssembly"))));
-                    attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyVersion", new CodeAttributeArgument(new CodePrimitiveExpression("1.0.6.2"))));
-                    attrs.Add(new CodeAttributeDeclaration("System.CLSCompliantAttribute", new CodeAttributeArgument(new CodePrimitiveExpression(false))));
-
-                    var class1 = new CodeTypeDeclaration() { Name = "MyClass" };
-                    class1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Serializable"));
-                    class1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Class"))));
-                    ns.Types.Add(class1);
-
-                    var nestedClass = new CodeTypeDeclaration("NestedClass") { IsClass = true, TypeAttributes = TypeAttributes.NestedPublic };
-                    nestedClass.CustomAttributes.Add(new CodeAttributeDeclaration("System.Serializable"));
-                    class1.Members.Add(nestedClass);
-
-                    var method1 = new CodeMemberMethod() { Name = "MyMethod" };
-                    method1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Method"))));
-                    method1.CustomAttributes.Add(new CodeAttributeDeclaration("System.ComponentModel.Editor", new CodeAttributeArgument(new CodePrimitiveExpression("This")), new CodeAttributeArgument(new CodePrimitiveExpression("That"))));
-                    var param1 = new CodeParameterDeclarationExpression(typeof(string), "blah");
-                    param1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute",
-                                    new CodeAttributeArgument("Form", new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
-                                    new CodeAttributeArgument("IsNullable", new CodePrimitiveExpression(false))));
-                    method1.Parameters.Add(param1);
-                    var param2 = new CodeParameterDeclarationExpression(typeof(int[]), "arrayit");
-                    param2.CustomAttributes.Add(
-                                new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute",
-                                    new CodeAttributeArgument("Form", new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
-                                    new CodeAttributeArgument("IsNullable", new CodePrimitiveExpression(false))));
-                    method1.Parameters.Add(param2);
-                    class1.Members.Add(method1);
-
-                    var function1 = new CodeMemberMethod();
-                    function1.Name = "MyFunction";
-                    function1.ReturnType = new CodeTypeReference(typeof(string));
-                    function1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Function"))));
-                    function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlIgnoreAttribute"));
-                    function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlRootAttribute", new
-                        CodeAttributeArgument("Namespace", new CodePrimitiveExpression("Namespace Value")), new
-                        CodeAttributeArgument("ElementName", new CodePrimitiveExpression("Root, hehehe"))));
-                    function1.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression("Return")));
-                    class1.Members.Add(function1);
-
-                    CodeMemberMethod function2 = new CodeMemberMethod();
-                    function2.Name = "GlobalKeywordFunction";
-                    function2.CustomAttributes.Add(new CodeAttributeDeclaration(new CodeTypeReference(typeof(ObsoleteAttribute), CodeTypeReferenceOptions.GlobalReference), new
-                        CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Function"))));
-                    CodeTypeReference typeRef = new CodeTypeReference("System.Xml.Serialization.XmlIgnoreAttribute", CodeTypeReferenceOptions.GlobalReference);
-                    CodeAttributeDeclaration codeAttrib = new CodeAttributeDeclaration(typeRef);
-                    function2.ReturnTypeCustomAttributes.Add(codeAttrib);
-                    class1.Members.Add(function2);
-
-                    CodeMemberField field1 = new CodeMemberField();
-                    field1.Name = "myField";
-                    field1.Type = new CodeTypeReference(typeof(string));
-                    field1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute"));
-                    field1.InitExpression = new CodePrimitiveExpression("hi!");
-                    class1.Members.Add(field1);
-
-                    CodeMemberProperty prop1 = new CodeMemberProperty();
-                    prop1.Name = "MyProperty";
-                    prop1.Type = new CodeTypeReference(typeof(string));
-                    prop1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Property"))));
-                    prop1.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "myField")));
-                    class1.Members.Add(prop1);
-
-                    CodeConstructor const1 = new CodeConstructor();
-                    const1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Constructor"))));
-                    class1.Members.Add(const1);
-
-                    class1 = new CodeTypeDeclaration("Test");
-                    class1.IsClass = true;
-                    class1.BaseTypes.Add(new CodeTypeReference("Form"));
-                    ns.Types.Add(class1);
-
-                    CodeMemberField mfield = new CodeMemberField(new CodeTypeReference("Button"), "b");
-                    mfield.InitExpression = new CodeObjectCreateExpression(new CodeTypeReference("Button"));
-                    class1.Members.Add(mfield);
-
-                    CodeConstructor ctor = new CodeConstructor();
-                    ctor.Attributes = MemberAttributes.Public;
-                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
-                                        "Size"), new CodeObjectCreateExpression(new CodeTypeReference("Size"),
-                                        new CodePrimitiveExpression(600), new CodePrimitiveExpression(600))));
-                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                                        "Text"), new CodePrimitiveExpression("Test")));
-                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                                        "TabIndex"), new CodePrimitiveExpression(0)));
-                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                                        "Location"), new CodeObjectCreateExpression(new CodeTypeReference("Point"),
-                                        new CodePrimitiveExpression(400), new CodePrimitiveExpression(525))));
-                    ctor.Statements.Add(new CodeAttachEventStatement(new CodeEventReferenceExpression(new
-                        CodeThisReferenceExpression(), "MyEvent"), new CodeDelegateCreateExpression(new CodeTypeReference("EventHandler")
-                        , new CodeThisReferenceExpression(), "b_Click")));
-                    class1.Members.Add(ctor);
-
-                    CodeMemberEvent evt = new CodeMemberEvent();
-                    evt.Name = "MyEvent";
-                    evt.Type = new CodeTypeReference("System.EventHandler");
-                    evt.Attributes = MemberAttributes.Public;
-                    evt.CustomAttributes.Add(new CodeAttributeDeclaration("System.CLSCompliantAttribute", new CodeAttributeArgument(new CodePrimitiveExpression(false))));
-                    class1.Members.Add(evt);
-
-                    CodeMemberMethod cmm = new CodeMemberMethod();
-                    cmm.Name = "b_Click";
-                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(object), "sender"));
-                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(EventArgs), "e"));
-                    class1.Members.Add(cmm);
-
-                    AssertEqual(cu,
-                        @"'------------------------------------------------------------------------------
-                      ' <auto-generated>
-                      '     This code was generated by a tool.
-                      '
-                      '     Changes to this file may cause incorrect behavior and will be lost if
-                      '     the code is regenerated.
-                      ' </auto-generated>
-                      '------------------------------------------------------------------------------
-
-                      Option Strict Off
-                      Option Explicit On
-
-                      Imports System
-                      Imports System.ComponentModel
-                      Imports System.Drawing
-                      Imports System.Windows.Forms
-                      <Assembly: System.Reflection.AssemblyTitle(""MyAssembly""),  _
-                       Assembly: System.Reflection.AssemblyVersion(""1.0.6.2""),  _
-                       Assembly: System.CLSCompliantAttribute(false)>
-
-                      Namespace MyNamespace
-
-                          <System.Serializable(),  _
-                           System.Obsolete(""Don't use this Class"")>  _
-                          Public Class [MyClass]
-
-                              <System.Xml.Serialization.XmlElementAttribute()>  _
-                              Private myField As String = ""hi!""
-
-                              <System.Obsolete(""Don't use this Constructor"")>  _
-                              Private Sub New()
-                                  MyBase.New
-                              End Sub
-
-                              <System.Obsolete(""Don't use this Property"")>  _
-                              Private ReadOnly Property MyProperty() As String
-                                  Get
-                                      Return Me.myField
-                                  End Get
-                              End Property
-
-                              <System.Obsolete(""Don't use this Method""),  _
-                               System.ComponentModel.Editor(""This"", ""That"")>  _
-                              Private Sub MyMethod(<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable:=false)> ByVal blah As String, <System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable:=false)> ByVal arrayit() As Integer)
-                              End Sub
-
-                              <System.Obsolete(""Don't use this Function"")>  _
-                              Private Function MyFunction() As <System.Xml.Serialization.XmlIgnoreAttribute(), System.Xml.Serialization.XmlRootAttribute([Namespace]:=""Namespace Value"", ElementName:=""Root, hehehe"")> String
-                                  Return ""Return""
-                              End Function
-
-                              <Global.System.ObsoleteAttribute(""Don't use this Function"")>  _
-                              Private Sub GlobalKeywordFunction()
-                              End Sub
-
-                              <System.Serializable()>  _
-                              Public Class NestedClass
-                              End Class
-                          End Class
-
-                          Public Class Test
-                              Inherits Form
-
-                              Private b As Button = New Button()
-
-                              Public Sub New()
-                                  MyBase.New
-                                  Me.Size = New Size(600, 600)
-                                  b.Text = ""Test""
-                                  b.TabIndex = 0
-                                  b.Location = New Point(400, 525)
-                                  AddHandler MyEvent, AddressOf Me.b_Click
-                              End Sub
-
-                              <System.CLSCompliantAttribute(false)>  _
-                              Public Event MyEvent As System.EventHandler
-
-                              Private Sub b_Click(ByVal sender As Object, ByVal e As System.EventArgs)
-                              End Sub
-                          End Class
-                      End Namespace");
-                }
-            }).Dispose();
+                var cu = new CodeCompileUnit();
+
+                var ns = new CodeNamespace();
+                ns.Name = "MyNamespace";
+                ns.Imports.Add(new CodeNamespaceImport("System"));
+                ns.Imports.Add(new CodeNamespaceImport("System.Drawing"));
+                ns.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
+                ns.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
+                cu.Namespaces.Add(ns);
+
+                var attrs = cu.AssemblyCustomAttributes;
+                attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyTitle", new CodeAttributeArgument(new CodePrimitiveExpression("MyAssembly"))));
+                attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyVersion", new CodeAttributeArgument(new CodePrimitiveExpression("1.0.6.2"))));
+                attrs.Add(new CodeAttributeDeclaration("System.CLSCompliantAttribute", new CodeAttributeArgument(new CodePrimitiveExpression(false))));
+
+                var class1 = new CodeTypeDeclaration() { Name = "MyClass" };
+                class1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Serializable"));
+                class1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Class"))));
+                ns.Types.Add(class1);
+
+                var nestedClass = new CodeTypeDeclaration("NestedClass") { IsClass = true, TypeAttributes = TypeAttributes.NestedPublic };
+                nestedClass.CustomAttributes.Add(new CodeAttributeDeclaration("System.Serializable"));
+                class1.Members.Add(nestedClass);
+
+                var method1 = new CodeMemberMethod() { Name = "MyMethod" };
+                method1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Method"))));
+                method1.CustomAttributes.Add(new CodeAttributeDeclaration("System.ComponentModel.Editor", new CodeAttributeArgument(new CodePrimitiveExpression("This")), new CodeAttributeArgument(new CodePrimitiveExpression("That"))));
+                var param1 = new CodeParameterDeclarationExpression(typeof(string), "blah");
+                param1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute",
+                                new CodeAttributeArgument("Form", new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
+                                new CodeAttributeArgument("IsNullable", new CodePrimitiveExpression(false))));
+                method1.Parameters.Add(param1);
+                var param2 = new CodeParameterDeclarationExpression(typeof(int[]), "arrayit");
+                param2.CustomAttributes.Add(
+                            new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute",
+                                new CodeAttributeArgument("Form", new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
+                                new CodeAttributeArgument("IsNullable", new CodePrimitiveExpression(false))));
+                method1.Parameters.Add(param2);
+                class1.Members.Add(method1);
+
+                var function1 = new CodeMemberMethod();
+                function1.Name = "MyFunction";
+                function1.ReturnType = new CodeTypeReference(typeof(string));
+                function1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Function"))));
+                function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlIgnoreAttribute"));
+                function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlRootAttribute", new
+                    CodeAttributeArgument("Namespace", new CodePrimitiveExpression("Namespace Value")), new
+                    CodeAttributeArgument("ElementName", new CodePrimitiveExpression("Root, hehehe"))));
+                function1.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression("Return")));
+                class1.Members.Add(function1);
+
+                CodeMemberMethod function2 = new CodeMemberMethod();
+                function2.Name = "GlobalKeywordFunction";
+                function2.CustomAttributes.Add(new CodeAttributeDeclaration(new CodeTypeReference(typeof(ObsoleteAttribute), CodeTypeReferenceOptions.GlobalReference), new
+                    CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Function"))));
+                CodeTypeReference typeRef = new CodeTypeReference("System.Xml.Serialization.XmlIgnoreAttribute", CodeTypeReferenceOptions.GlobalReference);
+                CodeAttributeDeclaration codeAttrib = new CodeAttributeDeclaration(typeRef);
+                function2.ReturnTypeCustomAttributes.Add(codeAttrib);
+                class1.Members.Add(function2);
+
+                CodeMemberField field1 = new CodeMemberField();
+                field1.Name = "myField";
+                field1.Type = new CodeTypeReference(typeof(string));
+                field1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlElementAttribute"));
+                field1.InitExpression = new CodePrimitiveExpression("hi!");
+                class1.Members.Add(field1);
+
+                CodeMemberProperty prop1 = new CodeMemberProperty();
+                prop1.Name = "MyProperty";
+                prop1.Type = new CodeTypeReference(typeof(string));
+                prop1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Property"))));
+                prop1.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "myField")));
+                class1.Members.Add(prop1);
+
+                CodeConstructor const1 = new CodeConstructor();
+                const1.CustomAttributes.Add(new CodeAttributeDeclaration("System.Obsolete", new CodeAttributeArgument(new CodePrimitiveExpression("Don't use this Constructor"))));
+                class1.Members.Add(const1);
+
+                class1 = new CodeTypeDeclaration("Test");
+                class1.IsClass = true;
+                class1.BaseTypes.Add(new CodeTypeReference("Form"));
+                ns.Types.Add(class1);
+
+                CodeMemberField mfield = new CodeMemberField(new CodeTypeReference("Button"), "b");
+                mfield.InitExpression = new CodeObjectCreateExpression(new CodeTypeReference("Button"));
+                class1.Members.Add(mfield);
+
+                CodeConstructor ctor = new CodeConstructor();
+                ctor.Attributes = MemberAttributes.Public;
+                ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
+                                    "Size"), new CodeObjectCreateExpression(new CodeTypeReference("Size"),
+                                    new CodePrimitiveExpression(600), new CodePrimitiveExpression(600))));
+                ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                                    "Text"), new CodePrimitiveExpression("Test")));
+                ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                                    "TabIndex"), new CodePrimitiveExpression(0)));
+                ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                                    "Location"), new CodeObjectCreateExpression(new CodeTypeReference("Point"),
+                                    new CodePrimitiveExpression(400), new CodePrimitiveExpression(525))));
+                ctor.Statements.Add(new CodeAttachEventStatement(new CodeEventReferenceExpression(new
+                    CodeThisReferenceExpression(), "MyEvent"), new CodeDelegateCreateExpression(new CodeTypeReference("EventHandler")
+                    , new CodeThisReferenceExpression(), "b_Click")));
+                class1.Members.Add(ctor);
+
+                CodeMemberEvent evt = new CodeMemberEvent();
+                evt.Name = "MyEvent";
+                evt.Type = new CodeTypeReference("System.EventHandler");
+                evt.Attributes = MemberAttributes.Public;
+                evt.CustomAttributes.Add(new CodeAttributeDeclaration("System.CLSCompliantAttribute", new CodeAttributeArgument(new CodePrimitiveExpression(false))));
+                class1.Members.Add(evt);
+
+                CodeMemberMethod cmm = new CodeMemberMethod();
+                cmm.Name = "b_Click";
+                cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(object), "sender"));
+                cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(EventArgs), "e"));
+                class1.Members.Add(cmm);
+
+                AssertEqual(cu,
+                    @"'------------------------------------------------------------------------------
+                    ' <auto-generated>
+                    '     This code was generated by a tool.
+                    '
+                    '     Changes to this file may cause incorrect behavior and will be lost if
+                    '     the code is regenerated.
+                    ' </auto-generated>
+                    '------------------------------------------------------------------------------
+
+                    Option Strict Off
+                    Option Explicit On
+
+                    Imports System
+                    Imports System.ComponentModel
+                    Imports System.Drawing
+                    Imports System.Windows.Forms
+                    <Assembly: System.Reflection.AssemblyTitle(""MyAssembly""),  _
+                    Assembly: System.Reflection.AssemblyVersion(""1.0.6.2""),  _
+                    Assembly: System.CLSCompliantAttribute(false)>
+
+                    Namespace MyNamespace
+
+                        <System.Serializable(),  _
+                        System.Obsolete(""Don't use this Class"")>  _
+                        Public Class [MyClass]
+
+                            <System.Xml.Serialization.XmlElementAttribute()>  _
+                            Private myField As String = ""hi!""
+
+                            <System.Obsolete(""Don't use this Constructor"")>  _
+                            Private Sub New()
+                                MyBase.New
+                            End Sub
+
+                            <System.Obsolete(""Don't use this Property"")>  _
+                            Private ReadOnly Property MyProperty() As String
+                                Get
+                                    Return Me.myField
+                                End Get
+                            End Property
+
+                            <System.Obsolete(""Don't use this Method""),  _
+                            System.ComponentModel.Editor(""This"", ""That"")>  _
+                            Private Sub MyMethod(<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable:=false)> ByVal blah As String, <System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable:=false)> ByVal arrayit() As Integer)
+                            End Sub
+
+                            <System.Obsolete(""Don't use this Function"")>  _
+                            Private Function MyFunction() As <System.Xml.Serialization.XmlIgnoreAttribute(), System.Xml.Serialization.XmlRootAttribute([Namespace]:=""Namespace Value"", ElementName:=""Root, hehehe"")> String
+                                Return ""Return""
+                            End Function
+
+                            <Global.System.ObsoleteAttribute(""Don't use this Function"")>  _
+                            Private Sub GlobalKeywordFunction()
+                            End Sub
+
+                            <System.Serializable()>  _
+                            Public Class NestedClass
+                            End Class
+                        End Class
+
+                        Public Class Test
+                            Inherits Form
+
+                            Private b As Button = New Button()
+
+                            Public Sub New()
+                                MyBase.New
+                                Me.Size = New Size(600, 600)
+                                b.Text = ""Test""
+                                b.TabIndex = 0
+                                b.Location = New Point(400, 525)
+                                AddHandler MyEvent, AddressOf Me.b_Click
+                            End Sub
+
+                            <System.CLSCompliantAttribute(false)>  _
+                            Public Event MyEvent As System.EventHandler
+
+                            Private Sub b_Click(ByVal sender As Object, ByVal e As System.EventArgs)
+                            End Sub
+                        End Class
+                    End Namespace");
+            }
         }
 
         [Fact]
@@ -1405,265 +1402,262 @@ namespace System.CodeDom.Compiler.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework)]
         public void RegionsSnippetsAndLinePragmas()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    CodeCompileUnit cu = new CodeCompileUnit();
-                    CodeNamespace ns = new CodeNamespace("Namespace1");
+                CodeCompileUnit cu = new CodeCompileUnit();
+                CodeNamespace ns = new CodeNamespace("Namespace1");
 
-                    cu.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Compile Unit Region"));
-                    cu.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                cu.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Compile Unit Region"));
+                cu.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
 
-                    cu.Namespaces.Add(ns);
+                cu.Namespaces.Add(ns);
 
-                    CodeTypeDeclaration cd = new CodeTypeDeclaration("Class1");
-                    ns.Types.Add(cd);
+                CodeTypeDeclaration cd = new CodeTypeDeclaration("Class1");
+                ns.Types.Add(cd);
 
-                    cd.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Outer Type Region"));
-                    cd.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                cd.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Outer Type Region"));
+                cd.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
 
-                    cd.Comments.Add(new CodeCommentStatement("Outer Type Comment"));
+                cd.Comments.Add(new CodeCommentStatement("Outer Type Comment"));
 
-                    CodeMemberField field1 = new CodeMemberField(typeof(String), "field1");
-                    CodeMemberField field2 = new CodeMemberField(typeof(String), "field2");
-                    field1.Comments.Add(new CodeCommentStatement("Field 1 Comment"));
-                    field2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Field Region"));
-                    field2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                CodeMemberField field1 = new CodeMemberField(typeof(String), "field1");
+                CodeMemberField field2 = new CodeMemberField(typeof(String), "field2");
+                field1.Comments.Add(new CodeCommentStatement("Field 1 Comment"));
+                field2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Field Region"));
+                field2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
 
-                    CodeMemberEvent evt1 = new CodeMemberEvent();
-                    evt1.Name = "Event1";
-                    evt1.Type = new CodeTypeReference(typeof(System.EventHandler));
-                    evt1.Attributes = (evt1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                CodeMemberEvent evt1 = new CodeMemberEvent();
+                evt1.Name = "Event1";
+                evt1.Type = new CodeTypeReference(typeof(System.EventHandler));
+                evt1.Attributes = (evt1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
 
-                    CodeMemberEvent evt2 = new CodeMemberEvent();
-                    evt2.Name = "Event2";
-                    evt2.Type = new CodeTypeReference(typeof(System.EventHandler));
-                    evt2.Attributes = (evt2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                CodeMemberEvent evt2 = new CodeMemberEvent();
+                evt2.Name = "Event2";
+                evt2.Type = new CodeTypeReference(typeof(System.EventHandler));
+                evt2.Attributes = (evt2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
 
-                    evt2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Event Region"));
-                    evt2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                evt2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Event Region"));
+                evt2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
 
-                    CodeMemberMethod method1 = new CodeMemberMethod();
-                    method1.Name = "Method1";
-                    method1.Attributes = (method1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    method1.Statements.Add(
-                        new CodeDelegateInvokeExpression(
-                            new CodeEventReferenceExpression(new CodeThisReferenceExpression(), "Event1"),
-                            new CodeExpression[] {
-                            new CodeThisReferenceExpression(),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.EventArgs"), "Empty")
-                            }));
-
-                    CodeMemberMethod method2 = new CodeMemberMethod();
-                    method2.Name = "Method2";
-                    method2.Attributes = (method2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    method2.Statements.Add(
-                        new CodeDelegateInvokeExpression(
-                            new CodeEventReferenceExpression(new CodeThisReferenceExpression(), "Event2"),
-                            new CodeExpression[] {
+                CodeMemberMethod method1 = new CodeMemberMethod();
+                method1.Name = "Method1";
+                method1.Attributes = (method1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                method1.Statements.Add(
+                    new CodeDelegateInvokeExpression(
+                        new CodeEventReferenceExpression(new CodeThisReferenceExpression(), "Event1"),
+                        new CodeExpression[] {
                         new CodeThisReferenceExpression(),
                         new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.EventArgs"), "Empty")
-                            }));
-                    method2.LinePragma = new CodeLinePragma("MethodLinePragma.txt", 500);
-                    method2.Comments.Add(new CodeCommentStatement("Method 2 Comment"));
-
-                    method2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Method Region"));
-                    method2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeMemberProperty property1 = new CodeMemberProperty();
-                    property1.Name = "Property1";
-                    property1.Type = new CodeTypeReference(typeof(string));
-                    property1.Attributes = (property1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    property1.GetStatements.Add(
-                        new CodeMethodReturnStatement(
-                            new CodeFieldReferenceExpression(
-                                new CodeThisReferenceExpression(),
-                                "field1")));
-
-                    CodeMemberProperty property2 = new CodeMemberProperty();
-                    property2.Name = "Property2";
-                    property2.Type = new CodeTypeReference(typeof(string));
-                    property2.Attributes = (property2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    property2.GetStatements.Add(
-                        new CodeMethodReturnStatement(
-                            new CodeFieldReferenceExpression(
-                                new CodeThisReferenceExpression(),
-                                "field2")));
-
-                    property2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Property Region"));
-                    property2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeConstructor constructor1 = new CodeConstructor();
-                    constructor1.Attributes = (constructor1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    CodeStatement conState1 = new CodeAssignStatement(
-                                                new CodeFieldReferenceExpression(
-                                                    new CodeThisReferenceExpression(),
-                                                    "field1"),
-                                                new CodePrimitiveExpression("value1"));
-                    conState1.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Statements Region"));
-                    constructor1.Statements.Add(conState1);
-                    CodeStatement conState2 = new CodeAssignStatement(
-                                                new CodeFieldReferenceExpression(
-                                                    new CodeThisReferenceExpression(),
-                                                    "field2"),
-                                                new CodePrimitiveExpression("value2"));
-                    conState2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-                    constructor1.Statements.Add(conState2);
-
-                    constructor1.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Constructor Region"));
-                    constructor1.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeConstructor constructor2 = new CodeConstructor();
-                    constructor2.Attributes = (constructor2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
-                    constructor2.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "value1"));
-                    constructor2.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "value2"));
-
-                    CodeTypeConstructor typeConstructor2 = new CodeTypeConstructor();
-
-                    typeConstructor2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Type Constructor Region"));
-                    typeConstructor2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeEntryPointMethod methodMain = new CodeEntryPointMethod();
-
-                    CodeTypeDeclaration nestedClass1 = new CodeTypeDeclaration("NestedClass1");
-                    CodeTypeDeclaration nestedClass2 = new CodeTypeDeclaration("NestedClass2");
-                    nestedClass2.LinePragma = new CodeLinePragma("NestedTypeLinePragma.txt", 400);
-                    nestedClass2.Comments.Add(new CodeCommentStatement("Nested Type Comment"));
-
-                    nestedClass2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Nested Type Region"));
-                    nestedClass2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    CodeTypeDelegate delegate1 = new CodeTypeDelegate();
-                    delegate1.Name = "nestedDelegate1";
-                    delegate1.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.Object"), "sender"));
-                    delegate1.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.EventArgs"), "e"));
-
-                    CodeTypeDelegate delegate2 = new CodeTypeDelegate();
-                    delegate2.Name = "nestedDelegate2";
-                    delegate2.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.Object"), "sender"));
-                    delegate2.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.EventArgs"), "e"));
-
-                    delegate2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Delegate Region"));
-                    delegate2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    var snippet1 = new CodeSnippetTypeMember();
-                    var snippet2 = new CodeSnippetTypeMember();
-
-                    CodeRegionDirective regionStart = new CodeRegionDirective(CodeRegionMode.End, "");
-                    regionStart.RegionText = "Snippet Region";
-                    regionStart.RegionMode = CodeRegionMode.Start;
-                    snippet2.StartDirectives.Add(regionStart);
-                    snippet2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
-
-                    cd.Members.Add(field1);
-                    cd.Members.Add(method1);
-                    cd.Members.Add(constructor1);
-                    cd.Members.Add(property1);
-                    cd.Members.Add(methodMain);
-
-                    cd.Members.Add(evt1);
-                    cd.Members.Add(nestedClass1);
-                    cd.Members.Add(delegate1);
-
-                    cd.Members.Add(snippet1);
-
-                    cd.Members.Add(field2);
-                    cd.Members.Add(method2);
-                    cd.Members.Add(constructor2);
-                    cd.Members.Add(property2);
-
-                    cd.Members.Add(typeConstructor2);
-                    cd.Members.Add(evt2);
-                    cd.Members.Add(nestedClass2);
-                    cd.Members.Add(delegate2);
-                    cd.Members.Add(snippet2);
-
-                    AssertEqual(cu,
-                        @"#Region ""Compile Unit Region""
-                      '------------------------------------------------------------------------------
-                      ' <auto-generated>
-                      '     This code was generated by a tool.
-                      '
-                      '     Changes to this file may cause incorrect behavior and will be lost if
-                      '     the code is regenerated.
-                      ' </auto-generated>
-                      '------------------------------------------------------------------------------
-                      Option Strict Off
-                      Option Explicit On
-                      Namespace Namespace1
-                          #Region ""Outer Type Region""
-                          'Outer Type Comment
-                          Public Class Class1
-                              'Field 1 Comment
-                              Private field1 As String
-                              #Region ""Field Region""
-                              Private field2 As String
-                              #End Region
-                              #Region ""Snippet Region""
-                              #End Region
-                              #Region ""Type Constructor Region""
-                              Shared Sub New()
-                              End Sub
-                              #End Region
-                              #Region ""Constructor Region""
-                              Public Sub New()
-                                  MyBase.New
-                                  Me.field1 = ""value1""
-                                  Me.field2 = ""value2""
-                              End Sub
-                              #End Region
-                              Public Sub New(ByVal value1 As String, ByVal value2 As String)
-                                  MyBase.New
-                              End Sub
-                              Public ReadOnly Property Property1() As String
-                                  Get
-                                      Return Me.field1
-                                  End Get
-                              End Property
-                              #Region ""Property Region""
-                              Public ReadOnly Property Property2() As String
-                                  Get
-                                      Return Me.field2
-                                  End Get
-                              End Property
-                              #End Region
-                              Public Event Event1 As System.EventHandler
-                              #Region ""Event Region""
-                              Public Event Event2 As System.EventHandler
-                              #End Region
-                              Public Sub Method1()
-                                  RaiseEvent Event1(Me, System.EventArgs.Empty)
-                              End Sub
-                              Public Shared Sub Main()
-                              End Sub
-                              #Region ""Method Region""
-                              'Method 2 Comment
-                              #ExternalSource(""MethodLinePragma.txt"",500)
-                              Public Sub Method2()
-                                  RaiseEvent Event2(Me, System.EventArgs.Empty)
-                              End Sub
-                              #End ExternalSource
-                              #End Region
-                              Public Class NestedClass1
-                              End Class
-                              Public Delegate Sub nestedDelegate1(ByVal sender As Object, ByVal e As System.EventArgs)
-                              #Region ""Nested Type Region""
-                              'Nested Type Comment
-                              #ExternalSource(""NestedTypeLinePragma.txt"",400)
-                              Public Class NestedClass2
-                              End Class
-                              #End ExternalSource
-                              #End Region
-                              #Region ""Delegate Region""
-                              Public Delegate Sub nestedDelegate2(ByVal sender As Object, ByVal e As System.EventArgs)
-                              #End Region
-                          End Class
-                          #End Region
-                      End Namespace
-                      #End Region");
-                }
-            }).Dispose();
+                        }));
+
+                CodeMemberMethod method2 = new CodeMemberMethod();
+                method2.Name = "Method2";
+                method2.Attributes = (method2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                method2.Statements.Add(
+                    new CodeDelegateInvokeExpression(
+                        new CodeEventReferenceExpression(new CodeThisReferenceExpression(), "Event2"),
+                        new CodeExpression[] {
+                    new CodeThisReferenceExpression(),
+                    new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.EventArgs"), "Empty")
+                        }));
+                method2.LinePragma = new CodeLinePragma("MethodLinePragma.txt", 500);
+                method2.Comments.Add(new CodeCommentStatement("Method 2 Comment"));
+
+                method2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Method Region"));
+                method2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeMemberProperty property1 = new CodeMemberProperty();
+                property1.Name = "Property1";
+                property1.Type = new CodeTypeReference(typeof(string));
+                property1.Attributes = (property1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                property1.GetStatements.Add(
+                    new CodeMethodReturnStatement(
+                        new CodeFieldReferenceExpression(
+                            new CodeThisReferenceExpression(),
+                            "field1")));
+
+                CodeMemberProperty property2 = new CodeMemberProperty();
+                property2.Name = "Property2";
+                property2.Type = new CodeTypeReference(typeof(string));
+                property2.Attributes = (property2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                property2.GetStatements.Add(
+                    new CodeMethodReturnStatement(
+                        new CodeFieldReferenceExpression(
+                            new CodeThisReferenceExpression(),
+                            "field2")));
+
+                property2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Property Region"));
+                property2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeConstructor constructor1 = new CodeConstructor();
+                constructor1.Attributes = (constructor1.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                CodeStatement conState1 = new CodeAssignStatement(
+                                            new CodeFieldReferenceExpression(
+                                                new CodeThisReferenceExpression(),
+                                                "field1"),
+                                            new CodePrimitiveExpression("value1"));
+                conState1.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Statements Region"));
+                constructor1.Statements.Add(conState1);
+                CodeStatement conState2 = new CodeAssignStatement(
+                                            new CodeFieldReferenceExpression(
+                                                new CodeThisReferenceExpression(),
+                                                "field2"),
+                                            new CodePrimitiveExpression("value2"));
+                conState2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+                constructor1.Statements.Add(conState2);
+
+                constructor1.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Constructor Region"));
+                constructor1.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeConstructor constructor2 = new CodeConstructor();
+                constructor2.Attributes = (constructor2.Attributes & ~MemberAttributes.AccessMask) | MemberAttributes.Public;
+                constructor2.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "value1"));
+                constructor2.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "value2"));
+
+                CodeTypeConstructor typeConstructor2 = new CodeTypeConstructor();
+
+                typeConstructor2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Type Constructor Region"));
+                typeConstructor2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeEntryPointMethod methodMain = new CodeEntryPointMethod();
+
+                CodeTypeDeclaration nestedClass1 = new CodeTypeDeclaration("NestedClass1");
+                CodeTypeDeclaration nestedClass2 = new CodeTypeDeclaration("NestedClass2");
+                nestedClass2.LinePragma = new CodeLinePragma("NestedTypeLinePragma.txt", 400);
+                nestedClass2.Comments.Add(new CodeCommentStatement("Nested Type Comment"));
+
+                nestedClass2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Nested Type Region"));
+                nestedClass2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                CodeTypeDelegate delegate1 = new CodeTypeDelegate();
+                delegate1.Name = "nestedDelegate1";
+                delegate1.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.Object"), "sender"));
+                delegate1.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.EventArgs"), "e"));
+
+                CodeTypeDelegate delegate2 = new CodeTypeDelegate();
+                delegate2.Name = "nestedDelegate2";
+                delegate2.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.Object"), "sender"));
+                delegate2.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference("System.EventArgs"), "e"));
+
+                delegate2.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "Delegate Region"));
+                delegate2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                var snippet1 = new CodeSnippetTypeMember();
+                var snippet2 = new CodeSnippetTypeMember();
+
+                CodeRegionDirective regionStart = new CodeRegionDirective(CodeRegionMode.End, "");
+                regionStart.RegionText = "Snippet Region";
+                regionStart.RegionMode = CodeRegionMode.Start;
+                snippet2.StartDirectives.Add(regionStart);
+                snippet2.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, string.Empty));
+
+                cd.Members.Add(field1);
+                cd.Members.Add(method1);
+                cd.Members.Add(constructor1);
+                cd.Members.Add(property1);
+                cd.Members.Add(methodMain);
+
+                cd.Members.Add(evt1);
+                cd.Members.Add(nestedClass1);
+                cd.Members.Add(delegate1);
+
+                cd.Members.Add(snippet1);
+
+                cd.Members.Add(field2);
+                cd.Members.Add(method2);
+                cd.Members.Add(constructor2);
+                cd.Members.Add(property2);
+
+                cd.Members.Add(typeConstructor2);
+                cd.Members.Add(evt2);
+                cd.Members.Add(nestedClass2);
+                cd.Members.Add(delegate2);
+                cd.Members.Add(snippet2);
+
+                AssertEqual(cu,
+                    @"#Region ""Compile Unit Region""
+                    '------------------------------------------------------------------------------
+                    ' <auto-generated>
+                    '     This code was generated by a tool.
+                    '
+                    '     Changes to this file may cause incorrect behavior and will be lost if
+                    '     the code is regenerated.
+                    ' </auto-generated>
+                    '------------------------------------------------------------------------------
+                    Option Strict Off
+                    Option Explicit On
+                    Namespace Namespace1
+                        #Region ""Outer Type Region""
+                        'Outer Type Comment
+                        Public Class Class1
+                            'Field 1 Comment
+                            Private field1 As String
+                            #Region ""Field Region""
+                            Private field2 As String
+                            #End Region
+                            #Region ""Snippet Region""
+                            #End Region
+                            #Region ""Type Constructor Region""
+                            Shared Sub New()
+                            End Sub
+                            #End Region
+                            #Region ""Constructor Region""
+                            Public Sub New()
+                                MyBase.New
+                                Me.field1 = ""value1""
+                                Me.field2 = ""value2""
+                            End Sub
+                            #End Region
+                            Public Sub New(ByVal value1 As String, ByVal value2 As String)
+                                MyBase.New
+                            End Sub
+                            Public ReadOnly Property Property1() As String
+                                Get
+                                    Return Me.field1
+                                End Get
+                            End Property
+                            #Region ""Property Region""
+                            Public ReadOnly Property Property2() As String
+                                Get
+                                    Return Me.field2
+                                End Get
+                            End Property
+                            #End Region
+                            Public Event Event1 As System.EventHandler
+                            #Region ""Event Region""
+                            Public Event Event2 As System.EventHandler
+                            #End Region
+                            Public Sub Method1()
+                                RaiseEvent Event1(Me, System.EventArgs.Empty)
+                            End Sub
+                            Public Shared Sub Main()
+                            End Sub
+                            #Region ""Method Region""
+                            'Method 2 Comment
+                            #ExternalSource(""MethodLinePragma.txt"",500)
+                            Public Sub Method2()
+                                RaiseEvent Event2(Me, System.EventArgs.Empty)
+                            End Sub
+                            #End ExternalSource
+                            #End Region
+                            Public Class NestedClass1
+                            End Class
+                            Public Delegate Sub nestedDelegate1(ByVal sender As Object, ByVal e As System.EventArgs)
+                            #Region ""Nested Type Region""
+                            'Nested Type Comment
+                            #ExternalSource(""NestedTypeLinePragma.txt"",400)
+                            Public Class NestedClass2
+                            End Class
+                            #End ExternalSource
+                            #End Region
+                            #Region ""Delegate Region""
+                            Public Delegate Sub nestedDelegate2(ByVal sender As Object, ByVal e As System.EventArgs)
+                            #End Region
+                        End Class
+                        #End Region
+                    End Namespace
+                    #End Region");
+            }
         }
 
         [Fact]
@@ -2369,828 +2363,825 @@ namespace System.CodeDom.Compiler.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework)]
         public void ProviderSupports()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                CodeDomProvider provider = GetProvider();
+
+                CodeCompileUnit cu = new CodeCompileUnit();
+                CodeNamespace nspace = new CodeNamespace("NSPC");
+                nspace.Imports.Add(new CodeNamespaceImport("System"));
+                nspace.Imports.Add(new CodeNamespaceImport("System.Drawing"));
+                nspace.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
+                nspace.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
+                cu.Namespaces.Add(nspace);
+
+                CodeTypeDeclaration cd = new CodeTypeDeclaration("TEST");
+                cd.IsClass = true;
+                nspace.Types.Add(cd);
+
+                // Arrays of Arrays
+                CodeMemberMethod cmm = new CodeMemberMethod();
+                cmm.Name = "ArraysOfArrays";
+                cmm.ReturnType = new CodeTypeReference(typeof(int));
+                cmm.Attributes = MemberAttributes.Final | MemberAttributes.Public;
+                if (provider.Supports(GeneratorSupport.ArraysOfArrays))
+                {
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement(new CodeTypeReference(typeof(int[][])),
+                        "arrayOfArrays", new CodeArrayCreateExpression(typeof(int[][]),
+                        new CodeArrayCreateExpression(typeof(int[]), new CodePrimitiveExpression(3), new CodePrimitiveExpression(4)),
+                        new CodeArrayCreateExpression(typeof(int[]), new CodeExpression[] { new CodePrimitiveExpression(1) }))));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeArrayIndexerExpression(
+                        new CodeArrayIndexerExpression(new CodeVariableReferenceExpression("arrayOfArrays"), new CodePrimitiveExpression(0))
+                        , new CodePrimitiveExpression(1))));
+                }
+                else
+                {
+                    throw new Exception("not supported");
+                }
+                cd.Members.Add(cmm);
+
+                // assembly attributes
+                if (provider.Supports(GeneratorSupport.AssemblyAttributes))
+                {
+                    CodeAttributeDeclarationCollection attrs = cu.AssemblyCustomAttributes;
+                    attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyTitle", new
+                        CodeAttributeArgument(new CodePrimitiveExpression("MyAssembly"))));
+                    attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyVersion", new
+                        CodeAttributeArgument(new CodePrimitiveExpression("1.0.6.2"))));
+                }
+
+                CodeTypeDeclaration class1 = new CodeTypeDeclaration();
+                if (provider.Supports(GeneratorSupport.ChainedConstructorArguments))
                 {
-                    CodeDomProvider provider = GetProvider();
-
-                    CodeCompileUnit cu = new CodeCompileUnit();
-                    CodeNamespace nspace = new CodeNamespace("NSPC");
-                    nspace.Imports.Add(new CodeNamespaceImport("System"));
-                    nspace.Imports.Add(new CodeNamespaceImport("System.Drawing"));
-                    nspace.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
-                    nspace.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
-                    cu.Namespaces.Add(nspace);
-
-                    CodeTypeDeclaration cd = new CodeTypeDeclaration("TEST");
-                    cd.IsClass = true;
-                    nspace.Types.Add(cd);
-
-                    // Arrays of Arrays
-                    CodeMemberMethod cmm = new CodeMemberMethod();
-                    cmm.Name = "ArraysOfArrays";
+                    class1.Name = "Test2";
+                    class1.IsClass = true;
+                    nspace.Types.Add(class1);
+
+                    class1.Members.Add(new CodeMemberField(new CodeTypeReference(typeof(String)), "stringField"));
+                    CodeMemberProperty prop = new CodeMemberProperty();
+                    prop.Name = "accessStringField";
+                    prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    prop.Type = new CodeTypeReference(typeof(String));
+                    prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
+                        "stringField")));
+                    prop.SetStatements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new
+                        CodeThisReferenceExpression(), "stringField"),
+                        new CodePropertySetValueReferenceExpression()));
+                    class1.Members.Add(prop);
+
+                    CodeConstructor cctor = new CodeConstructor();
+                    cctor.Attributes = MemberAttributes.Public;
+                    cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression("testingString"));
+                    cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression(null));
+                    cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression(null));
+                    class1.Members.Add(cctor);
+
+                    CodeConstructor cc = new CodeConstructor();
+                    cc.Attributes = MemberAttributes.Public | MemberAttributes.Overloaded;
+                    cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p1"));
+                    cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p2"));
+                    cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p3"));
+                    cc.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression()
+                        , "stringField"), new CodeVariableReferenceExpression("p1")));
+                    class1.Members.Add(cc);
+                    // verify chained constructors work
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "ChainedConstructorUse";
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.ReturnType = new CodeTypeReference(typeof(String));
+                    // utilize constructor
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement("Test2", "t", new CodeObjectCreateExpression("Test2")));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodReferenceExpression(
+                        new CodeVariableReferenceExpression("t"), "accessStringField")));
+                    cd.Members.Add(cmm);
+                }
+
+                // complex expressions
+                if (provider.Supports(GeneratorSupport.ComplexExpressions))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "ComplexExpressions";
                     cmm.ReturnType = new CodeTypeReference(typeof(int));
                     cmm.Attributes = MemberAttributes.Final | MemberAttributes.Public;
-                    if (provider.Supports(GeneratorSupport.ArraysOfArrays))
-                    {
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement(new CodeTypeReference(typeof(int[][])),
-                            "arrayOfArrays", new CodeArrayCreateExpression(typeof(int[][]),
-                            new CodeArrayCreateExpression(typeof(int[]), new CodePrimitiveExpression(3), new CodePrimitiveExpression(4)),
-                            new CodeArrayCreateExpression(typeof(int[]), new CodeExpression[] { new CodePrimitiveExpression(1) }))));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeArrayIndexerExpression(
-                            new CodeArrayIndexerExpression(new CodeVariableReferenceExpression("arrayOfArrays"), new CodePrimitiveExpression(0))
-                            , new CodePrimitiveExpression(1))));
-                    }
-                    else
-                    {
-                        throw new Exception("not supported");
-                    }
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference(typeof(int)), "i"));
+                    cmm.Statements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("i"),
+                        new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Multiply,
+                        new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Add,
+                        new CodePrimitiveExpression(3)))));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("i")));
                     cd.Members.Add(cmm);
+                }
 
-                    // assembly attributes
-                    if (provider.Supports(GeneratorSupport.AssemblyAttributes))
-                    {
-                        CodeAttributeDeclarationCollection attrs = cu.AssemblyCustomAttributes;
-                        attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyTitle", new
-                            CodeAttributeArgument(new CodePrimitiveExpression("MyAssembly"))));
-                        attrs.Add(new CodeAttributeDeclaration("System.Reflection.AssemblyVersion", new
-                            CodeAttributeArgument(new CodePrimitiveExpression("1.0.6.2"))));
-                    }
-
-                    CodeTypeDeclaration class1 = new CodeTypeDeclaration();
-                    if (provider.Supports(GeneratorSupport.ChainedConstructorArguments))
-                    {
-                        class1.Name = "Test2";
-                        class1.IsClass = true;
-                        nspace.Types.Add(class1);
-
-                        class1.Members.Add(new CodeMemberField(new CodeTypeReference(typeof(String)), "stringField"));
-                        CodeMemberProperty prop = new CodeMemberProperty();
-                        prop.Name = "accessStringField";
-                        prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        prop.Type = new CodeTypeReference(typeof(String));
-                        prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
-                            "stringField")));
-                        prop.SetStatements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new
-                            CodeThisReferenceExpression(), "stringField"),
-                            new CodePropertySetValueReferenceExpression()));
-                        class1.Members.Add(prop);
-
-                        CodeConstructor cctor = new CodeConstructor();
-                        cctor.Attributes = MemberAttributes.Public;
-                        cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression("testingString"));
-                        cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression(null));
-                        cctor.ChainedConstructorArgs.Add(new CodePrimitiveExpression(null));
-                        class1.Members.Add(cctor);
-
-                        CodeConstructor cc = new CodeConstructor();
-                        cc.Attributes = MemberAttributes.Public | MemberAttributes.Overloaded;
-                        cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p1"));
-                        cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p2"));
-                        cc.Parameters.Add(new CodeParameterDeclarationExpression(typeof(string), "p3"));
-                        cc.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression()
-                            , "stringField"), new CodeVariableReferenceExpression("p1")));
-                        class1.Members.Add(cc);
-                        // verify chained constructors work
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "ChainedConstructorUse";
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.ReturnType = new CodeTypeReference(typeof(String));
-                        // utilize constructor
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement("Test2", "t", new CodeObjectCreateExpression("Test2")));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodReferenceExpression(
-                            new CodeVariableReferenceExpression("t"), "accessStringField")));
-                        cd.Members.Add(cmm);
-                    }
+                if (provider.Supports(GeneratorSupport.DeclareEnums))
+                {
+                    CodeTypeDeclaration ce = new CodeTypeDeclaration("DecimalEnum");
+                    ce.IsEnum = true;
+                    nspace.Types.Add(ce);
 
-                    // complex expressions
-                    if (provider.Supports(GeneratorSupport.ComplexExpressions))
+                    // things to enumerate
+                    for (int k = 0; k < 5; k++)
                     {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "ComplexExpressions";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Attributes = MemberAttributes.Final | MemberAttributes.Public;
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference(typeof(int)), "i"));
-                        cmm.Statements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("i"),
-                            new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Multiply,
-                            new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Add,
-                            new CodePrimitiveExpression(3)))));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("i")));
-                        cd.Members.Add(cmm);
+                        CodeMemberField Field = new CodeMemberField("System.Int32", "Num" + (k).ToString());
+                        Field.InitExpression = new CodePrimitiveExpression(k);
+                        ce.Members.Add(Field);
                     }
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "OutputDecimalEnumVal";
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
+                    cmm.Parameters.Add(param);
+                    CodeBinaryOperatorExpression eq = new CodeBinaryOperatorExpression(
+                        new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.ValueEquality,
+                        new CodePrimitiveExpression(3));
+                    CodeMethodReturnStatement truestmt = new CodeMethodReturnStatement(
+                        new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num3")));
+                    CodeConditionStatement condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+
+                    eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
+                        CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(4));
+                    truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num4")));
+                    condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+                    eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
+                        CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(2));
+                    truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num2")));
+                    condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+
+                    eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
+                        CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(1));
+                    truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num1")));
+                    condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+
+                    eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
+                        CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(0));
+                    truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num0")));
+                    condstmt = new CodeConditionStatement(eq, truestmt);
+                    cmm.Statements.Add(condstmt);
+
+                    cmm.ReturnType = new CodeTypeReference("System.int32");
+
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression(
+                        new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Add, new CodePrimitiveExpression(10))));
+                    cd.Members.Add(cmm);
+                }
 
-                    if (provider.Supports(GeneratorSupport.DeclareEnums))
-                    {
-                        CodeTypeDeclaration ce = new CodeTypeDeclaration("DecimalEnum");
-                        ce.IsEnum = true;
-                        nspace.Types.Add(ce);
-
-                        // things to enumerate
-                        for (int k = 0; k < 5; k++)
-                        {
-                            CodeMemberField Field = new CodeMemberField("System.Int32", "Num" + (k).ToString());
-                            Field.InitExpression = new CodePrimitiveExpression(k);
-                            ce.Members.Add(Field);
-                        }
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "OutputDecimalEnumVal";
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
-                        cmm.Parameters.Add(param);
-                        CodeBinaryOperatorExpression eq = new CodeBinaryOperatorExpression(
-                            new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.ValueEquality,
-                            new CodePrimitiveExpression(3));
-                        CodeMethodReturnStatement truestmt = new CodeMethodReturnStatement(
-                            new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num3")));
-                        CodeConditionStatement condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-
-                        eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
-                            CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(4));
-                        truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num4")));
-                        condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-                        eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
-                            CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(2));
-                        truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num2")));
-                        condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-
-                        eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
-                            CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(1));
-                        truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num1")));
-                        condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-
-                        eq = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("i"),
-                            CodeBinaryOperatorType.ValueEquality, new CodePrimitiveExpression(0));
-                        truestmt = new CodeMethodReturnStatement(new CodeCastExpression(typeof(int),
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("DecimalEnum"), "Num0")));
-                        condstmt = new CodeConditionStatement(eq, truestmt);
-                        cmm.Statements.Add(condstmt);
-
-                        cmm.ReturnType = new CodeTypeReference("System.int32");
+                if (provider.Supports(GeneratorSupport.DeclareInterfaces))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "TestSingleInterface";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement("TestSingleInterfaceImp", "t", new CodeObjectCreateExpression("TestSingleInterfaceImp")));
+                    CodeMethodInvokeExpression methodinvoke = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("t")
+                        , "InterfaceMethod");
+                    methodinvoke.Parameters.Add(new CodeVariableReferenceExpression("i"));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(methodinvoke));
+                    cd.Members.Add(cmm);
 
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression(
-                            new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.Add, new CodePrimitiveExpression(10))));
-                        cd.Members.Add(cmm);
-                    }
+                    class1 = new CodeTypeDeclaration("InterfaceA");
+                    class1.IsInterface = true;
+                    nspace.Types.Add(class1);
+                    cmm = new CodeMemberMethod();
+                    cmm.Attributes = MemberAttributes.Public;
+                    cmm.Name = "InterfaceMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
+                    class1.Members.Add(cmm);
 
-                    if (provider.Supports(GeneratorSupport.DeclareInterfaces))
+                    if (provider.Supports(GeneratorSupport.MultipleInterfaceMembers))
                     {
+                        CodeTypeDeclaration classDecl = new CodeTypeDeclaration("InterfaceB");
+                        classDecl.IsInterface = true;
+                        nspace.Types.Add(classDecl);
                         cmm = new CodeMemberMethod();
-                        cmm.Name = "TestSingleInterface";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement("TestSingleInterfaceImp", "t", new CodeObjectCreateExpression("TestSingleInterfaceImp")));
-                        CodeMethodInvokeExpression methodinvoke = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("t")
-                            , "InterfaceMethod");
-                        methodinvoke.Parameters.Add(new CodeVariableReferenceExpression("i"));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(methodinvoke));
-                        cd.Members.Add(cmm);
-
-                        class1 = new CodeTypeDeclaration("InterfaceA");
-                        class1.IsInterface = true;
-                        nspace.Types.Add(class1);
-                        cmm = new CodeMemberMethod();
-                        cmm.Attributes = MemberAttributes.Public;
                         cmm.Name = "InterfaceMethod";
+                        cmm.Attributes = MemberAttributes.Public;
                         cmm.ReturnType = new CodeTypeReference(typeof(int));
                         cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                        class1.Members.Add(cmm);
-
-                        if (provider.Supports(GeneratorSupport.MultipleInterfaceMembers))
-                        {
-                            CodeTypeDeclaration classDecl = new CodeTypeDeclaration("InterfaceB");
-                            classDecl.IsInterface = true;
-                            nspace.Types.Add(classDecl);
-                            cmm = new CodeMemberMethod();
-                            cmm.Name = "InterfaceMethod";
-                            cmm.Attributes = MemberAttributes.Public;
-                            cmm.ReturnType = new CodeTypeReference(typeof(int));
-                            cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                            classDecl.Members.Add(cmm);
-
-                            CodeTypeDeclaration class2 = new CodeTypeDeclaration("TestMultipleInterfaceImp");
-                            class2.BaseTypes.Add(new CodeTypeReference("System.Object"));
-                            class2.BaseTypes.Add(new CodeTypeReference("InterfaceB"));
-                            class2.BaseTypes.Add(new CodeTypeReference("InterfaceA"));
-                            class2.IsClass = true;
-                            nspace.Types.Add(class2);
-                            cmm = new CodeMemberMethod();
-                            cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceA"));
-                            cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceB"));
-                            cmm.Name = "InterfaceMethod";
-                            cmm.ReturnType = new CodeTypeReference(typeof(int));
-                            cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                            cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                            cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
-                            class2.Members.Add(cmm);
-
-                            cmm = new CodeMemberMethod();
-                            cmm.Name = "TestMultipleInterfaces";
-                            cmm.ReturnType = new CodeTypeReference(typeof(int));
-                            cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
-                            cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                            cmm.Statements.Add(new CodeVariableDeclarationStatement("TestMultipleInterfaceImp", "t", new CodeObjectCreateExpression("TestMultipleInterfaceImp")));
-                            cmm.Statements.Add(new CodeVariableDeclarationStatement("InterfaceA", "interfaceAobject", new CodeCastExpression("InterfaceA",
-                                new CodeVariableReferenceExpression("t"))));
-                            cmm.Statements.Add(new CodeVariableDeclarationStatement("InterfaceB", "interfaceBobject", new CodeCastExpression("InterfaceB",
-                                new CodeVariableReferenceExpression("t"))));
-                            methodinvoke = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("interfaceAobject")
-                                , "InterfaceMethod");
-                            methodinvoke.Parameters.Add(new CodeVariableReferenceExpression("i"));
-                            CodeMethodInvokeExpression methodinvoke2 = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("interfaceBobject")
-                                , "InterfaceMethod");
-                            methodinvoke2.Parameters.Add(new CodeVariableReferenceExpression("i"));
-                            cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression(
-                                methodinvoke,
-                                CodeBinaryOperatorType.Subtract, methodinvoke2)));
-                            cd.Members.Add(cmm);
-                        }
-
-                        class1 = new CodeTypeDeclaration("TestSingleInterfaceImp");
-                        class1.BaseTypes.Add(new CodeTypeReference("System.Object"));
-                        class1.BaseTypes.Add(new CodeTypeReference("InterfaceA"));
-                        class1.IsClass = true;
-                        nspace.Types.Add(class1);
+                        classDecl.Members.Add(cmm);
+
+                        CodeTypeDeclaration class2 = new CodeTypeDeclaration("TestMultipleInterfaceImp");
+                        class2.BaseTypes.Add(new CodeTypeReference("System.Object"));
+                        class2.BaseTypes.Add(new CodeTypeReference("InterfaceB"));
+                        class2.BaseTypes.Add(new CodeTypeReference("InterfaceA"));
+                        class2.IsClass = true;
+                        nspace.Types.Add(class2);
                         cmm = new CodeMemberMethod();
                         cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceA"));
+                        cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceB"));
                         cmm.Name = "InterfaceMethod";
                         cmm.ReturnType = new CodeTypeReference(typeof(int));
                         cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                        cmm.Attributes = MemberAttributes.Public;
+                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
                         cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
-                        class1.Members.Add(cmm);
-                    }
-
-                    if (provider.Supports(GeneratorSupport.DeclareValueTypes))
-                    {
-                        CodeTypeDeclaration structA = new CodeTypeDeclaration("structA");
-                        structA.IsStruct = true;
-
-                        CodeTypeDeclaration structB = new CodeTypeDeclaration("structB");
-                        structB.Attributes = MemberAttributes.Public;
-                        structB.IsStruct = true;
-
-                        CodeMemberField firstInt = new CodeMemberField(typeof(int), "int1");
-                        firstInt.Attributes = MemberAttributes.Public;
-                        structB.Members.Add(firstInt);
-
-                        CodeMemberField innerStruct = new CodeMemberField("structB", "innerStruct");
-                        innerStruct.Attributes = MemberAttributes.Public;
-
-                        structA.Members.Add(structB);
-                        structA.Members.Add(innerStruct);
-                        nspace.Types.Add(structA);
-
-                        CodeMemberMethod nestedStructMethod = new CodeMemberMethod();
-                        nestedStructMethod.Name = "NestedStructMethod";
-                        nestedStructMethod.ReturnType = new CodeTypeReference(typeof(int));
-                        nestedStructMethod.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        CodeVariableDeclarationStatement varStructA = new CodeVariableDeclarationStatement("structA", "varStructA");
-                        nestedStructMethod.Statements.Add(varStructA);
-                        nestedStructMethod.Statements.Add
-                            (
-                            new CodeAssignStatement
-                            (
-                            /* Expression1 */ new CodeFieldReferenceExpression(new CodeFieldReferenceExpression(new CodeVariableReferenceExpression("varStructA"), "innerStruct"), "int1"),
-                            /* Expression1 */ new CodePrimitiveExpression(3)
-                            )
-                            );
-                        nestedStructMethod.Statements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeFieldReferenceExpression(new CodeVariableReferenceExpression("varStructA"), "innerStruct"), "int1")));
-                        cd.Members.Add(nestedStructMethod);
-                    }
-
-                    if (provider.Supports(GeneratorSupport.EntryPointMethod))
-                    {
-                        CodeEntryPointMethod cep = new CodeEntryPointMethod();
-                        cd.Members.Add(cep);
-                    }
+                        class2.Members.Add(cmm);
 
-                    // goto statements
-                    if (provider.Supports(GeneratorSupport.GotoStatements))
-                    {
                         cmm = new CodeMemberMethod();
-                        cmm.Name = "GoToMethod";
+                        cmm.Name = "TestMultipleInterfaces";
                         cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
-                        cmm.Parameters.Add(param);
-                        CodeConditionStatement condstmt = new CodeConditionStatement(new CodeBinaryOperatorExpression(
-                            new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.LessThan, new CodePrimitiveExpression(1)),
-                            new CodeGotoStatement("comehere"));
-                        cmm.Statements.Add(condstmt);
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(6)));
-                        cmm.Statements.Add(new CodeLabeledStatement("comehere",
-                            new CodeMethodReturnStatement(new CodePrimitiveExpression(7))));
-                        cd.Members.Add(cmm);
-                    }
-
-                    if (provider.Supports(GeneratorSupport.NestedTypes))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "CallingPublicNestedScenario";
                         cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
                         cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement(new CodeTypeReference
-                            ("PublicNestedClassA+PublicNestedClassB2+PublicNestedClassC"), "t",
-                            new CodeObjectCreateExpression(new CodeTypeReference
-                            ("PublicNestedClassA+PublicNestedClassB2+PublicNestedClassC"))));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("t"),
-                            "publicNestedClassesMethod",
-                            new CodeVariableReferenceExpression("i"))));
+                        cmm.Statements.Add(new CodeVariableDeclarationStatement("TestMultipleInterfaceImp", "t", new CodeObjectCreateExpression("TestMultipleInterfaceImp")));
+                        cmm.Statements.Add(new CodeVariableDeclarationStatement("InterfaceA", "interfaceAobject", new CodeCastExpression("InterfaceA",
+                            new CodeVariableReferenceExpression("t"))));
+                        cmm.Statements.Add(new CodeVariableDeclarationStatement("InterfaceB", "interfaceBobject", new CodeCastExpression("InterfaceB",
+                            new CodeVariableReferenceExpression("t"))));
+                        methodinvoke = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("interfaceAobject")
+                            , "InterfaceMethod");
+                        methodinvoke.Parameters.Add(new CodeVariableReferenceExpression("i"));
+                        CodeMethodInvokeExpression methodinvoke2 = new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("interfaceBobject")
+                            , "InterfaceMethod");
+                        methodinvoke2.Parameters.Add(new CodeVariableReferenceExpression("i"));
+                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression(
+                            methodinvoke,
+                            CodeBinaryOperatorType.Subtract, methodinvoke2)));
                         cd.Members.Add(cmm);
-
-                        class1 = new CodeTypeDeclaration("PublicNestedClassA");
-                        class1.IsClass = true;
-                        nspace.Types.Add(class1);
-                        CodeTypeDeclaration nestedClass = new CodeTypeDeclaration("PublicNestedClassB1");
-                        nestedClass.IsClass = true;
-                        nestedClass.TypeAttributes = TypeAttributes.NestedPublic;
-                        class1.Members.Add(nestedClass);
-                        nestedClass = new CodeTypeDeclaration("PublicNestedClassB2");
-                        nestedClass.TypeAttributes = TypeAttributes.NestedPublic;
-                        nestedClass.IsClass = true;
-                        class1.Members.Add(nestedClass);
-                        CodeTypeDeclaration innerNestedClass = new CodeTypeDeclaration("PublicNestedClassC");
-                        innerNestedClass.TypeAttributes = TypeAttributes.NestedPublic;
-                        innerNestedClass.IsClass = true;
-                        nestedClass.Members.Add(innerNestedClass);
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "publicNestedClassesMethod";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
-                        innerNestedClass.Members.Add(cmm);
                     }
 
-                    // Parameter Attributes
-                    if (provider.Supports(GeneratorSupport.ParameterAttributes))
-                    {
-                        CodeMemberMethod method1 = new CodeMemberMethod();
-                        method1.Name = "MyMethod";
-                        method1.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        CodeParameterDeclarationExpression param1 = new CodeParameterDeclarationExpression(typeof(string), "blah");
-                        param1.CustomAttributes.Add(
-                            new CodeAttributeDeclaration(
-                            "System.Xml.Serialization.XmlElementAttribute",
-                            new CodeAttributeArgument(
-                            "Form",
-                            new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
-                            new CodeAttributeArgument(
-                            "IsNullable",
-                            new CodePrimitiveExpression(false))));
-                        method1.Parameters.Add(param1);
-                        cd.Members.Add(method1);
-                    }
+                    class1 = new CodeTypeDeclaration("TestSingleInterfaceImp");
+                    class1.BaseTypes.Add(new CodeTypeReference("System.Object"));
+                    class1.BaseTypes.Add(new CodeTypeReference("InterfaceA"));
+                    class1.IsClass = true;
+                    nspace.Types.Add(class1);
+                    cmm = new CodeMemberMethod();
+                    cmm.ImplementationTypes.Add(new CodeTypeReference("InterfaceA"));
+                    cmm.Name = "InterfaceMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
+                    cmm.Attributes = MemberAttributes.Public;
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
+                    class1.Members.Add(cmm);
+                }
 
-                    // public static members
-                    if (provider.Supports(GeneratorSupport.PublicStaticMembers))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "PublicStaticMethod";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(16)));
-                        cd.Members.Add(cmm);
-                    }
+                if (provider.Supports(GeneratorSupport.DeclareValueTypes))
+                {
+                    CodeTypeDeclaration structA = new CodeTypeDeclaration("structA");
+                    structA.IsStruct = true;
+
+                    CodeTypeDeclaration structB = new CodeTypeDeclaration("structB");
+                    structB.Attributes = MemberAttributes.Public;
+                    structB.IsStruct = true;
+
+                    CodeMemberField firstInt = new CodeMemberField(typeof(int), "int1");
+                    firstInt.Attributes = MemberAttributes.Public;
+                    structB.Members.Add(firstInt);
+
+                    CodeMemberField innerStruct = new CodeMemberField("structB", "innerStruct");
+                    innerStruct.Attributes = MemberAttributes.Public;
+
+                    structA.Members.Add(structB);
+                    structA.Members.Add(innerStruct);
+                    nspace.Types.Add(structA);
+
+                    CodeMemberMethod nestedStructMethod = new CodeMemberMethod();
+                    nestedStructMethod.Name = "NestedStructMethod";
+                    nestedStructMethod.ReturnType = new CodeTypeReference(typeof(int));
+                    nestedStructMethod.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    CodeVariableDeclarationStatement varStructA = new CodeVariableDeclarationStatement("structA", "varStructA");
+                    nestedStructMethod.Statements.Add(varStructA);
+                    nestedStructMethod.Statements.Add
+                        (
+                        new CodeAssignStatement
+                        (
+                        /* Expression1 */ new CodeFieldReferenceExpression(new CodeFieldReferenceExpression(new CodeVariableReferenceExpression("varStructA"), "innerStruct"), "int1"),
+                        /* Expression1 */ new CodePrimitiveExpression(3)
+                        )
+                        );
+                    nestedStructMethod.Statements.Add(new CodeMethodReturnStatement(new CodeFieldReferenceExpression(new CodeFieldReferenceExpression(new CodeVariableReferenceExpression("varStructA"), "innerStruct"), "int1")));
+                    cd.Members.Add(nestedStructMethod);
+                }
 
-                    // reference parameters
-                    if (provider.Supports(GeneratorSupport.ReferenceParameters))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "Work";
-                        cmm.ReturnType = new CodeTypeReference("System.void");
-                        cmm.Attributes = MemberAttributes.Static;
-                        // add parameter with ref direction
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
-                        param.Direction = FieldDirection.Ref;
-                        cmm.Parameters.Add(param);
-                        // add parameter with out direction
-                        param = new CodeParameterDeclarationExpression(typeof(int), "j");
-                        param.Direction = FieldDirection.Out;
-                        cmm.Parameters.Add(param);
-                        cmm.Statements.Add(new CodeAssignStatement(new CodeArgumentReferenceExpression("i"),
-                            new CodeBinaryOperatorExpression(new CodeArgumentReferenceExpression("i"),
-                            CodeBinaryOperatorType.Add, new CodePrimitiveExpression(4))));
-                        cmm.Statements.Add(new CodeAssignStatement(new CodeArgumentReferenceExpression("j"),
-                            new CodePrimitiveExpression(5)));
-                        cd.Members.Add(cmm);
+                if (provider.Supports(GeneratorSupport.EntryPointMethod))
+                {
+                    CodeEntryPointMethod cep = new CodeEntryPointMethod();
+                    cd.Members.Add(cep);
+                }
 
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "CallingWork";
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        CodeParameterDeclarationExpression parames = new CodeParameterDeclarationExpression(typeof(int), "a");
-                        cmm.Parameters.Add(parames);
-                        cmm.ReturnType = new CodeTypeReference("System.int32");
-                        cmm.Statements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("a"),
-                            new CodePrimitiveExpression(10)));
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement(typeof(int), "b"));
-                        // invoke the method called "work"
-                        CodeMethodInvokeExpression methodinvoked = new CodeMethodInvokeExpression(new CodeMethodReferenceExpression
-                            (new CodeTypeReferenceExpression("TEST"), "Work"));
-                        // add parameter with ref direction
-                        CodeDirectionExpression parameter = new CodeDirectionExpression(FieldDirection.Ref,
-                            new CodeVariableReferenceExpression("a"));
-                        methodinvoked.Parameters.Add(parameter);
-                        // add parameter with out direction
-                        parameter = new CodeDirectionExpression(FieldDirection.Out, new CodeVariableReferenceExpression("b"));
-                        methodinvoked.Parameters.Add(parameter);
-                        cmm.Statements.Add(methodinvoked);
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression
-                            (new CodeVariableReferenceExpression("a"), CodeBinaryOperatorType.Add, new CodeVariableReferenceExpression("b"))));
-                        cd.Members.Add(cmm);
-                    }
+                // goto statements
+                if (provider.Supports(GeneratorSupport.GotoStatements))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "GoToMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
+                    cmm.Parameters.Add(param);
+                    CodeConditionStatement condstmt = new CodeConditionStatement(new CodeBinaryOperatorExpression(
+                        new CodeVariableReferenceExpression("i"), CodeBinaryOperatorType.LessThan, new CodePrimitiveExpression(1)),
+                        new CodeGotoStatement("comehere"));
+                    cmm.Statements.Add(condstmt);
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(6)));
+                    cmm.Statements.Add(new CodeLabeledStatement("comehere",
+                        new CodeMethodReturnStatement(new CodePrimitiveExpression(7))));
+                    cd.Members.Add(cmm);
+                }
 
-                    if (provider.Supports(GeneratorSupport.ReturnTypeAttributes))
-                    {
-                        CodeMemberMethod function1 = new CodeMemberMethod();
-                        function1.Name = "MyFunction";
-                        function1.ReturnType = new CodeTypeReference(typeof(string));
-                        function1.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        function1.ReturnTypeCustomAttributes.Add(new
-                            CodeAttributeDeclaration("System.Xml.Serialization.XmlIgnoreAttribute"));
-                        function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlRootAttribute", new
-                            CodeAttributeArgument("Namespace", new CodePrimitiveExpression("Namespace Value")), new
-                            CodeAttributeArgument("ElementName", new CodePrimitiveExpression("Root, hehehe"))));
-                        function1.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression("Return")));
-                        cd.Members.Add(function1);
-                    }
+                if (provider.Supports(GeneratorSupport.NestedTypes))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "CallingPublicNestedScenario";
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "i"));
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement(new CodeTypeReference
+                        ("PublicNestedClassA+PublicNestedClassB2+PublicNestedClassC"), "t",
+                        new CodeObjectCreateExpression(new CodeTypeReference
+                        ("PublicNestedClassA+PublicNestedClassB2+PublicNestedClassC"))));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodInvokeExpression(new CodeVariableReferenceExpression("t"),
+                        "publicNestedClassesMethod",
+                        new CodeVariableReferenceExpression("i"))));
+                    cd.Members.Add(cmm);
 
-                    if (provider.Supports(GeneratorSupport.StaticConstructors))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "TestStaticConstructor";
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "a");
-                        cmm.Parameters.Add(param);
-                        // utilize constructor
-                        cmm.Statements.Add(new CodeVariableDeclarationStatement("Test4", "t", new CodeObjectCreateExpression("Test4")));
-                        // set then get number
-                        cmm.Statements.Add(new CodeAssignStatement(new CodePropertyReferenceExpression(new CodeVariableReferenceExpression("t"), "i")
-                            , new CodeVariableReferenceExpression("a")));
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodReferenceExpression(
-                            new CodeVariableReferenceExpression("t"), "i")));
-                        cd.Members.Add(cmm);
+                    class1 = new CodeTypeDeclaration("PublicNestedClassA");
+                    class1.IsClass = true;
+                    nspace.Types.Add(class1);
+                    CodeTypeDeclaration nestedClass = new CodeTypeDeclaration("PublicNestedClassB1");
+                    nestedClass.IsClass = true;
+                    nestedClass.TypeAttributes = TypeAttributes.NestedPublic;
+                    class1.Members.Add(nestedClass);
+                    nestedClass = new CodeTypeDeclaration("PublicNestedClassB2");
+                    nestedClass.TypeAttributes = TypeAttributes.NestedPublic;
+                    nestedClass.IsClass = true;
+                    class1.Members.Add(nestedClass);
+                    CodeTypeDeclaration innerNestedClass = new CodeTypeDeclaration("PublicNestedClassC");
+                    innerNestedClass.TypeAttributes = TypeAttributes.NestedPublic;
+                    innerNestedClass.IsClass = true;
+                    nestedClass.Members.Add(innerNestedClass);
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "publicNestedClassesMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(int), "a"));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
+                    innerNestedClass.Members.Add(cmm);
+                }
 
-                        class1 = new CodeTypeDeclaration();
-                        class1.Name = "Test4";
-                        class1.IsClass = true;
-                        nspace.Types.Add(class1);
-
-                        class1.Members.Add(new CodeMemberField(new CodeTypeReference(typeof(int)), "number"));
-                        CodeMemberProperty prop = new CodeMemberProperty();
-                        prop.Name = "i";
-                        prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-                        prop.Type = new CodeTypeReference(typeof(int));
-                        prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("number")));
-                        prop.SetStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("number"),
-                            new CodePropertySetValueReferenceExpression()));
-                        class1.Members.Add(prop);
-                        CodeTypeConstructor ctc = new CodeTypeConstructor();
-                        class1.Members.Add(ctc);
-                    }
+                // Parameter Attributes
+                if (provider.Supports(GeneratorSupport.ParameterAttributes))
+                {
+                    CodeMemberMethod method1 = new CodeMemberMethod();
+                    method1.Name = "MyMethod";
+                    method1.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    CodeParameterDeclarationExpression param1 = new CodeParameterDeclarationExpression(typeof(string), "blah");
+                    param1.CustomAttributes.Add(
+                        new CodeAttributeDeclaration(
+                        "System.Xml.Serialization.XmlElementAttribute",
+                        new CodeAttributeArgument(
+                        "Form",
+                        new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("System.Xml.Schema.XmlSchemaForm"), "Unqualified")),
+                        new CodeAttributeArgument(
+                        "IsNullable",
+                        new CodePrimitiveExpression(false))));
+                    method1.Parameters.Add(param1);
+                    cd.Members.Add(method1);
+                }
 
-                    if (provider.Supports(GeneratorSupport.TryCatchStatements))
-                    {
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "TryCatchMethod";
-                        cmm.ReturnType = new CodeTypeReference(typeof(int));
-                        cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
-                        CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "a");
-                        cmm.Parameters.Add(param);
-
-                        CodeTryCatchFinallyStatement tcfstmt = new CodeTryCatchFinallyStatement();
-                        tcfstmt.FinallyStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("a"), new
-                            CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("a"), CodeBinaryOperatorType.Add,
-                            new CodePrimitiveExpression(5))));
-                        cmm.Statements.Add(tcfstmt);
-                        cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
-                        cd.Members.Add(cmm);
-                    }
+                // public static members
+                if (provider.Supports(GeneratorSupport.PublicStaticMembers))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "PublicStaticMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression(16)));
+                    cd.Members.Add(cmm);
+                }
 
-                    if (provider.Supports(GeneratorSupport.DeclareEvents))
-                    {
-                        CodeNamespace ns = new CodeNamespace();
-                        ns.Name = "MyNamespace";
-                        ns.Imports.Add(new CodeNamespaceImport("System"));
-                        ns.Imports.Add(new CodeNamespaceImport("System.Drawing"));
-                        ns.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
-                        ns.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
-                        cu.Namespaces.Add(ns);
-                        class1 = new CodeTypeDeclaration("Test");
-                        class1.IsClass = true;
-                        class1.BaseTypes.Add(new CodeTypeReference("Form"));
-                        ns.Types.Add(class1);
-
-                        CodeMemberField mfield = new CodeMemberField(new CodeTypeReference("Button"), "b");
-                        mfield.InitExpression = new CodeObjectCreateExpression(new CodeTypeReference("Button"));
-                        class1.Members.Add(mfield);
-
-                        CodeConstructor ctor = new CodeConstructor();
-                        ctor.Attributes = MemberAttributes.Public;
-                        ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
-                            "Size"), new CodeObjectCreateExpression(new CodeTypeReference("Size"),
-                            new CodePrimitiveExpression(600), new CodePrimitiveExpression(600))));
-                        ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                            "Text"), new CodePrimitiveExpression("Test")));
-                        ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                            "TabIndex"), new CodePrimitiveExpression(0)));
-                        ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
-                            "Location"), new CodeObjectCreateExpression(new CodeTypeReference("Point"),
-                            new CodePrimitiveExpression(400), new CodePrimitiveExpression(525))));
-                        ctor.Statements.Add(new CodeAttachEventStatement(new CodeEventReferenceExpression(new
-                            CodeThisReferenceExpression(), "MyEvent"), new CodeDelegateCreateExpression(new CodeTypeReference("EventHandler")
-                            , new CodeThisReferenceExpression(), "b_Click")));
-                        class1.Members.Add(ctor);
-
-                        CodeMemberEvent evt = new CodeMemberEvent();
-                        evt.Name = "MyEvent";
-                        evt.Type = new CodeTypeReference("System.EventHandler");
-                        evt.Attributes = MemberAttributes.Public;
-                        class1.Members.Add(evt);
+                // reference parameters
+                if (provider.Supports(GeneratorSupport.ReferenceParameters))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "Work";
+                    cmm.ReturnType = new CodeTypeReference("System.void");
+                    cmm.Attributes = MemberAttributes.Static;
+                    // add parameter with ref direction
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "i");
+                    param.Direction = FieldDirection.Ref;
+                    cmm.Parameters.Add(param);
+                    // add parameter with out direction
+                    param = new CodeParameterDeclarationExpression(typeof(int), "j");
+                    param.Direction = FieldDirection.Out;
+                    cmm.Parameters.Add(param);
+                    cmm.Statements.Add(new CodeAssignStatement(new CodeArgumentReferenceExpression("i"),
+                        new CodeBinaryOperatorExpression(new CodeArgumentReferenceExpression("i"),
+                        CodeBinaryOperatorType.Add, new CodePrimitiveExpression(4))));
+                    cmm.Statements.Add(new CodeAssignStatement(new CodeArgumentReferenceExpression("j"),
+                        new CodePrimitiveExpression(5)));
+                    cd.Members.Add(cmm);
 
-                        cmm = new CodeMemberMethod();
-                        cmm.Name = "b_Click";
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(object), "sender"));
-                        cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(EventArgs), "e"));
-                        class1.Members.Add(cmm);
-                    }
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "CallingWork";
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    CodeParameterDeclarationExpression parames = new CodeParameterDeclarationExpression(typeof(int), "a");
+                    cmm.Parameters.Add(parames);
+                    cmm.ReturnType = new CodeTypeReference("System.int32");
+                    cmm.Statements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("a"),
+                        new CodePrimitiveExpression(10)));
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement(typeof(int), "b"));
+                    // invoke the method called "work"
+                    CodeMethodInvokeExpression methodinvoked = new CodeMethodInvokeExpression(new CodeMethodReferenceExpression
+                        (new CodeTypeReferenceExpression("TEST"), "Work"));
+                    // add parameter with ref direction
+                    CodeDirectionExpression parameter = new CodeDirectionExpression(FieldDirection.Ref,
+                        new CodeVariableReferenceExpression("a"));
+                    methodinvoked.Parameters.Add(parameter);
+                    // add parameter with out direction
+                    parameter = new CodeDirectionExpression(FieldDirection.Out, new CodeVariableReferenceExpression("b"));
+                    methodinvoked.Parameters.Add(parameter);
+                    cmm.Statements.Add(methodinvoked);
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression
+                        (new CodeVariableReferenceExpression("a"), CodeBinaryOperatorType.Add, new CodeVariableReferenceExpression("b"))));
+                    cd.Members.Add(cmm);
+                }
 
-                    AssertEqual(cu,
-                        @"'------------------------------------------------------------------------------
-                      ' <auto-generated>
-                      '     This code was generated by a tool.
-                      '
-                      '     Changes to this file may cause incorrect behavior and will be lost if
-                      '     the code is regenerated.
-                      ' </auto-generated>
-                      '------------------------------------------------------------------------------
-
-                      Option Strict Off
-                      Option Explicit On
-
-                      Imports System
-                      Imports System.ComponentModel
-                      Imports System.Drawing
-                      Imports System.Windows.Forms
-                      <Assembly: System.Reflection.AssemblyTitle(""MyAssembly""),  _
-                       Assembly: System.Reflection.AssemblyVersion(""1.0.6.2"")>
-
-                      Namespace NSPC
-
-                          Public Class TEST
-
-                              Public Function ArraysOfArrays() As Integer
-                                  Dim arrayOfArrays()() As Integer = New Integer()() {New Integer() {3, 4}, New Integer() {1}}
-                                  Return arrayOfArrays(0)(1)
-                              End Function
-
-                              Public Shared Function ChainedConstructorUse() As String
-                                  Dim t As Test2 = New Test2()
-                                  Return t.accessStringField
-                              End Function
-
-                              Public Function ComplexExpressions(ByVal i As Integer) As Integer
-                                  i = (i  _
-                                              * (i + 3))
-                                  Return i
-                              End Function
-
-                              Public Shared Function OutputDecimalEnumVal(ByVal i As Integer) As Integer
-                                  If (i = 3) Then
-                                      Return CType(DecimalEnum.Num3,Integer)
-                                  End If
-                                  If (i = 4) Then
-                                      Return CType(DecimalEnum.Num4,Integer)
-                                  End If
-                                  If (i = 2) Then
-                                      Return CType(DecimalEnum.Num2,Integer)
-                                  End If
-                                  If (i = 1) Then
-                                      Return CType(DecimalEnum.Num1,Integer)
-                                  End If
-                                  If (i = 0) Then
-                                      Return CType(DecimalEnum.Num0,Integer)
-                                  End If
-                                  Return (i + 10)
-                              End Function
-
-                              Public Shared Function TestSingleInterface(ByVal i As Integer) As Integer
-                                  Dim t As TestSingleInterfaceImp = New TestSingleInterfaceImp()
-                                  Return t.InterfaceMethod(i)
-                              End Function
-
-                              Public Shared Function TestMultipleInterfaces(ByVal i As Integer) As Integer
-                                  Dim t As TestMultipleInterfaceImp = New TestMultipleInterfaceImp()
-                                  Dim interfaceAobject As InterfaceA = CType(t,InterfaceA)
-                                  Dim interfaceBobject As InterfaceB = CType(t,InterfaceB)
-                                  Return (interfaceAobject.InterfaceMethod(i) - interfaceBobject.InterfaceMethod(i))
-                              End Function
-
-                              Public Shared Function NestedStructMethod() As Integer
-                                  Dim varStructA As structA
-                                  varStructA.innerStruct.int1 = 3
-                                  Return varStructA.innerStruct.int1
-                              End Function
-
-                              Public Shared Sub Main()
-                              End Sub
-
-                              Public Function GoToMethod(ByVal i As Integer) As Integer
-                                  If (i < 1) Then
-                                      goto comehere
-                                  End If
-                                  Return 6
-                              comehere:
-                                  Return 7
-                              End Function
-
-                              Public Shared Function CallingPublicNestedScenario(ByVal i As Integer) As Integer
-                                  Dim t As PublicNestedClassA.PublicNestedClassB2.PublicNestedClassC = New PublicNestedClassA.PublicNestedClassB2.PublicNestedClassC()
-                                  Return t.publicNestedClassesMethod(i)
-                              End Function
-
-                              Public Sub MyMethod(<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable:=false)> ByVal blah As String)
-                              End Sub
-
-                              Public Shared Function PublicStaticMethod() As Integer
-                                  Return 16
-                              End Function
-
-                              Shared Sub Work(ByRef i As Integer, ByRef j As Integer)
-                                  i = (i + 4)
-                                  j = 5
-                              End Sub
-
-                              Public Shared Function CallingWork(ByVal a As Integer) As Integer
-                                  a = 10
-                                  Dim b As Integer
-                                  TEST.Work(a, b)
-                                  Return (a + b)
-                              End Function
-
-                              Public Function MyFunction() As <System.Xml.Serialization.XmlIgnoreAttribute(), System.Xml.Serialization.XmlRootAttribute([Namespace]:=""Namespace Value"", ElementName:=""Root, hehehe"")> String
-                                  Return ""Return""
-                              End Function
-
-                              Public Shared Function TestStaticConstructor(ByVal a As Integer) As Integer
-                                  Dim t As Test4 = New Test4()
-                                  t.i = a
-                                  Return t.i
-                              End Function
-
-                              Public Shared Function TryCatchMethod(ByVal a As Integer) As Integer
-                                  Try
-                                  Finally
-                                      a = (a + 5)
-                                  End Try
-                                  Return a
-                              End Function
-                          End Class
-
-                          Public Class Test2
-
-                              Private stringField As String
-
-                              Public Sub New()
-                                  Me.New(""testingString"", Nothing, Nothing)
-                              End Sub
-
-                              Public Sub New(ByVal p1 As String, ByVal p2 As String, ByVal p3 As String)
-                                  MyBase.New
-                                  Me.stringField = p1
-                              End Sub
-
-                              Public Property accessStringField() As String
-                                  Get
-                                      Return Me.stringField
-                                  End Get
-                                  Set
-                                      Me.stringField = value
-                                  End Set
-                              End Property
-                          End Class
-
-                          Public Enum DecimalEnum
-
-                              Num0 = 0
-
-                              Num1 = 1
-
-                              Num2 = 2
-
-                              Num3 = 3
-
-                              Num4 = 4
-                          End Enum
-
-                          Public Interface InterfaceA
+                if (provider.Supports(GeneratorSupport.ReturnTypeAttributes))
+                {
+                    CodeMemberMethod function1 = new CodeMemberMethod();
+                    function1.Name = "MyFunction";
+                    function1.ReturnType = new CodeTypeReference(typeof(string));
+                    function1.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    function1.ReturnTypeCustomAttributes.Add(new
+                        CodeAttributeDeclaration("System.Xml.Serialization.XmlIgnoreAttribute"));
+                    function1.ReturnTypeCustomAttributes.Add(new CodeAttributeDeclaration("System.Xml.Serialization.XmlRootAttribute", new
+                        CodeAttributeArgument("Namespace", new CodePrimitiveExpression("Namespace Value")), new
+                        CodeAttributeArgument("ElementName", new CodePrimitiveExpression("Root, hehehe"))));
+                    function1.Statements.Add(new CodeMethodReturnStatement(new CodePrimitiveExpression("Return")));
+                    cd.Members.Add(function1);
+                }
 
-                              Function InterfaceMethod(ByVal a As Integer) As Integer
-                          End Interface
-
-                          Public Interface InterfaceB
+                if (provider.Supports(GeneratorSupport.StaticConstructors))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "TestStaticConstructor";
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "a");
+                    cmm.Parameters.Add(param);
+                    // utilize constructor
+                    cmm.Statements.Add(new CodeVariableDeclarationStatement("Test4", "t", new CodeObjectCreateExpression("Test4")));
+                    // set then get number
+                    cmm.Statements.Add(new CodeAssignStatement(new CodePropertyReferenceExpression(new CodeVariableReferenceExpression("t"), "i")
+                        , new CodeVariableReferenceExpression("a")));
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeMethodReferenceExpression(
+                        new CodeVariableReferenceExpression("t"), "i")));
+                    cd.Members.Add(cmm);
 
-                              Function InterfaceMethod(ByVal a As Integer) As Integer
-                          End Interface
+                    class1 = new CodeTypeDeclaration();
+                    class1.Name = "Test4";
+                    class1.IsClass = true;
+                    nspace.Types.Add(class1);
+
+                    class1.Members.Add(new CodeMemberField(new CodeTypeReference(typeof(int)), "number"));
+                    CodeMemberProperty prop = new CodeMemberProperty();
+                    prop.Name = "i";
+                    prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+                    prop.Type = new CodeTypeReference(typeof(int));
+                    prop.GetStatements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("number")));
+                    prop.SetStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("number"),
+                        new CodePropertySetValueReferenceExpression()));
+                    class1.Members.Add(prop);
+                    CodeTypeConstructor ctc = new CodeTypeConstructor();
+                    class1.Members.Add(ctc);
+                }
 
-                          Public Class TestMultipleInterfaceImp
-                              Inherits Object
-                              Implements InterfaceB, InterfaceA
+                if (provider.Supports(GeneratorSupport.TryCatchStatements))
+                {
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "TryCatchMethod";
+                    cmm.ReturnType = new CodeTypeReference(typeof(int));
+                    cmm.Attributes = MemberAttributes.Public | MemberAttributes.Static;
+                    CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression(typeof(int), "a");
+                    cmm.Parameters.Add(param);
+
+                    CodeTryCatchFinallyStatement tcfstmt = new CodeTryCatchFinallyStatement();
+                    tcfstmt.FinallyStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression("a"), new
+                        CodeBinaryOperatorExpression(new CodeVariableReferenceExpression("a"), CodeBinaryOperatorType.Add,
+                        new CodePrimitiveExpression(5))));
+                    cmm.Statements.Add(tcfstmt);
+                    cmm.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("a")));
+                    cd.Members.Add(cmm);
+                }
 
-                              Public Function InterfaceMethod(ByVal a As Integer) As Integer Implements InterfaceA.InterfaceMethod , InterfaceB.InterfaceMethod
-                                  Return a
-                              End Function
-                          End Class
+                if (provider.Supports(GeneratorSupport.DeclareEvents))
+                {
+                    CodeNamespace ns = new CodeNamespace();
+                    ns.Name = "MyNamespace";
+                    ns.Imports.Add(new CodeNamespaceImport("System"));
+                    ns.Imports.Add(new CodeNamespaceImport("System.Drawing"));
+                    ns.Imports.Add(new CodeNamespaceImport("System.Windows.Forms"));
+                    ns.Imports.Add(new CodeNamespaceImport("System.ComponentModel"));
+                    cu.Namespaces.Add(ns);
+                    class1 = new CodeTypeDeclaration("Test");
+                    class1.IsClass = true;
+                    class1.BaseTypes.Add(new CodeTypeReference("Form"));
+                    ns.Types.Add(class1);
 
-                          Public Class TestSingleInterfaceImp
-                              Inherits Object
-                              Implements InterfaceA
+                    CodeMemberField mfield = new CodeMemberField(new CodeTypeReference("Button"), "b");
+                    mfield.InitExpression = new CodeObjectCreateExpression(new CodeTypeReference("Button"));
+                    class1.Members.Add(mfield);
 
-                              Public Overridable Function InterfaceMethod(ByVal a As Integer) As Integer Implements InterfaceA.InterfaceMethod
-                                  Return a
-                              End Function
-                          End Class
+                    CodeConstructor ctor = new CodeConstructor();
+                    ctor.Attributes = MemberAttributes.Public;
+                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(),
+                        "Size"), new CodeObjectCreateExpression(new CodeTypeReference("Size"),
+                        new CodePrimitiveExpression(600), new CodePrimitiveExpression(600))));
+                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                        "Text"), new CodePrimitiveExpression("Test")));
+                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                        "TabIndex"), new CodePrimitiveExpression(0)));
+                    ctor.Statements.Add(new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("b"),
+                        "Location"), new CodeObjectCreateExpression(new CodeTypeReference("Point"),
+                        new CodePrimitiveExpression(400), new CodePrimitiveExpression(525))));
+                    ctor.Statements.Add(new CodeAttachEventStatement(new CodeEventReferenceExpression(new
+                        CodeThisReferenceExpression(), "MyEvent"), new CodeDelegateCreateExpression(new CodeTypeReference("EventHandler")
+                        , new CodeThisReferenceExpression(), "b_Click")));
+                    class1.Members.Add(ctor);
 
-                          Public Structure structA
+                    CodeMemberEvent evt = new CodeMemberEvent();
+                    evt.Name = "MyEvent";
+                    evt.Type = new CodeTypeReference("System.EventHandler");
+                    evt.Attributes = MemberAttributes.Public;
+                    class1.Members.Add(evt);
 
-                              Public innerStruct As structB
+                    cmm = new CodeMemberMethod();
+                    cmm.Name = "b_Click";
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(object), "sender"));
+                    cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(EventArgs), "e"));
+                    class1.Members.Add(cmm);
+                }
 
-                              Public Structure structB
+                AssertEqual(cu,
+                    @"'------------------------------------------------------------------------------
+                    ' <auto-generated>
+                    '     This code was generated by a tool.
+                    '
+                    '     Changes to this file may cause incorrect behavior and will be lost if
+                    '     the code is regenerated.
+                    ' </auto-generated>
+                    '------------------------------------------------------------------------------
+
+                    Option Strict Off
+                    Option Explicit On
+
+                    Imports System
+                    Imports System.ComponentModel
+                    Imports System.Drawing
+                    Imports System.Windows.Forms
+                    <Assembly: System.Reflection.AssemblyTitle(""MyAssembly""),  _
+                    Assembly: System.Reflection.AssemblyVersion(""1.0.6.2"")>
+
+                    Namespace NSPC
+
+                        Public Class TEST
+
+                            Public Function ArraysOfArrays() As Integer
+                                Dim arrayOfArrays()() As Integer = New Integer()() {New Integer() {3, 4}, New Integer() {1}}
+                                Return arrayOfArrays(0)(1)
+                            End Function
+
+                            Public Shared Function ChainedConstructorUse() As String
+                                Dim t As Test2 = New Test2()
+                                Return t.accessStringField
+                            End Function
+
+                            Public Function ComplexExpressions(ByVal i As Integer) As Integer
+                                i = (i  _
+                                            * (i + 3))
+                                Return i
+                            End Function
+
+                            Public Shared Function OutputDecimalEnumVal(ByVal i As Integer) As Integer
+                                If (i = 3) Then
+                                    Return CType(DecimalEnum.Num3,Integer)
+                                End If
+                                If (i = 4) Then
+                                    Return CType(DecimalEnum.Num4,Integer)
+                                End If
+                                If (i = 2) Then
+                                    Return CType(DecimalEnum.Num2,Integer)
+                                End If
+                                If (i = 1) Then
+                                    Return CType(DecimalEnum.Num1,Integer)
+                                End If
+                                If (i = 0) Then
+                                    Return CType(DecimalEnum.Num0,Integer)
+                                End If
+                                Return (i + 10)
+                            End Function
+
+                            Public Shared Function TestSingleInterface(ByVal i As Integer) As Integer
+                                Dim t As TestSingleInterfaceImp = New TestSingleInterfaceImp()
+                                Return t.InterfaceMethod(i)
+                            End Function
+
+                            Public Shared Function TestMultipleInterfaces(ByVal i As Integer) As Integer
+                                Dim t As TestMultipleInterfaceImp = New TestMultipleInterfaceImp()
+                                Dim interfaceAobject As InterfaceA = CType(t,InterfaceA)
+                                Dim interfaceBobject As InterfaceB = CType(t,InterfaceB)
+                                Return (interfaceAobject.InterfaceMethod(i) - interfaceBobject.InterfaceMethod(i))
+                            End Function
+
+                            Public Shared Function NestedStructMethod() As Integer
+                                Dim varStructA As structA
+                                varStructA.innerStruct.int1 = 3
+                                Return varStructA.innerStruct.int1
+                            End Function
+
+                            Public Shared Sub Main()
+                            End Sub
+
+                            Public Function GoToMethod(ByVal i As Integer) As Integer
+                                If (i < 1) Then
+                                    goto comehere
+                                End If
+                                Return 6
+                            comehere:
+                                Return 7
+                            End Function
+
+                            Public Shared Function CallingPublicNestedScenario(ByVal i As Integer) As Integer
+                                Dim t As PublicNestedClassA.PublicNestedClassB2.PublicNestedClassC = New PublicNestedClassA.PublicNestedClassB2.PublicNestedClassC()
+                                Return t.publicNestedClassesMethod(i)
+                            End Function
+
+                            Public Sub MyMethod(<System.Xml.Serialization.XmlElementAttribute(Form:=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable:=false)> ByVal blah As String)
+                            End Sub
+
+                            Public Shared Function PublicStaticMethod() As Integer
+                                Return 16
+                            End Function
+
+                            Shared Sub Work(ByRef i As Integer, ByRef j As Integer)
+                                i = (i + 4)
+                                j = 5
+                            End Sub
+
+                            Public Shared Function CallingWork(ByVal a As Integer) As Integer
+                                a = 10
+                                Dim b As Integer
+                                TEST.Work(a, b)
+                                Return (a + b)
+                            End Function
+
+                            Public Function MyFunction() As <System.Xml.Serialization.XmlIgnoreAttribute(), System.Xml.Serialization.XmlRootAttribute([Namespace]:=""Namespace Value"", ElementName:=""Root, hehehe"")> String
+                                Return ""Return""
+                            End Function
+
+                            Public Shared Function TestStaticConstructor(ByVal a As Integer) As Integer
+                                Dim t As Test4 = New Test4()
+                                t.i = a
+                                Return t.i
+                            End Function
+
+                            Public Shared Function TryCatchMethod(ByVal a As Integer) As Integer
+                                Try
+                                Finally
+                                    a = (a + 5)
+                                End Try
+                                Return a
+                            End Function
+                        End Class
+
+                        Public Class Test2
+
+                            Private stringField As String
+
+                            Public Sub New()
+                                Me.New(""testingString"", Nothing, Nothing)
+                            End Sub
+
+                            Public Sub New(ByVal p1 As String, ByVal p2 As String, ByVal p3 As String)
+                                MyBase.New
+                                Me.stringField = p1
+                            End Sub
+
+                            Public Property accessStringField() As String
+                                Get
+                                    Return Me.stringField
+                                End Get
+                                Set
+                                    Me.stringField = value
+                                End Set
+                            End Property
+                        End Class
+
+                        Public Enum DecimalEnum
 
-                                  Public int1 As Integer
-                              End Structure
-                          End Structure
+                            Num0 = 0
 
-                          Public Class PublicNestedClassA
+                            Num1 = 1
 
-                              Public Class PublicNestedClassB1
-                              End Class
+                            Num2 = 2
 
-                              Public Class PublicNestedClassB2
+                            Num3 = 3
 
-                                  Public Class PublicNestedClassC
+                            Num4 = 4
+                        End Enum
 
-                                      Public Function publicNestedClassesMethod(ByVal a As Integer) As Integer
-                                          Return a
-                                      End Function
-                                  End Class
-                              End Class
-                          End Class
+                        Public Interface InterfaceA
 
-                          Public Class Test4
+                            Function InterfaceMethod(ByVal a As Integer) As Integer
+                        End Interface
 
-                              Private number As Integer
+                        Public Interface InterfaceB
 
-                              Shared Sub New()
-                              End Sub
+                            Function InterfaceMethod(ByVal a As Integer) As Integer
+                        End Interface
 
-                              Public Property i() As Integer
-                                  Get
-                                      Return number
-                                  End Get
-                                  Set
-                                      number = value
-                                  End Set
-                              End Property
-                          End Class
-                      End Namespace
+                        Public Class TestMultipleInterfaceImp
+                            Inherits Object
+                            Implements InterfaceB, InterfaceA
 
-                      Namespace MyNamespace
+                            Public Function InterfaceMethod(ByVal a As Integer) As Integer Implements InterfaceA.InterfaceMethod , InterfaceB.InterfaceMethod
+                                Return a
+                            End Function
+                        End Class
 
-                          Public Class Test
-                              Inherits Form
+                        Public Class TestSingleInterfaceImp
+                            Inherits Object
+                            Implements InterfaceA
 
-                              Private b As Button = New Button()
+                            Public Overridable Function InterfaceMethod(ByVal a As Integer) As Integer Implements InterfaceA.InterfaceMethod
+                                Return a
+                            End Function
+                        End Class
 
-                              Public Sub New()
-                                  MyBase.New
-                                  Me.Size = New Size(600, 600)
-                                  b.Text = ""Test""
-                                  b.TabIndex = 0
-                                  b.Location = New Point(400, 525)
-                                  AddHandler MyEvent, AddressOf Me.b_Click
-                              End Sub
+                        Public Structure structA
 
-                              Public Event MyEvent As System.EventHandler
+                            Public innerStruct As structB
 
-                              Private Sub b_Click(ByVal sender As Object, ByVal e As System.EventArgs)
-                              End Sub
-                          End Class
-                      End Namespace");
-                }
-            }).Dispose();
+                            Public Structure structB
+
+                                Public int1 As Integer
+                            End Structure
+                        End Structure
+
+                        Public Class PublicNestedClassA
+
+                            Public Class PublicNestedClassB1
+                            End Class
+
+                            Public Class PublicNestedClassB2
+
+                                Public Class PublicNestedClassC
+
+                                    Public Function publicNestedClassesMethod(ByVal a As Integer) As Integer
+                                        Return a
+                                    End Function
+                                End Class
+                            End Class
+                        End Class
+
+                        Public Class Test4
+
+                            Private number As Integer
+
+                            Shared Sub New()
+                            End Sub
+
+                            Public Property i() As Integer
+                                Get
+                                    Return number
+                                End Get
+                                Set
+                                    number = value
+                                End Set
+                            End Property
+                        End Class
+                    End Namespace
+
+                    Namespace MyNamespace
+
+                        Public Class Test
+                            Inherits Form
+
+                            Private b As Button = New Button()
+
+                            Public Sub New()
+                                MyBase.New
+                                Me.Size = New Size(600, 600)
+                                b.Text = ""Test""
+                                b.TabIndex = 0
+                                b.Location = New Point(400, 525)
+                                AddHandler MyEvent, AddressOf Me.b_Click
+                            End Sub
+
+                            Public Event MyEvent As System.EventHandler
+
+                            Private Sub b_Click(ByVal sender As Object, ByVal e As System.EventArgs)
+                            End Sub
+                        End Class
+                    End Namespace");
+            }
         }
 
         [Fact]
index d50127f..68c762d 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.14.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 050f3be..3369608 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 2578657..7e12b46 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 03e83f7..dadb27f 100644 (file)
@@ -4,7 +4,7 @@
     <RootNamespace>System.Collections.Concurrent</RootNamespace>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <Nullable>enable</Nullable>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Collections\Concurrent\BlockingCollection.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index d2e3c1a..e55d06f 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonPath)\CoreLib\System\Collections\Concurrent\IProducerConsumerCollectionDebugView.cs">
index a8569f9..2ba313e 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>1.2.4.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3e0bc47..8e7ba50 100644 (file)
@@ -8,7 +8,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index e5442ee..e501679 100644 (file)
@@ -1,25 +1,25 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release;netstandard1.3-Debug;netstandard1.3-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release;netstandard1.3-Debug;netstandard1.3-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Collections.Immutable.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' Or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="..\..\System.Collections\ref\System.Collections.csproj" />
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Runtime.InteropServices\ref\System.Runtime.InteropServices.csproj" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.0'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.0'">
     <Reference Include="System.Runtime" />
     <Reference Include="System.Collections" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.3'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3'">
     <Reference Include="System.Runtime" />
     <Reference Include="System.Collections" />
     <Reference Include="System.Runtime.InteropServices" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.3' or '$(TargetGroup)' == 'netstandard'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3' or '$(TargetGroup)' == 'netstandard'">
     <Reference Include="System.Memory" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 3e0bc47..8e7ba50 100644 (file)
@@ -8,7 +8,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 3d1af11..c4ca42c 100644 (file)
@@ -3,9 +3,8 @@
     <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
     <RootNamespace>System.Collections.Immutable</RootNamespace>
     <FileAlignment>512</FileAlignment>
-    <GenerateAppxPackageOnBuild>False</GenerateAppxPackageOnBuild>
     <PackageTargetFramework Condition="'$(TargetGroup)' == 'netstandard1.0'">netstandard1.0;portable-net45+win8+wp8+wpa81</PackageTargetFramework>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release;netstandard1.3-Debug;netstandard1.3-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release;netstandard1.3-Debug;netstandard1.3-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Properties\InternalsVisibleTo.cs" />
@@ -89,7 +88,7 @@
       <Link>Common\System\Runtime\Versioning\NonVersionableAttribute.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.0' or '$(TargetGroup)' == 'netstandard1.3'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.0' or '$(TargetFramework)' == 'netstandard1.3'">
     <Compile Include="$(CommonPath)\System\Diagnostics\CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs">
       <Link>Common\CoreLib\System\Diagnostics\CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs</Link>
     </Compile>
     <Reference Include="System.Runtime.Extensions" />
     <Reference Include="System.Threading" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.3' or '$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3' or '$(TargetsNetCoreApp)' == 'true'">
     <Reference Include="System.Runtime.InteropServices" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.3' or '$(TargetGroup)' == 'netstandard'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3' or '$(TargetGroup)' == 'netstandard'">
     <Reference Include="System.Memory" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 7548f28..f859830 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <NoWarn>0436</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Collections\DictionaryExtensions.cs" Condition="'$(TargetsNetFx)' == 'true'">
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0f04a6a..98c169a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index e238dfd..4ed7fd6 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>System.Collections.NonGeneric</RootNamespace>
     <AssemblyName>System.Collections.NonGeneric</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 5d4fb84..ceb5858 100644 (file)
@@ -122,61 +122,46 @@ namespace System.Collections.Tests
         [InlineData("hello", "hello", 0)]
         [InlineData("HELLO", "HELLO", 0)]
         [InlineData("hello", "goodbye", 1)]
-        [InlineData("hello", "null", 1)]
-        [InlineData("null", "hello", -1)]
+        [InlineData("hello", null, 1)]
+        [InlineData(null, "hello", -1)]
         [InlineData("file", "FILE", 0)] // Turkey's comparing system is ignored as this is invariant
         [InlineData(5, 5, 0)]
         [InlineData(10, 5, 1)]
         [InlineData(5, 10, -1)]
-        [InlineData(5, "null", 1)]
-        [InlineData("null", 5, -1)]
-        [InlineData("null", "null", 0)]
+        [InlineData(5, null, 1)]
+        [InlineData(null, 5, -1)]
+        [InlineData(null, null, 0)]
         public void DefaultInvariant_Compare(object a, object b, int expected)
         {
-            RemoteExecutorForUap.Invoke((ra, rb, rexpected) =>
+            var cultureNames = new string[]
             {
-                Func<string, object> convert = (string o) =>
-                {
-                    if (Int32.TryParse(o, out int ret))
-                        return ret;
-
-                    return (o == "null") ? null : o;
-                };
-
-                var ra_val = convert(ra);
-                var rb_val = convert(rb);
-                var rexpected_val = convert(rexpected);
+                "cs-CZ","da-DK","de-DE","el-GR","en-US",
+                "es-ES","fi-FI","fr-FR","hu-HU","it-IT",
+                "ja-JP","ko-KR","nb-NO","nl-NL","pl-PL",
+                "pt-BR","pt-PT","ru-RU","sv-SE","tr-TR",
+                "zh-CN","zh-HK","zh-TW"
+            };
 
-                var cultureNames = new string[]
+            foreach (string cultureName in cultureNames)
+            {
+                CultureInfo culture;
+                try
                 {
-                    "cs-CZ","da-DK","de-DE","el-GR","en-US",
-                    "es-ES","fi-FI","fr-FR","hu-HU","it-IT",
-                    "ja-JP","ko-KR","nb-NO","nl-NL","pl-PL",
-                    "pt-BR","pt-PT","ru-RU","sv-SE","tr-TR",
-                    "zh-CN","zh-HK","zh-TW"
-                };
-
-                foreach (string cultureName in cultureNames)
+                    culture = new CultureInfo(cultureName);
+                }
+                catch (CultureNotFoundException)
                 {
-                    CultureInfo culture;
-                    try
-                    {
-                        culture = new CultureInfo(cultureName);
-                    }
-                    catch (CultureNotFoundException)
-                    {
-                        continue;
-                    }
+                    continue;
+                }
 
-                    // Set current culture
-                    using (new ThreadCultureChange(culture, culture))
-                    {
-                        // All cultures should sort the same way, irrespective of the thread's culture
-                        CaseInsensitiveComparer defaultInvComparer = CaseInsensitiveComparer.DefaultInvariant;
-                        Assert.Equal(rexpected_val, Math.Sign(defaultInvComparer.Compare(ra_val, rb_val)));
-                    }
+                // Set current culture
+                using (new ThreadCultureChange(culture, culture))
+                {
+                    // All cultures should sort the same way, irrespective of the thread's culture
+                    CaseInsensitiveComparer defaultInvComparer = CaseInsensitiveComparer.DefaultInvariant;
+                    Assert.Equal(expected, Math.Sign(defaultInvComparer.Compare(a, b)));
                 }
-            }, a.ToString(), b.ToString(), expected.ToString()).Dispose();
+            }
         }
 
         [Theory]
index 975b312..a82df49 100644 (file)
@@ -40,40 +40,35 @@ namespace System.Collections.Tests
         [InlineData(5, 10, false)]
         public void Ctor_Empty_ChangeCurrentCulture_GetHashCodeCompare(object a, object b, bool expected)
         {
-            RemoteExecutorForUap.Invoke((ra, rb, rexpected) =>
+            var cultureNames = new string[]
             {
-                var cultureNames = new string[]
-                {
-                    "cs-CZ","da-DK","de-DE","el-GR","en-US",
-                    "es-ES","fi-FI","fr-FR","hu-HU","it-IT",
-                    "ja-JP","ko-KR","nb-NO","nl-NL","pl-PL",
-                    "pt-BR","pt-PT","ru-RU","sv-SE","tr-TR",
-                    "zh-CN","zh-HK","zh-TW"
-                };
+                "cs-CZ","da-DK","de-DE","el-GR","en-US",
+                "es-ES","fi-FI","fr-FR","hu-HU","it-IT",
+                "ja-JP","ko-KR","nb-NO","nl-NL","pl-PL",
+                "pt-BR","pt-PT","ru-RU","sv-SE","tr-TR",
+                "zh-CN","zh-HK","zh-TW"
+            };
 
-                bool.TryParse(rexpected, out bool expectedResult);
+            foreach (string cultureName in cultureNames)
+            {
+                CultureInfo newCulture;
+                try
+                {
+                    newCulture = new CultureInfo(cultureName);
+                }
+                catch (CultureNotFoundException)
+                {
+                    continue;
+                }
 
-                foreach (string cultureName in cultureNames)
+                using (new ThreadCultureChange(newCulture))
                 {
-                    CultureInfo newCulture;
-                    try
-                    {
-                        newCulture = new CultureInfo(cultureName);
-                    }
-                    catch (CultureNotFoundException)
-                    {
-                        continue;
-                    }
-
-                    using (new ThreadCultureChange(newCulture))
-                    {
-                        var provider = new CaseInsensitiveHashCodeProvider();
-                        Assert.Equal(provider.GetHashCode(ra), provider.GetHashCode(ra));
-                        Assert.Equal(provider.GetHashCode(rb), provider.GetHashCode(rb));
-                        Assert.Equal(expectedResult, provider.GetHashCode(ra) == provider.GetHashCode(rb));
-                    }
+                    var provider = new CaseInsensitiveHashCodeProvider();
+                    Assert.Equal(provider.GetHashCode(a), provider.GetHashCode(a));
+                    Assert.Equal(provider.GetHashCode(b), provider.GetHashCode(b));
+                    Assert.Equal(expected, provider.GetHashCode(a) == provider.GetHashCode(b));
                 }
-            }, a.ToString(), b.ToString(), expected.ToString()).Dispose();
+            }
         }
 
         [Theory]
@@ -181,19 +176,16 @@ namespace System.Collections.Tests
         {
             // Turkish has lower-case and upper-case version of the dotted "i", so the upper case of "i" (U+0069) isn't "I" (U+0049)
             // but rather U+0130.
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("tr-TR"))
             {
-                using (new ThreadCultureChange("tr-TR"))
-                {
-                    Assert.False(CaseInsensitiveHashCodeProvider.Default.GetHashCode("file") == CaseInsensitiveHashCodeProvider.Default.GetHashCode("FILE"));
-                    Assert.True(CaseInsensitiveHashCodeProvider.DefaultInvariant.GetHashCode("file") == CaseInsensitiveHashCodeProvider.DefaultInvariant.GetHashCode("FILE"));
-                }
+                Assert.False(CaseInsensitiveHashCodeProvider.Default.GetHashCode("file") == CaseInsensitiveHashCodeProvider.Default.GetHashCode("FILE"));
+                Assert.True(CaseInsensitiveHashCodeProvider.DefaultInvariant.GetHashCode("file") == CaseInsensitiveHashCodeProvider.DefaultInvariant.GetHashCode("FILE"));
+            }
 
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.True(CaseInsensitiveHashCodeProvider.Default.GetHashCode("file") == CaseInsensitiveHashCodeProvider.Default.GetHashCode("FILE"));
-                }
-            }).Dispose();
+            using (new ThreadCultureChange("en-US"))
+            {
+                Assert.True(CaseInsensitiveHashCodeProvider.Default.GetHashCode("file") == CaseInsensitiveHashCodeProvider.Default.GetHashCode("FILE"));
+            }
         }
     }
 }
index 62a7ca0..619f6f7 100644 (file)
@@ -40,41 +40,38 @@ namespace System.Collections.Tests
         [Fact]
         public void DefaultInvariant_Compare()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            var cultureNames = new string[]
             {
-                var cultureNames = new string[]
-                {
-                    "cs-CZ","da-DK","de-DE","el-GR","en-US",
-                    "es-ES","fi-FI","fr-FR","hu-HU","it-IT",
-                    "ja-JP","ko-KR","nb-NO","nl-NL","pl-PL",
-                    "pt-BR","pt-PT","ru-RU","sv-SE","tr-TR",
-                    "zh-CN","zh-HK","zh-TW"
-                };
+                "cs-CZ","da-DK","de-DE","el-GR","en-US",
+                "es-ES","fi-FI","fr-FR","hu-HU","it-IT",
+                "ja-JP","ko-KR","nb-NO","nl-NL","pl-PL",
+                "pt-BR","pt-PT","ru-RU","sv-SE","tr-TR",
+                "zh-CN","zh-HK","zh-TW"
+            };
+
+            var string1 = new string[] { "Apple", "abc", };
+            var string2 = new string[] { "\u00C6ble", "ABC" };
 
-                var string1 = new string[] { "Apple", "abc", };
-                var string2 = new string[] { "\u00C6ble", "ABC" };
+            foreach (string cultureName in cultureNames)
+            {
+                CultureInfo culture;
+                try
+                {
+                    culture = new CultureInfo(cultureName);
+                }
+                catch (CultureNotFoundException)
+                {
+                    continue;
+                }
 
-                foreach (string cultureName in cultureNames)
+                // All cultures should sort the same way, irrespective of the thread's culture
+                using (new ThreadCultureChange(culture, culture))
                 {
-                    CultureInfo culture;
-                    try
-                    {
-                        culture = new CultureInfo(cultureName);
-                    }
-                    catch (CultureNotFoundException)
-                    {
-                        continue;
-                    }
-
-                    // All cultures should sort the same way, irrespective of the thread's culture
-                    using (new ThreadCultureChange(culture, culture))
-                    {
-                        Comparer comp = Comparer.DefaultInvariant;
-                        Assert.Equal(1, comp.Compare(string1[0], string2[0]));
-                        Assert.Equal(-1, comp.Compare(string1[1], string2[1]));
-                    }
+                    Comparer comp = Comparer.DefaultInvariant;
+                    Assert.Equal(1, comp.Compare(string1[0], string2[0]));
+                    Assert.Equal(-1, comp.Compare(string1[1], string2[1]));
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f16aefa..9eba180 100644 (file)
@@ -1336,49 +1336,46 @@ namespace System.Collections.Tests
         [Fact]
         public void Item_Get_DifferentCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                var sortList = new SortedList();
+            var sortList = new SortedList();
 
-                try
+            try
+            {
+                var cultureNames = new string[]
                 {
-                    var cultureNames = new string[]
-                    {
-                        "cs-CZ","da-DK","de-DE","el-GR","en-US",
-                        "es-ES","fi-FI","fr-FR","hu-HU","it-IT",
-                        "ja-JP","ko-KR","nb-NO","nl-NL","pl-PL",
-                        "pt-BR","pt-PT","ru-RU","sv-SE","tr-TR",
-                        "zh-CN","zh-HK","zh-TW"
-                    };
-
-                    var installedCultures = new CultureInfo[cultureNames.Length];
-                    var cultureDisplayNames = new string[installedCultures.Length];
-                    int uniqueDisplayNameCount = 0;
-
-                    foreach (string cultureName in cultureNames)
-                    {
-                        var culture = new CultureInfo(cultureName);
-                        installedCultures[uniqueDisplayNameCount] = culture;
-                        cultureDisplayNames[uniqueDisplayNameCount] = culture.DisplayName;
-                        sortList.Add(cultureDisplayNames[uniqueDisplayNameCount], culture);
+                    "cs-CZ","da-DK","de-DE","el-GR","en-US",
+                    "es-ES","fi-FI","fr-FR","hu-HU","it-IT",
+                    "ja-JP","ko-KR","nb-NO","nl-NL","pl-PL",
+                    "pt-BR","pt-PT","ru-RU","sv-SE","tr-TR",
+                    "zh-CN","zh-HK","zh-TW"
+                };
+
+                var installedCultures = new CultureInfo[cultureNames.Length];
+                var cultureDisplayNames = new string[installedCultures.Length];
+                int uniqueDisplayNameCount = 0;
+
+                foreach (string cultureName in cultureNames)
+                {
+                    var culture = new CultureInfo(cultureName);
+                    installedCultures[uniqueDisplayNameCount] = culture;
+                    cultureDisplayNames[uniqueDisplayNameCount] = culture.DisplayName;
+                    sortList.Add(cultureDisplayNames[uniqueDisplayNameCount], culture);
 
-                        uniqueDisplayNameCount++;
-                    }
+                    uniqueDisplayNameCount++;
+                }
 
-                    // In Czech ch comes after h if the comparer changes based on the current culture of the thread
-                    // we will not be able to find some items
-                    using (new ThreadCultureChange("cs-CZ"))
+                // In Czech ch comes after h if the comparer changes based on the current culture of the thread
+                // we will not be able to find some items
+                using (new ThreadCultureChange("cs-CZ"))
+                {
+                    for (int i = 0; i < uniqueDisplayNameCount; i++)
                     {
-                        for (int i = 0; i < uniqueDisplayNameCount; i++)
-                        {
-                            Assert.Equal(installedCultures[i], sortList[installedCultures[i].DisplayName]);
-                        }
+                        Assert.Equal(installedCultures[i], sortList[installedCultures[i].DisplayName]);
                     }
                 }
-                catch (CultureNotFoundException)
-                {
-                }
-            }).Dispose();
+            }
+            catch (CultureNotFoundException)
+            {
+            }
         }
 
         [Fact]
index 352bcf0..0b1ccc4 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <!-- Common Collections tests -->
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index be44def..6ed79be 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index f12c952..cdc8560 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <RootNamespace>System.Collections.Specialized</RootNamespace>
     <AssemblyName>System.Collections.Specialized</AssemblyName>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3540135..ae493eb 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <!-- Common Collections tests -->
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 68f4aca..e3e8946 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index af6c544..db38925 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index d062a44..7430715 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Collections</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 94ca981..b35166a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index edded7c..10289ed 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.3.0.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6e8f997..9f645e7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\ComponentModel\DataAnnotations\AssociatedMetadataTypeTypeDescriptionProviderTests.cs" />
index 55a197b..3cd5982 100644 (file)
@@ -171,19 +171,16 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void ParseDotSeparatorExtremaInCommaSeparatorCultures(Type type, string min, string max)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.True(new RangeAttribute(Type.GetType(t), m1, m2).IsValid(null));
-                }
+                Assert.True(new RangeAttribute(type, min, max).IsValid(null));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2);
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(null));
-                }
-            }, type.ToString(), min, max).Dispose();
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max);
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(null));
+            }
         }
 
         [Theory]
@@ -191,26 +188,23 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void ParseDotSeparatorInvariantExtremaInCommaSeparatorCultures(Type type, string min, string max)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.True(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ParseLimitsInInvariantCulture = true
-                        }.IsValid(null));
-                }
-
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    Assert.True(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ParseLimitsInInvariantCulture = true
-                        }.IsValid(null));
-                }
-            }, type.ToString(), min, max).Dispose();
+                Assert.True(
+                    new RangeAttribute(type, min, max)
+                    {
+                        ParseLimitsInInvariantCulture = true
+                    }.IsValid(null));
+            }
+
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                Assert.True(
+                    new RangeAttribute(type, min, max)
+                    {
+                        ParseLimitsInInvariantCulture = true
+                    }.IsValid(null));
+            }
         }
 
         [Theory]
@@ -218,19 +212,16 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void ParseCommaSeparatorExtremaInCommaSeparatorCultures(Type type, string min, string max)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2);
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(null));
-                }
+                var range = new RangeAttribute(type, min, max);
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(null));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    Assert.True(new RangeAttribute(Type.GetType(t), m1, m2).IsValid(null));
-                }
-            }, type.ToString(), min, max).Dispose();
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                Assert.True(new RangeAttribute(type, min, max).IsValid(null));
+            }
         }
 
         [Theory]
@@ -238,38 +229,32 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void ParseCommaSeparatorInvariantExtremaInCommaSeparatorCultures(Type type, string min, string max)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2);
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(null));
-                }
+                var range = new RangeAttribute(type, min, max);
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(null));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    Assert.True(new RangeAttribute(Type.GetType(t), m1, m2).IsValid(null));
-                }
-            }, type.ToString(), min, max).Dispose();
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                Assert.True(new RangeAttribute(type, min, max).IsValid(null));
+            }
         }
 
         [Theory][MemberData(nameof(DotDecimalValidValues))]
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void DotDecimalExtremaAndValues(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.True(new RangeAttribute(Type.GetType(t), m1, m2).IsValid(v));
-                }
+                Assert.True(new RangeAttribute(type, min, max).IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2);
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max);
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -277,26 +262,23 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void DotDecimalExtremaAndValuesInvariantParse(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.True(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ParseLimitsInInvariantCulture = true
-                        }.IsValid(v));
-                }
-
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
+                Assert.True(
+                    new RangeAttribute(type, min, max)
                     {
                         ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    }.IsValid(value));
+            }
+
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
+                {
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -304,26 +286,23 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void DotDecimalExtremaAndValuesInvariantConvert(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.True(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ConvertValueInInvariantCulture = true
-                        }.IsValid(v));
-                }
-
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
+                Assert.True(
+                    new RangeAttribute(type, min, max)
                     {
                         ConvertValueInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    }.IsValid(value));
+            }
+
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
+                {
+                    ConvertValueInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -331,28 +310,25 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void DotDecimalExtremaAndValuesInvariantBoth(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.True(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ConvertValueInInvariantCulture = true,
-                            ParseLimitsInInvariantCulture = true
-                        }.IsValid(v));
-                }
-
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    Assert.True(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ConvertValueInInvariantCulture = true,
-                            ParseLimitsInInvariantCulture = true
-                        }.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                Assert.True(
+                    new RangeAttribute(type, min, max)
+                    {
+                        ConvertValueInInvariantCulture = true,
+                        ParseLimitsInInvariantCulture = true
+                    }.IsValid(value));
+            }
+
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                Assert.True(
+                    new RangeAttribute(type, min, max)
+                    {
+                        ConvertValueInInvariantCulture = true,
+                        ParseLimitsInInvariantCulture = true
+                    }.IsValid(value));
+            }
         }
         [Theory]
         [MemberData(nameof(DotDecimalNonStringValidValues))]
@@ -540,19 +516,16 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void DotDecimalExtremaAndInvalidValues(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.False(new RangeAttribute(Type.GetType(t), m1, m2).IsValid(v));
-                }
+                Assert.False(new RangeAttribute(type, min, max).IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2);
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max);
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -560,26 +533,23 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void DotDecimalExtremaAndInvalidValuesInvariantParse(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.False(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ParseLimitsInInvariantCulture = true
-                        }.IsValid(v));
-                }
-
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
+                Assert.False(
+                    new RangeAttribute(type, min, max)
                     {
                         ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    }.IsValid(value));
+            }
+
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
+                {
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -587,26 +557,23 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void DotDecimalExtremaAndInvalidValuesInvariantConvert(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.False(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ConvertValueInInvariantCulture = true
-                        }.IsValid(v));
-                }
-
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
+                Assert.False(
+                    new RangeAttribute(type, min, max)
                     {
                         ConvertValueInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    }.IsValid(value));
+            }
+
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
+                {
+                    ConvertValueInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -614,28 +581,25 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void DotDecimalExtremaAndInvalidValuesInvariantBoth(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.False(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ConvertValueInInvariantCulture = true,
-                            ParseLimitsInInvariantCulture = true
-                        }.IsValid(v));
-                }
-
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    Assert.False(
-                        new RangeAttribute(Type.GetType(t), m1, m2)
-                        {
-                            ConvertValueInInvariantCulture = true,
-                            ParseLimitsInInvariantCulture = true
-                        }.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                Assert.False(
+                    new RangeAttribute(type, min, max)
+                    {
+                        ConvertValueInInvariantCulture = true,
+                        ParseLimitsInInvariantCulture = true
+                    }.IsValid(value));
+            }
+
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                Assert.False(
+                    new RangeAttribute(type, min, max)
+                    {
+                        ConvertValueInInvariantCulture = true,
+                        ParseLimitsInInvariantCulture = true
+                    }.IsValid(value));
+            }
         }
 
         [Theory]
@@ -643,19 +607,16 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void CommaDecimalExtremaAndValues(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2);
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
+                var range = new RangeAttribute(type, min, max);
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    Assert.True(new RangeAttribute(Type.GetType(t), m1, m2).IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                Assert.True(new RangeAttribute(type, min, max).IsValid(value));
+            }
         }
 
         [Theory]
@@ -663,26 +624,23 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void CommaDecimalExtremaAndValuesInvariantParse(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -690,26 +648,23 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void CommaDecimalExtremaAndValuesInvariantConvert(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ConvertValueInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
+                    ConvertValueInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ConvertValueInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    ConvertValueInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -717,28 +672,25 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void CommaDecimalExtremaAndValuesInvariantBoth(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ConvertValueInInvariantCulture = true,
-                        ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
+                    ConvertValueInInvariantCulture = true,
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ConvertValueInInvariantCulture = true,
-                        ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    ConvertValueInInvariantCulture = true,
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -746,19 +698,16 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void CommaDecimalExtremaAndInvalidValues(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2);
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
+                var range = new RangeAttribute(type, min, max);
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    Assert.False(new RangeAttribute(Type.GetType(t), m1, m2).IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                Assert.False(new RangeAttribute(type, min, max).IsValid(value));
+            }
         }
 
         [Theory]
@@ -766,26 +715,23 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void CommaDecimalExtremaAndInvalidValuesInvariantParse(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -793,26 +739,23 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void CommaDecimalExtremaAndInvalidValuesInvariantConvert(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ConvertValueInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
+                    ConvertValueInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ConvertValueInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    ConvertValueInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
@@ -820,28 +763,25 @@ namespace System.ComponentModel.DataAnnotations.Tests
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "2648 not fixed on NetFX")]
         public static void CommaDecimalExtremaAndInvalidValuesInvariantBoth(Type type, string min, string max, string value)
         {
-            RemoteExecutorForUap.Invoke((t, m1, m2, v) =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ConvertValueInInvariantCulture = true,
-                        ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
+                    ConvertValueInInvariantCulture = true,
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                var range = new RangeAttribute(type, min, max)
                 {
-                    var range = new RangeAttribute(Type.GetType(t), m1, m2)
-                    {
-                        ConvertValueInInvariantCulture = true,
-                        ParseLimitsInInvariantCulture = true
-                    };
-                    AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(v));
-                }
-            }, type.ToString(), min, max, value).Dispose();
+                    ConvertValueInInvariantCulture = true,
+                    ParseLimitsInInvariantCulture = true
+                };
+                AssertExtensions.Throws<ArgumentException>("value", () => range.IsValid(value));
+            }
         }
 
         [Theory]
index 775fd30..1521c75 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="InternalCalls.cs" />
index f34fa03..bc78e0c 100644 (file)
@@ -8,7 +8,6 @@
       $(PackageConfigurations);
       _netfx;
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index f2569a7..bfe9808 100644 (file)
@@ -6,7 +6,7 @@
     <!-- CommonStrings needs RootNamespace to be empty -->
     <NoWarn>$(NoWarn);CS1573</NoWarn>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard'">SR.PlatformNotSupported_ComponentModel_Composition</GeneratePlatformNotSupportedAssemblyMessage>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp2.0-Debug;netcoreapp2.0-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp2.0-Debug;netcoreapp2.0-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index 2b2323d..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index ff53ac6..a1d9e34 100644 (file)
@@ -2,7 +2,7 @@
   <!-- TODO: Add netfx configuration after OOB package bug is fixed: https://github.com/dotnet/corefx/issues/23889 -->
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <!-- Some internal types are needed, so we reference the implementation assembly, rather than the reference assembly. -->
index 38eda25..019ae8d 100644 (file)
@@ -36,7 +36,7 @@ namespace System.ComponentModel.Composition
 
         public const string ComImportAvailable = nameof(Helpers) + "." + nameof(CheckComImportAvailable);
 
-        private static bool CheckComImportAvailable() => PlatformDetection.IsWindows && PlatformDetection.IsNotWindowsNanoServer && !PlatformDetection.IsUap;
+        private static bool CheckComImportAvailable() => PlatformDetection.IsWindows && PlatformDetection.IsNotWindowsNanoServer && !PlatformDetection.IsInAppContainer;
     }
 
     public class ComposablePartDefinitionTests
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 01e28ca..360afed 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.ComponentModel.EventBasedAsync.cs" />
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index fcbdcef..b73b180 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <RootNamespace>System.ComponentModel.EventBasedAsync</RootNamespace>
     <AssemblyName>System.ComponentModel.EventBasedAsync</AssemblyName>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\ComponentModel\AsyncCompletedEvent.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 23120ce..2c5fce3 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AsyncOperationManagerTests.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index df7ed1d..1cf8849 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 70db1a4..9ec72d7 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <RootNamespace>System.ComponentModel.Primitives</RootNamespace>
     <AssemblyName>System.ComponentModel.Primitives</AssemblyName>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index bfd77dc..1c45301 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\ComponentModel\BrowsableAttributeTests.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c42e771..117bdb9 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.ComponentModel.manual.cs" />
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index bc8e722..8f32205 100644 (file)
@@ -4,7 +4,7 @@
     <AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="MS\Internal\Xml\Linq\ComponentModel\XComponentModel.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ee12c89..37aaf19 100644 (file)
@@ -268,14 +268,11 @@ namespace System.ComponentModel.Design.Tests
         [Fact]
         public void DesignerOptionConverter_ConvertToString_ReturnsExpected()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(null, CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(null, CultureInfo.InvariantCulture))
-                {
-                    TypeConverter converter = TypeDescriptor.GetConverter(typeof(DesignerOptionService.DesignerOptionCollection));
-                    Assert.Equal("(Collection)", converter.ConvertToString(null));
-                }
-            }).Dispose();
+                TypeConverter converter = TypeDescriptor.GetConverter(typeof(DesignerOptionService.DesignerOptionCollection));
+                Assert.Equal("(Collection)", converter.ConvertToString(null));
+            }
         }
 
         [Fact]
index ff62f71..83e88b9 100644 (file)
@@ -14,17 +14,14 @@ namespace System.ComponentModel.Tests
         [Fact]
         public static void ConvertTo_WithContext()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(null, CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(null, CultureInfo.InvariantCulture))
-                {
-                    ConvertTo_WithContext(new object[1, 3]
-                        {
-                            { "any string", "(Text)", null }
-                        },
-                        new MultilineStringConverter());
-                }
-            }).Dispose();
+                ConvertTo_WithContext(new object[1, 3]
+                    {
+                        { "any string", "(Text)", null }
+                    },
+                    new MultilineStringConverter());
+            }
         }
     }
 }
index 29c9593..bce419e 100644 (file)
@@ -4,7 +4,7 @@
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
     <RootNamespace />
     <AssemblyVersion>9.9.9.9</AssemblyVersion>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="Drawing\ColorConverterTests.cs" />
index 05f225f..c485982 100644 (file)
@@ -51,27 +51,20 @@ namespace System.ComponentModel.Tests
                 }
                 else
                 {
-                    RemoteExecutorForUap.Invoke((typeName, testString) =>
+                    using (new ThreadCultureChange(convertTest.RemoteInvokeCulture))
                     {
-                        // Deserialize the current test.
-                        TypeConverterTestBase testBase = (TypeConverterTestBase)Activator.CreateInstance(Type.GetType(typeName));
-                        ConvertTest test = ConvertTest.FromSerializedString(testString);
+                        Assert.Equal(convertTest.CanConvert, this.Converter.CanConvertTo(convertTest.Context, convertTest.DestinationType));
 
-                        using (new ThreadCultureChange(test.RemoteInvokeCulture))
+                        if (convertTest.CanConvert)
                         {
-                            Assert.Equal(test.CanConvert, testBase.Converter.CanConvertTo(test.Context, test.DestinationType));
-
-                            if (test.CanConvert)
-                            {
-                                object actual = testBase.Converter.ConvertTo(test.Context, test.Culture, test.Source, test.DestinationType);
-                                Assert.Equal(test.Expected, actual);
-                            }
-                            else
-                            {
-                                Assert.Throws<NotSupportedException>(() => testBase.Converter.ConvertTo(test.Context, test.Culture, test.Source, test.DestinationType));
-                            }
+                            object actual = this.Converter.ConvertTo(convertTest.Context, convertTest.Culture, convertTest.Source, convertTest.DestinationType);
+                            Assert.Equal(convertTest.Expected, actual);
                         }
-                    }, this.GetType().AssemblyQualifiedName, convertTest.GetSerializedString()).Dispose();
+                        else
+                        {
+                            Assert.Throws<NotSupportedException>(() => this.Converter.ConvertTo(convertTest.Context, convertTest.Culture, convertTest.Source, convertTest.DestinationType));
+                        }
+                    }
                 }
             });
         }
@@ -127,30 +120,23 @@ namespace System.ComponentModel.Tests
                 }
                 else
                 {
-                    RemoteExecutorForUap.Invoke((typeName, testString) =>
+                    using (new ThreadCultureChange(convertTest.RemoteInvokeCulture))
                     {
-                        // Deserialize the current test.
-                        TypeConverterTestBase testBase = (TypeConverterTestBase)Activator.CreateInstance(Type.GetType(typeName));
-                        ConvertTest test = ConvertTest.FromSerializedString(testString);
+                        if (convertTest.Source != null)
+                        {
+                            Assert.Equal(convertTest.CanConvert, this.Converter.CanConvertFrom(convertTest.Context, convertTest.Source.GetType()));
+                        }
 
-                        using (new ThreadCultureChange(test.RemoteInvokeCulture))
+                        if (convertTest.NetCoreExceptionType == null)
+                        {
+                            object actual = this.Converter.ConvertFrom(convertTest.Context, convertTest.Culture, convertTest.Source);
+                            Assert.Equal(convertTest.Expected, actual);
+                        }
+                        else
                         {
-                            if (test.Source != null)
-                            {
-                                Assert.Equal(test.CanConvert, testBase.Converter.CanConvertFrom(test.Context, test.Source.GetType()));
-                            }
-
-                            if (test.NetCoreExceptionType == null)
-                            {
-                                object actual = testBase.Converter.ConvertFrom(test.Context, test.Culture, test.Source);
-                                Assert.Equal(test.Expected, actual);
-                            }
-                            else
-                            {
-                                AssertExtensions.Throws(test.NetCoreExceptionType, test.NetFrameworkExceptionType, () => testBase.Converter.ConvertFrom(test.Context, test.Culture, test.Source));
-                            }
+                            AssertExtensions.Throws(convertTest.NetCoreExceptionType, convertTest.NetFrameworkExceptionType, () => this.Converter.ConvertFrom(convertTest.Context, convertTest.Culture, convertTest.Source));
                         }
-                    }, this.GetType().AssemblyQualifiedName, convertTest.GetSerializedString()).Dispose();
+                    }
                 }
             });
         }
index 2c346e4..f98054a 100644 (file)
@@ -72,28 +72,25 @@ namespace System.ComponentModel.Tests
         [Fact]
         public static void ConvertFrom_InstanceDescriptor()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("fr-FR"))
             {
-                using (new ThreadCultureChange("fr-FR"))
+                DateTime testDateAndTime = DateTime.UtcNow;
+                ConstructorInfo ctor = typeof(DateTime).GetConstructor(new Type[]
                 {
-                    DateTime testDateAndTime = DateTime.UtcNow;
-                    ConstructorInfo ctor = typeof(DateTime).GetConstructor(new Type[]
-                    {
-                        typeof(int), typeof(int), typeof(int), typeof(int),
-                        typeof(int), typeof(int), typeof(int)
-                    });
+                    typeof(int), typeof(int), typeof(int), typeof(int),
+                    typeof(int), typeof(int), typeof(int)
+                });
 
-                    InstanceDescriptor descriptor = new InstanceDescriptor(ctor, new object[]
-                    {
-                        testDateAndTime.Year, testDateAndTime.Month, testDateAndTime.Day, testDateAndTime.Hour,
-                        testDateAndTime.Minute, testDateAndTime.Second, testDateAndTime.Millisecond
-                    });
+                InstanceDescriptor descriptor = new InstanceDescriptor(ctor, new object[]
+                {
+                    testDateAndTime.Year, testDateAndTime.Month, testDateAndTime.Day, testDateAndTime.Hour,
+                    testDateAndTime.Minute, testDateAndTime.Second, testDateAndTime.Millisecond
+                });
 
-                    const string format = "dd MMM yyyy hh:mm";
-                    object o = s_converter.ConvertFrom(descriptor);
-                    Assert.Equal(testDateAndTime.ToString(format), ((DateTime)o).ToString(format));
-                }
-            }).Dispose();
+                const string format = "dd MMM yyyy hh:mm";
+                object o = s_converter.ConvertFrom(descriptor);
+                Assert.Equal(testDateAndTime.ToString(format), ((DateTime)o).ToString(format));
+            }
         }
 
         [Fact]
@@ -113,33 +110,30 @@ namespace System.ComponentModel.Tests
         [Fact]
         public static void ConvertTo_WithContext()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("pl-PL"))
             {
-                using (new ThreadCultureChange("pl-PL"))
-                {
-                    Assert.Throws<ArgumentNullException>(
-                        () => s_converter.ConvertTo(s_context, null, c_conversionInputValue, null));
+                Assert.Throws<ArgumentNullException>(
+                    () => s_converter.ConvertTo(s_context, null, c_conversionInputValue, null));
 
-                    Assert.Throws<NotSupportedException>(
-                        () => s_converter.ConvertTo(s_context, null, c_conversionInputValue, typeof(int)));
+                Assert.Throws<NotSupportedException>(
+                    () => s_converter.ConvertTo(s_context, null, c_conversionInputValue, typeof(int)));
 
-                    object o = s_converter.ConvertTo(s_context, null, c_conversionInputValue, typeof(string));
-                    VerifyConversionToString(o);
+                object o = s_converter.ConvertTo(s_context, null, c_conversionInputValue, typeof(string));
+                VerifyConversionToString(o);
 
-                    o = s_converter.ConvertTo(
-                        s_context, CultureInfo.CurrentCulture, c_conversionInputValue, typeof(string));
-                    VerifyConversionToString(o);
+                o = s_converter.ConvertTo(
+                    s_context, CultureInfo.CurrentCulture, c_conversionInputValue, typeof(string));
+                VerifyConversionToString(o);
 
-                    o = s_converter.ConvertTo(
-                        s_context, CultureInfo.InvariantCulture, c_conversionInputValue, typeof(string));
-                    VerifyConversionToString(o);
+                o = s_converter.ConvertTo(
+                    s_context, CultureInfo.InvariantCulture, c_conversionInputValue, typeof(string));
+                VerifyConversionToString(o);
 
-                    string s = s_converter.ConvertTo(
-                        s_context, CultureInfo.InvariantCulture, new FormattableClass(), typeof(string)) as string;
-                    Assert.NotNull(s);
-                    Assert.Equal(FormattableClass.Token, s);
-                }
-            }).Dispose();
+                string s = s_converter.ConvertTo(
+                    s_context, CultureInfo.InvariantCulture, new FormattableClass(), typeof(string)) as string;
+                Assert.NotNull(s);
+                Assert.Equal(FormattableClass.Token, s);
+            }
         }
 
         [Fact]
index 9262622..78d2772 100644 (file)
@@ -38,18 +38,15 @@ namespace System.ComponentModel.Tests
         [Fact]
         public static void ConvertTo_WithContext()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    ConvertTo_WithContext(new object[2, 3]
-                        {
-                            { typeof(char), "System.Char", null },   // the base class is not verifying if this type is not in the list
-                            { null, "(none)", CultureInfo.InvariantCulture }
-                        },
-                        TypeListConverterTests.s_converter);
-                }
-            }).Dispose();
+                ConvertTo_WithContext(new object[2, 3]
+                    {
+                        { typeof(char), "System.Char", null },   // the base class is not verifying if this type is not in the list
+                        { null, "(none)", CultureInfo.InvariantCulture }
+                    },
+                    TypeListConverterTests.s_converter);
+            }
         }
 
         [Fact]
index dd42985..359b316 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c0a520a..94a559f 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index aa1d348..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index d4155cf..91315fd 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>System.ComponentModel</RootNamespace>
     <AssemblyName>System.ComponentModel</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index fb53e34..1878153 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CancelEventArgsTests.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index feaa0cd..6ba40eb 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="SharingBoundaryAttributeTests.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index fc9f49e..77f14be 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AssemblyName>System.Composition.Convention.Tests</AssemblyName>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AttributedModelConventionExtensions.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9ff9fd2..9ee5dd1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Composition\Hosting\Core\CompositionDependencyTests.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e9d3b47..5aa5025 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Composition\Hosting\Core\CompositionContractTests.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6b3fa80..659f53b 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ContainerConfigurationTests.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index fc20abd..b8f9c7c 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <RootNamespace>System.Composition.Lightweight.UnitTests</RootNamespace>
     <AssemblyName>System.Composition.Tests</AssemblyName>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ActivationEventOrderingTests.cs" />
index e7e21fc..8e81900 100644 (file)
@@ -4,7 +4,7 @@
     <XUnitNoAppdomain>true</XUnitNoAppdomain>
     <XUnitMaxThreads>1</XUnitMaxThreads>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index 363223f..3d51a77 100644 (file)
@@ -117,39 +117,33 @@ namespace System.ConfigurationTests
         [Fact]
         public void MinValueString_TooSmall()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    TimeSpanValidatorAttribute attribute = new TimeSpanValidatorAttribute();
-
-                    attribute.MaxValueString = new TimeSpan(2, 2, 2, 2).ToString();
-                    ArgumentOutOfRangeException result = Assert.Throws<ArgumentOutOfRangeException>(() =>
-                        attribute.MinValueString = new TimeSpan(3, 3, 3, 3).ToString());
-                    ArgumentOutOfRangeException expectedException =
-                        new ArgumentOutOfRangeException("value", SR.Validator_min_greater_than_max);
-                    Assert.Equal(expectedException.Message, result.Message);
-                }
-            }).Dispose();
+                TimeSpanValidatorAttribute attribute = new TimeSpanValidatorAttribute();
+
+                attribute.MaxValueString = new TimeSpan(2, 2, 2, 2).ToString();
+                ArgumentOutOfRangeException result = Assert.Throws<ArgumentOutOfRangeException>(() =>
+                    attribute.MinValueString = new TimeSpan(3, 3, 3, 3).ToString());
+                ArgumentOutOfRangeException expectedException =
+                    new ArgumentOutOfRangeException("value", SR.Validator_min_greater_than_max);
+                Assert.Equal(expectedException.Message, result.Message);
+            }
         }
 
         [Fact]
         public void MaxValueString_TooBig()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    TimeSpanValidatorAttribute attribute = new TimeSpanValidatorAttribute();
-
-                    attribute.MinValueString = new TimeSpan(2, 2, 2, 2).ToString();
-                    ArgumentOutOfRangeException result = Assert.Throws<ArgumentOutOfRangeException>(() =>
-                        attribute.MaxValueString = new TimeSpan(1, 1, 1, 1).ToString());
-                    ArgumentOutOfRangeException expectedException =
-                        new ArgumentOutOfRangeException("value", SR.Validator_min_greater_than_max);
-                    Assert.Equal(expectedException.Message, result.Message);
-                }
-            }).Dispose();
+                TimeSpanValidatorAttribute attribute = new TimeSpanValidatorAttribute();
+
+                attribute.MinValueString = new TimeSpan(2, 2, 2, 2).ToString();
+                ArgumentOutOfRangeException result = Assert.Throws<ArgumentOutOfRangeException>(() =>
+                    attribute.MaxValueString = new TimeSpan(1, 1, 1, 1).ToString());
+                ArgumentOutOfRangeException expectedException =
+                    new ArgumentOutOfRangeException("value", SR.Validator_min_greater_than_max);
+                Assert.Equal(expectedException.Message, result.Message);
+            }
         }
     }
 }
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4a14acc..84284f0 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 93bc6bb..786a385 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>System.Console</RootNamespace>
     <AssemblyName>System.Console</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 6f8bf12..2076da5 100644 (file)
@@ -3,8 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netcoreapp-Windows_NT;
-      uap;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 76f9d7c..07fc30d 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Debug;uap-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CancelKeyPress.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 278996e..c50b085 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <NoWarn>$(NoWarn);0618</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Data.Common.cs" />
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 87e9373..5e306b5 100644 (file)
@@ -4,7 +4,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
     <PlatformTarget>AnyCPU</PlatformTarget>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Data.Common.TypeForwards.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 481f98d..0b158d2 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <NoWarn>0168,0169,0414,0219,0649</NoWarn>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Data\Common\DataColumnMappingTest.cs" />
index 35012fb..05af566 100644 (file)
@@ -298,32 +298,29 @@ namespace System.Data.Tests
         [Fact]
         public void LocaleOnRootWithoutIsDataSet()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("fi-FI"))
             {
-                using (new ThreadCultureChange("fi-FI"))
-                {
-                    string xs = @"<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'>
-    <xs:element name='Root' msdata:Locale='ja-JP'>
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name='Child' type='xs:string' />
-            </xs:sequence>
-            <xs:attribute name='Attr' type='xs:integer' />
-        </xs:complexType>
-    </xs:element>
+                string xs = @"<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:msdata='urn:schemas-microsoft-com:xml-msdata'>
+<xs:element name='Root' msdata:Locale='ja-JP'>
+    <xs:complexType>
+        <xs:sequence>
+            <xs:element name='Child' type='xs:string' />
+        </xs:sequence>
+        <xs:attribute name='Attr' type='xs:integer' />
+    </xs:complexType>
+</xs:element>
 </xs:schema>";
 
-                    var ds = new DataSet();
-                    ds.ReadXmlSchema(new StringReader(xs));
-                    DataSetAssertion.AssertDataSet("ds", ds, "NewDataSet", 1, 0);
-                    Assert.Equal("fi-FI", ds.Locale.Name); // DataSet's Locale comes from current thread
-                    DataTable dt = ds.Tables[0];
-                    DataSetAssertion.AssertDataTable("dt", dt, "Root", 2, 0, 0, 0, 0, 0);
-                    Assert.Equal("ja-JP", dt.Locale.Name); // DataTable's Locale comes from msdata:Locale
-                    DataSetAssertion.AssertDataColumn("col1", dt.Columns[0], "Attr", true, false, 0, 1, "Attr", MappingType.Attribute, typeof(long), DBNull.Value, string.Empty, -1, string.Empty, 0, string.Empty, false, false);
-                    DataSetAssertion.AssertDataColumn("col2", dt.Columns[1], "Child", false, false, 0, 1, "Child", MappingType.Element, typeof(string), DBNull.Value, string.Empty, -1, string.Empty, 1, string.Empty, false, false);
-                }
-            }).Dispose();
+                var ds = new DataSet();
+                ds.ReadXmlSchema(new StringReader(xs));
+                DataSetAssertion.AssertDataSet("ds", ds, "NewDataSet", 1, 0);
+                Assert.Equal("fi-FI", ds.Locale.Name); // DataSet's Locale comes from current thread
+                DataTable dt = ds.Tables[0];
+                DataSetAssertion.AssertDataTable("dt", dt, "Root", 2, 0, 0, 0, 0, 0);
+                Assert.Equal("ja-JP", dt.Locale.Name); // DataTable's Locale comes from msdata:Locale
+                DataSetAssertion.AssertDataColumn("col1", dt.Columns[0], "Attr", true, false, 0, 1, "Attr", MappingType.Attribute, typeof(long), DBNull.Value, string.Empty, -1, string.Empty, 0, string.Empty, false, false);
+                DataSetAssertion.AssertDataColumn("col2", dt.Columns[1], "Child", false, false, 0, 1, "Child", MappingType.Element, typeof(string), DBNull.Value, string.Empty, -1, string.Empty, 1, string.Empty, false, false);
+            }
         }
 
 
index 5b33bff..fbebda1 100644 (file)
@@ -510,93 +510,89 @@ namespace System.Data.Tests
         [Fact]
         public void WriteXmlSchema()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("fi-FI"))
             {
-                using (new ThreadCultureChange("fi-FI"))
-                {
-                    var ds = new DataSet();
-                    ds.ReadXml(new StringReader(DataProvider.region));
-                    TextWriter writer = new StringWriter();
-                    ds.WriteXmlSchema(writer);
-
-
-                    string TextString = DataSetAssertion.GetNormalizedSchema(writer.ToString());
-                    // string TextString = writer.ToString ();
-
-                    string substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("<?xml version=\"1.0\" encoding=\"utf-16\"?>", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    // This is original DataSet.WriteXmlSchema() output
-                    // Assert.Equal ("<xs:schema id=\"Root\" xmlns=\"\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">", substring);
-                    Assert.Equal("<xs:schema id=\"Root\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("  <xs:element msdata:IsDataSet=\"true\" msdata:Locale=\"en-US\" name=\"Root\">", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("    <xs:complexType>", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("      <xs:choice maxOccurs=\"unbounded\" minOccurs=\"0\">", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("        <xs:element name=\"Region\">", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("          <xs:complexType>", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("            <xs:sequence>", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    // This is original DataSet.WriteXmlSchema() output
-                    // Assert.Equal ("              <xs:element name=\"RegionID\" type=\"xs:string\" minOccurs=\"0\" />", substring);
-                    Assert.Equal("              <xs:element minOccurs=\"0\" name=\"RegionID\" type=\"xs:string\" />", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    // This is original DataSet.WriteXmlSchema() output
-                    // Assert.Equal ("              <xs:element name=\"RegionDescription\" type=\"xs:string\" minOccurs=\"0\" />", substring);
-                    Assert.Equal("              <xs:element minOccurs=\"0\" name=\"RegionDescription\" type=\"xs:string\" />", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("            </xs:sequence>", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("          </xs:complexType>", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("        </xs:element>", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("      </xs:choice>", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("    </xs:complexType>", substring);
-
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("  </xs:element>", substring);
-
-                    Assert.Equal("</xs:schema>", TextString);
-                }
-            }).Dispose();
-
+                var ds = new DataSet();
+                ds.ReadXml(new StringReader(DataProvider.region));
+                TextWriter writer = new StringWriter();
+                ds.WriteXmlSchema(writer);
+
+
+                string TextString = DataSetAssertion.GetNormalizedSchema(writer.ToString());
+                // string TextString = writer.ToString ();
+
+                string substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("<?xml version=\"1.0\" encoding=\"utf-16\"?>", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                // This is original DataSet.WriteXmlSchema() output
+                // Assert.Equal ("<xs:schema id=\"Root\" xmlns=\"\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">", substring);
+                Assert.Equal("<xs:schema id=\"Root\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("  <xs:element msdata:IsDataSet=\"true\" msdata:Locale=\"en-US\" name=\"Root\">", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("    <xs:complexType>", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("      <xs:choice maxOccurs=\"unbounded\" minOccurs=\"0\">", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("        <xs:element name=\"Region\">", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("          <xs:complexType>", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("            <xs:sequence>", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                // This is original DataSet.WriteXmlSchema() output
+                // Assert.Equal ("              <xs:element name=\"RegionID\" type=\"xs:string\" minOccurs=\"0\" />", substring);
+                Assert.Equal("              <xs:element minOccurs=\"0\" name=\"RegionID\" type=\"xs:string\" />", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                // This is original DataSet.WriteXmlSchema() output
+                // Assert.Equal ("              <xs:element name=\"RegionDescription\" type=\"xs:string\" minOccurs=\"0\" />", substring);
+                Assert.Equal("              <xs:element minOccurs=\"0\" name=\"RegionDescription\" type=\"xs:string\" />", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("            </xs:sequence>", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("          </xs:complexType>", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("        </xs:element>", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("      </xs:choice>", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("    </xs:complexType>", substring);
+
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("  </xs:element>", substring);
+
+                Assert.Equal("</xs:schema>", TextString);
+            }
         }
 
         [Fact]
@@ -1566,7 +1562,7 @@ namespace System.Data.Tests
         [Fact]
         public void WriteXmlModeSchema1()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            // Keeping the brackets as the test otherwise starts to fail.
             {
                 using (new ThreadCultureChange("fi-FI"))
                 {
@@ -1604,7 +1600,7 @@ namespace System.Data.Tests
                     string result = w.ToString();
                     Assert.Equal(expected.Replace("\r", ""), result.Replace("\r", ""));
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
index 3f2dc2a..abc35cd 100644 (file)
@@ -1009,17 +1009,14 @@ namespace System.Data.Tests
         [Fact]
         public void DataSetSpecificCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("cs-CZ"))
             {
-                using (new ThreadCultureChange("cs-CZ"))
-                {
-                    var ds = new DataSet();
-                    ds.Locale = CultureInfo.GetCultureInfo(1033);
-                    var dt = ds.Tables.Add("machine");
-                    dt.Locale = ds.Locale;
-                    Assert.Same(dt, ds.Tables["MACHINE"]);
-                }
-            }).Dispose();
+                var ds = new DataSet();
+                ds.Locale = CultureInfo.GetCultureInfo(1033);
+                var dt = ds.Tables.Add("machine");
+                dt.Locale = ds.Locale;
+                Assert.Same(dt, ds.Tables["MACHINE"]);
+            }
         }
 
         [Fact]
index b8b8557..06964fb 100644 (file)
@@ -431,14 +431,65 @@ namespace System.Data.Tests
         [Fact]
         public void XsdSchemaSerializationIgnoresLocale()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            var serializer = new BinaryFormatter();
+            var table = new DataTable();
+            table.Columns.Add(new DataColumn("RowID", typeof(int))
+                {
+                    AutoIncrement = true,
+                    AutoIncrementSeed = -1, // These lines produce attributes within the schema portion of the underlying XML representation of the DataTable with the values "-1" and "-2".
+                    AutoIncrementStep = -2,
+                });
+            table.Columns.Add("Value", typeof(string));
+            table.Rows.Add(1, "Test");
+            table.Rows.Add(2, "Data");
+
+            var buffer = new MemoryStream();
+            using (new ThreadCultureChange(new CultureInfo("en-US") { NumberFormat = new NumberFormatInfo() { NegativeSign = "()" } }))
             {
-                var serializer = new BinaryFormatter();
+                // Before serializing, update the culture to use a weird negative number format. This test is ensuring that this is ignored.
+                serializer.Serialize(buffer, table);
+            }
+
+            // The raw serialized data now contains an embedded XML schema. We need to verify that this embedded schema used "-1" for the numeric value
+            // negative 1, instead of "()1" as indicated by the current culture.
+
+            string rawSerializedData = System.Text.Encoding.ASCII.GetString(buffer.ToArray());
+
+            const string SchemaStartTag = "<xs:schema";
+            const string SchemaEndTag = "</xs:schema>";
+
+            int schemaStart = rawSerializedData.IndexOf(SchemaStartTag);
+            int schemaEnd = rawSerializedData.IndexOf(SchemaEndTag);
+            Assert.True(schemaStart >= 0);
+            Assert.True(schemaEnd > schemaStart);
+            Assert.True(rawSerializedData.IndexOf("<xs:schema", schemaStart + 1) < 0);
+
+            schemaEnd += SchemaEndTag.Length;
+
+            string rawSchemaXML = rawSerializedData.Substring(
+                startIndex: schemaStart,
+                length: schemaEnd - schemaStart);
+            Assert.Contains(@"AutoIncrementSeed=""-1""", rawSchemaXML);
+            Assert.Contains(@"AutoIncrementStep=""-2""", rawSchemaXML);
+            Assert.DoesNotContain("()1", rawSchemaXML);
+            Assert.DoesNotContain("()2", rawSchemaXML);
+        }
+
+        [Fact]
+        [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework does not yet have the fix for this bug")]
+        public void XsdSchemaDeserializationIgnoresLocale()
+        {
+            var serializer = new BinaryFormatter();
+
+            /*
+
+            Test data generator:
+
                 var table = new DataTable();
                 table.Columns.Add(new DataColumn("RowID", typeof(int))
                     {
                         AutoIncrement = true,
-                        AutoIncrementSeed = -1, // These lines produce attributes within the schema portion of the underlying XML representation of the DataTable with the values "-1" and "-2".
+                        AutoIncrementSeed = -1, // These lines produce attributes within the schema portion of the underlying XML representation of the DataTable with the value "-1".
                         AutoIncrementStep = -2,
                     });
                 table.Columns.Add("Value", typeof(string));
@@ -446,139 +497,82 @@ namespace System.Data.Tests
                 table.Rows.Add(2, "Data");
 
                 var buffer = new MemoryStream();
-                using (new ThreadCultureChange(new CultureInfo("en-US") { NumberFormat = new NumberFormatInfo() { NegativeSign = "()" } }))
+                serializer.Serialize(buffer, table);
+
+            This test data (binary serializer output) embeds the following XML schema:
+
+                <?xml version="1.0" encoding="utf-16"?>
+                <xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+                    <xs:element name="Table1">
+                    <xs:complexType>
+                        <xs:sequence>
+                        <xs:element name="RowID" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-2" type="xs:int" msdata:targetNamespace="" minOccurs="0" />
+                        <xs:element name="Value" type="xs:string" msdata:targetNamespace="" minOccurs="0" />
+                        </xs:sequence>
+                    </xs:complexType>
+                    </xs:element>
+                    <xs:element name="tmpDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1" msdata:UseCurrentLocale="true">
+                    <xs:complexType>
+                        <xs:choice minOccurs="0" maxOccurs="unbounded" />
+                    </xs:complexType>
+                    </xs:element>
+                </xs:schema>
+
+            The bug being tested here is that the negative integer values in AutoInecrementSeed and AutoIncrementStep fail to parse because the deserialization code
+            incorrectly uses the current culture instead of the invariant culture when parsing strings like "-1" and "-2".
+
+            */
+
+            var buffer = new MemoryStream(new byte[]
                 {
-                    // Before serializing, update the culture to use a weird negative number format. This test is ensuring that this is ignored.
-                    serializer.Serialize(buffer, table);
-                }
-
-                // The raw serialized data now contains an embedded XML schema. We need to verify that this embedded schema used "-1" for the numeric value
-                // negative 1, instead of "()1" as indicated by the current culture.
-
-                string rawSerializedData = System.Text.Encoding.ASCII.GetString(buffer.ToArray());
-
-                const string SchemaStartTag = "<xs:schema";
-                const string SchemaEndTag = "</xs:schema>";
-
-                int schemaStart = rawSerializedData.IndexOf(SchemaStartTag);
-                int schemaEnd = rawSerializedData.IndexOf(SchemaEndTag);
-                Assert.True(schemaStart >= 0);
-                Assert.True(schemaEnd > schemaStart);
-                Assert.True(rawSerializedData.IndexOf("<xs:schema", schemaStart + 1) < 0);
-
-                schemaEnd += SchemaEndTag.Length;
-
-                string rawSchemaXML = rawSerializedData.Substring(
-                    startIndex: schemaStart,
-                    length: schemaEnd - schemaStart);
-                Assert.Contains(@"AutoIncrementSeed=""-1""", rawSchemaXML);
-                Assert.Contains(@"AutoIncrementStep=""-2""", rawSchemaXML);
-                Assert.DoesNotContain("()1", rawSchemaXML);
-                Assert.DoesNotContain("()2", rawSchemaXML);
-            }).Dispose();
-        }
+                    0,1,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,12,2,0,0,0,78,83,121,115,116,101,109,46,68,97,116,97,44,32,86,101,114,115,105,111,110,61,52,46,48,46,48,46,48,44,32,67,117,
+                    108,116,117,114,101,61,110,101,117,116,114,97,108,44,32,80,117,98,108,105,99,75,101,121,84,111,107,101,110,61,98,55,55,97,53,99,53,54,49,57,51,52,101,48,56,57,5,1,0,
+                    0,0,21,83,121,115,116,101,109,46,68,97,116,97,46,68,97,116,97,84,97,98,108,101,3,0,0,0,25,68,97,116,97,84,97,98,108,101,46,82,101,109,111,116,105,110,103,86,101,114,
+                    115,105,111,110,9,88,109,108,83,99,104,101,109,97,11,88,109,108,68,105,102,102,71,114,97,109,3,1,1,14,83,121,115,116,101,109,46,86,101,114,115,105,111,110,2,0,0,0,9,
+                    3,0,0,0,6,4,0,0,0,177,6,60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,117,116,102,45,49,54,34,63,62,13,
+                    10,60,120,115,58,115,99,104,101,109,97,32,120,109,108,110,115,61,34,34,32,120,109,108,110,115,58,120,115,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,
+                    114,103,47,50,48,48,49,47,88,77,76,83,99,104,101,109,97,34,32,120,109,108,110,115,58,109,115,100,97,116,97,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,
+                    99,114,111,115,111,102,116,45,99,111,109,58,120,109,108,45,109,115,100,97,116,97,34,62,13,10,32,32,60,120,115,58,101,108,101,109,101,110,116,32,110,97,109,101,61,34,
+                    84,97,98,108,101,49,34,62,13,10,32,32,32,32,60,120,115,58,99,111,109,112,108,101,120,84,121,112,101,62,13,10,32,32,32,32,32,32,60,120,115,58,115,101,113,117,101,110,
+                    99,101,62,13,10,32,32,32,32,32,32,32,32,60,120,115,58,101,108,101,109,101,110,116,32,110,97,109,101,61,34,82,111,119,73,68,34,32,109,115,100,97,116,97,58,65,117,116,
+                    111,73,110,99,114,101,109,101,110,116,61,34,116,114,117,101,34,32,109,115,100,97,116,97,58,65,117,116,111,73,110,99,114,101,109,101,110,116,83,101,101,100,61,34,45,
+                    49,34,32,109,115,100,97,116,97,58,65,117,116,111,73,110,99,114,101,109,101,110,116,83,116,101,112,61,34,45,50,34,32,116,121,112,101,61,34,120,115,58,105,110,116,34,
+                    32,109,115,100,97,116,97,58,116,97,114,103,101,116,78,97,109,101,115,112,97,99,101,61,34,34,32,109,105,110,79,99,99,117,114,115,61,34,48,34,32,47,62,13,10,32,32,32,
+                    32,32,32,32,32,60,120,115,58,101,108,101,109,101,110,116,32,110,97,109,101,61,34,86,97,108,117,101,34,32,116,121,112,101,61,34,120,115,58,115,116,114,105,110,103,34,
+                    32,109,115,100,97,116,97,58,116,97,114,103,101,116,78,97,109,101,115,112,97,99,101,61,34,34,32,109,105,110,79,99,99,117,114,115,61,34,48,34,32,47,62,13,10,32,32,32,
+                    32,32,32,60,47,120,115,58,115,101,113,117,101,110,99,101,62,13,10,32,32,32,32,60,47,120,115,58,99,111,109,112,108,101,120,84,121,112,101,62,13,10,32,32,60,47,120,115,
+                    58,101,108,101,109,101,110,116,62,13,10,32,32,60,120,115,58,101,108,101,109,101,110,116,32,110,97,109,101,61,34,116,109,112,68,97,116,97,83,101,116,34,32,109,115,100,
+                    97,116,97,58,73,115,68,97,116,97,83,101,116,61,34,116,114,117,101,34,32,109,115,100,97,116,97,58,77,97,105,110,68,97,116,97,84,97,98,108,101,61,34,84,97,98,108,101,
+                    49,34,32,109,115,100,97,116,97,58,85,115,101,67,117,114,114,101,110,116,76,111,99,97,108,101,61,34,116,114,117,101,34,62,13,10,32,32,32,32,60,120,115,58,99,111,109,
+                    112,108,101,120,84,121,112,101,62,13,10,32,32,32,32,32,32,60,120,115,58,99,104,111,105,99,101,32,109,105,110,79,99,99,117,114,115,61,34,48,34,32,109,97,120,79,99,99,
+                    117,114,115,61,34,117,110,98,111,117,110,100,101,100,34,32,47,62,13,10,32,32,32,32,60,47,120,115,58,99,111,109,112,108,101,120,84,121,112,101,62,13,10,32,32,60,47,
+                    120,115,58,101,108,101,109,101,110,116,62,13,10,60,47,120,115,58,115,99,104,101,109,97,62,6,5,0,0,0,221,3,60,100,105,102,102,103,114,58,100,105,102,102,103,114,97,
+                    109,32,120,109,108,110,115,58,109,115,100,97,116,97,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,99,114,111,115,111,102,116,45,99,111,109,58,120,109,108,
+                    45,109,115,100,97,116,97,34,32,120,109,108,110,115,58,100,105,102,102,103,114,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,99,114,111,115,111,102,116,45,
+                    99,111,109,58,120,109,108,45,100,105,102,102,103,114,97,109,45,118,49,34,62,13,10,32,32,60,116,109,112,68,97,116,97,83,101,116,62,13,10,32,32,32,32,60,84,97,98,108,
+                    101,49,32,100,105,102,102,103,114,58,105,100,61,34,84,97,98,108,101,49,49,34,32,109,115,100,97,116,97,58,114,111,119,79,114,100,101,114,61,34,48,34,32,100,105,102,
+                    102,103,114,58,104,97,115,67,104,97,110,103,101,115,61,34,105,110,115,101,114,116,101,100,34,62,13,10,32,32,32,32,32,32,60,82,111,119,73,68,62,49,60,47,82,111,119,73,
+                    68,62,13,10,32,32,32,32,32,32,60,86,97,108,117,101,62,84,101,115,116,60,47,86,97,108,117,101,62,13,10,32,32,32,32,60,47,84,97,98,108,101,49,62,13,10,32,32,32,32,60,
+                    84,97,98,108,101,49,32,100,105,102,102,103,114,58,105,100,61,34,84,97,98,108,101,49,50,34,32,109,115,100,97,116,97,58,114,111,119,79,114,100,101,114,61,34,49,34,32,
+                    100,105,102,102,103,114,58,104,97,115,67,104,97,110,103,101,115,61,34,105,110,115,101,114,116,101,100,34,62,13,10,32,32,32,32,32,32,60,82,111,119,73,68,62,50,60,47,
+                    82,111,119,73,68,62,13,10,32,32,32,32,32,32,60,86,97,108,117,101,62,68,97,116,97,60,47,86,97,108,117,101,62,13,10,32,32,32,32,60,47,84,97,98,108,101,49,62,13,10,32,
+                    32,60,47,116,109,112,68,97,116,97,83,101,116,62,13,10,60,47,100,105,102,102,103,114,58,100,105,102,102,103,114,97,109,62,4,3,0,0,0,14,83,121,115,116,101,109,46,86,
+                    101,114,115,105,111,110,4,0,0,0,6,95,77,97,106,111,114,6,95,77,105,110,111,114,6,95,66,117,105,108,100,9,95,82,101,118,105,115,105,111,110,0,0,0,0,8,8,8,8,2,0,0,0,0,
+                    0,0,0,255,255,255,255,255,255,255,255,11
+                });
 
-        [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework does not yet have the fix for this bug")]
-        public void XsdSchemaDeserializationIgnoresLocale()
-        {
-            RemoteExecutorForUap.Invoke(() =>
+            DataTable table;
+            using (new ThreadCultureChange(new CultureInfo("en-US") { NumberFormat = new NumberFormatInfo() { NegativeSign = "()" } }))
             {
-                var serializer = new BinaryFormatter();
-
-                /*
-
-                Test data generator:
-
-                    var table = new DataTable();
-                    table.Columns.Add(new DataColumn("RowID", typeof(int))
-                        {
-                            AutoIncrement = true,
-                            AutoIncrementSeed = -1, // These lines produce attributes within the schema portion of the underlying XML representation of the DataTable with the value "-1".
-                            AutoIncrementStep = -2,
-                        });
-                    table.Columns.Add("Value", typeof(string));
-                    table.Rows.Add(1, "Test");
-                    table.Rows.Add(2, "Data");
-
-                    var buffer = new MemoryStream();
-                    serializer.Serialize(buffer, table);
-
-                This test data (binary serializer output) embeds the following XML schema:
-
-                    <?xml version="1.0" encoding="utf-16"?>
-                    <xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-                      <xs:element name="Table1">
-                        <xs:complexType>
-                          <xs:sequence>
-                            <xs:element name="RowID" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-2" type="xs:int" msdata:targetNamespace="" minOccurs="0" />
-                            <xs:element name="Value" type="xs:string" msdata:targetNamespace="" minOccurs="0" />
-                          </xs:sequence>
-                        </xs:complexType>
-                      </xs:element>
-                      <xs:element name="tmpDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1" msdata:UseCurrentLocale="true">
-                        <xs:complexType>
-                          <xs:choice minOccurs="0" maxOccurs="unbounded" />
-                        </xs:complexType>
-                      </xs:element>
-                    </xs:schema>
-
-                The bug being tested here is that the negative integer values in AutoInecrementSeed and AutoIncrementStep fail to parse because the deserialization code
-                incorrectly uses the current culture instead of the invariant culture when parsing strings like "-1" and "-2".
-
-                */
-
-                var buffer = new MemoryStream(new byte[]
-                    {
-                        0,1,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,12,2,0,0,0,78,83,121,115,116,101,109,46,68,97,116,97,44,32,86,101,114,115,105,111,110,61,52,46,48,46,48,46,48,44,32,67,117,
-                        108,116,117,114,101,61,110,101,117,116,114,97,108,44,32,80,117,98,108,105,99,75,101,121,84,111,107,101,110,61,98,55,55,97,53,99,53,54,49,57,51,52,101,48,56,57,5,1,0,
-                        0,0,21,83,121,115,116,101,109,46,68,97,116,97,46,68,97,116,97,84,97,98,108,101,3,0,0,0,25,68,97,116,97,84,97,98,108,101,46,82,101,109,111,116,105,110,103,86,101,114,
-                        115,105,111,110,9,88,109,108,83,99,104,101,109,97,11,88,109,108,68,105,102,102,71,114,97,109,3,1,1,14,83,121,115,116,101,109,46,86,101,114,115,105,111,110,2,0,0,0,9,
-                        3,0,0,0,6,4,0,0,0,177,6,60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,117,116,102,45,49,54,34,63,62,13,
-                        10,60,120,115,58,115,99,104,101,109,97,32,120,109,108,110,115,61,34,34,32,120,109,108,110,115,58,120,115,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,
-                        114,103,47,50,48,48,49,47,88,77,76,83,99,104,101,109,97,34,32,120,109,108,110,115,58,109,115,100,97,116,97,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,
-                        99,114,111,115,111,102,116,45,99,111,109,58,120,109,108,45,109,115,100,97,116,97,34,62,13,10,32,32,60,120,115,58,101,108,101,109,101,110,116,32,110,97,109,101,61,34,
-                        84,97,98,108,101,49,34,62,13,10,32,32,32,32,60,120,115,58,99,111,109,112,108,101,120,84,121,112,101,62,13,10,32,32,32,32,32,32,60,120,115,58,115,101,113,117,101,110,
-                        99,101,62,13,10,32,32,32,32,32,32,32,32,60,120,115,58,101,108,101,109,101,110,116,32,110,97,109,101,61,34,82,111,119,73,68,34,32,109,115,100,97,116,97,58,65,117,116,
-                        111,73,110,99,114,101,109,101,110,116,61,34,116,114,117,101,34,32,109,115,100,97,116,97,58,65,117,116,111,73,110,99,114,101,109,101,110,116,83,101,101,100,61,34,45,
-                        49,34,32,109,115,100,97,116,97,58,65,117,116,111,73,110,99,114,101,109,101,110,116,83,116,101,112,61,34,45,50,34,32,116,121,112,101,61,34,120,115,58,105,110,116,34,
-                        32,109,115,100,97,116,97,58,116,97,114,103,101,116,78,97,109,101,115,112,97,99,101,61,34,34,32,109,105,110,79,99,99,117,114,115,61,34,48,34,32,47,62,13,10,32,32,32,
-                        32,32,32,32,32,60,120,115,58,101,108,101,109,101,110,116,32,110,97,109,101,61,34,86,97,108,117,101,34,32,116,121,112,101,61,34,120,115,58,115,116,114,105,110,103,34,
-                        32,109,115,100,97,116,97,58,116,97,114,103,101,116,78,97,109,101,115,112,97,99,101,61,34,34,32,109,105,110,79,99,99,117,114,115,61,34,48,34,32,47,62,13,10,32,32,32,
-                        32,32,32,60,47,120,115,58,115,101,113,117,101,110,99,101,62,13,10,32,32,32,32,60,47,120,115,58,99,111,109,112,108,101,120,84,121,112,101,62,13,10,32,32,60,47,120,115,
-                        58,101,108,101,109,101,110,116,62,13,10,32,32,60,120,115,58,101,108,101,109,101,110,116,32,110,97,109,101,61,34,116,109,112,68,97,116,97,83,101,116,34,32,109,115,100,
-                        97,116,97,58,73,115,68,97,116,97,83,101,116,61,34,116,114,117,101,34,32,109,115,100,97,116,97,58,77,97,105,110,68,97,116,97,84,97,98,108,101,61,34,84,97,98,108,101,
-                        49,34,32,109,115,100,97,116,97,58,85,115,101,67,117,114,114,101,110,116,76,111,99,97,108,101,61,34,116,114,117,101,34,62,13,10,32,32,32,32,60,120,115,58,99,111,109,
-                        112,108,101,120,84,121,112,101,62,13,10,32,32,32,32,32,32,60,120,115,58,99,104,111,105,99,101,32,109,105,110,79,99,99,117,114,115,61,34,48,34,32,109,97,120,79,99,99,
-                        117,114,115,61,34,117,110,98,111,117,110,100,101,100,34,32,47,62,13,10,32,32,32,32,60,47,120,115,58,99,111,109,112,108,101,120,84,121,112,101,62,13,10,32,32,60,47,
-                        120,115,58,101,108,101,109,101,110,116,62,13,10,60,47,120,115,58,115,99,104,101,109,97,62,6,5,0,0,0,221,3,60,100,105,102,102,103,114,58,100,105,102,102,103,114,97,
-                        109,32,120,109,108,110,115,58,109,115,100,97,116,97,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,99,114,111,115,111,102,116,45,99,111,109,58,120,109,108,
-                        45,109,115,100,97,116,97,34,32,120,109,108,110,115,58,100,105,102,102,103,114,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,99,114,111,115,111,102,116,45,
-                        99,111,109,58,120,109,108,45,100,105,102,102,103,114,97,109,45,118,49,34,62,13,10,32,32,60,116,109,112,68,97,116,97,83,101,116,62,13,10,32,32,32,32,60,84,97,98,108,
-                        101,49,32,100,105,102,102,103,114,58,105,100,61,34,84,97,98,108,101,49,49,34,32,109,115,100,97,116,97,58,114,111,119,79,114,100,101,114,61,34,48,34,32,100,105,102,
-                        102,103,114,58,104,97,115,67,104,97,110,103,101,115,61,34,105,110,115,101,114,116,101,100,34,62,13,10,32,32,32,32,32,32,60,82,111,119,73,68,62,49,60,47,82,111,119,73,
-                        68,62,13,10,32,32,32,32,32,32,60,86,97,108,117,101,62,84,101,115,116,60,47,86,97,108,117,101,62,13,10,32,32,32,32,60,47,84,97,98,108,101,49,62,13,10,32,32,32,32,60,
-                        84,97,98,108,101,49,32,100,105,102,102,103,114,58,105,100,61,34,84,97,98,108,101,49,50,34,32,109,115,100,97,116,97,58,114,111,119,79,114,100,101,114,61,34,49,34,32,
-                        100,105,102,102,103,114,58,104,97,115,67,104,97,110,103,101,115,61,34,105,110,115,101,114,116,101,100,34,62,13,10,32,32,32,32,32,32,60,82,111,119,73,68,62,50,60,47,
-                        82,111,119,73,68,62,13,10,32,32,32,32,32,32,60,86,97,108,117,101,62,68,97,116,97,60,47,86,97,108,117,101,62,13,10,32,32,32,32,60,47,84,97,98,108,101,49,62,13,10,32,
-                        32,60,47,116,109,112,68,97,116,97,83,101,116,62,13,10,60,47,100,105,102,102,103,114,58,100,105,102,102,103,114,97,109,62,4,3,0,0,0,14,83,121,115,116,101,109,46,86,
-                        101,114,115,105,111,110,4,0,0,0,6,95,77,97,106,111,114,6,95,77,105,110,111,114,6,95,66,117,105,108,100,9,95,82,101,118,105,115,105,111,110,0,0,0,0,8,8,8,8,2,0,0,0,0,
-                        0,0,0,255,255,255,255,255,255,255,255,11
-                    });
+                // Before deserializing, update the culture to use a weird negative number format. This test is ensuring that this is ignored.
+                // The bug this test is testing would cause "-1" to no longer be treated as a valid representation of the value -1, instead
+                // only accepting the string "()1".
+                table = (DataTable)serializer.Deserialize(buffer); // BUG: System.Exception: "-1 is not a valid value for Int64."        }
+            }
 
-                DataTable table;
-                using (new ThreadCultureChange(new CultureInfo("en-US") { NumberFormat = new NumberFormatInfo() { NegativeSign = "()" } }))
-                {
-                    // Before deserializing, update the culture to use a weird negative number format. This test is ensuring that this is ignored.
-                    // The bug this test is testing would cause "-1" to no longer be treated as a valid representation of the value -1, instead
-                    // only accepting the string "()1".
-                    table = (DataTable)serializer.Deserialize(buffer); // BUG: System.Exception: "-1 is not a valid value for Int64."        }
-                }
-
-                DataColumn rowIDColumn = table.Columns["RowID"];
-                Assert.Equal(-1, rowIDColumn.AutoIncrementSeed);
-                Assert.Equal(-2, rowIDColumn.AutoIncrementStep);
-            }).Dispose();
+            DataColumn rowIDColumn = table.Columns["RowID"];
+            Assert.Equal(-1, rowIDColumn.AutoIncrementSeed);
+            Assert.Equal(-2, rowIDColumn.AutoIncrementStep);
         }
 
         [Fact]
index 5b5296a..5964fe6 100644 (file)
@@ -3328,86 +3328,83 @@ Assert.False(true);
         [Fact]
         public void WriteXmlSchema()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-GB"))
             {
-                using (new ThreadCultureChange("en-GB"))
-                {
-                    var ds = new DataSet();
-                    ds.ReadXml(new StringReader(DataProvider.region));
-                    TextWriter writer = new StringWriter();
-                    ds.Tables[0].WriteXmlSchema(writer);
+                var ds = new DataSet();
+                ds.ReadXml(new StringReader(DataProvider.region));
+                TextWriter writer = new StringWriter();
+                ds.Tables[0].WriteXmlSchema(writer);
 
-                    string TextString = DataSetAssertion.GetNormalizedSchema(writer.ToString());
-                    //string TextString = writer.ToString ();
+                string TextString = DataSetAssertion.GetNormalizedSchema(writer.ToString());
+                //string TextString = writer.ToString ();
 
-                    string substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("<?xml version=\"1.0\" encoding=\"utf-16\"?>", substring);
+                string substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("<?xml version=\"1.0\" encoding=\"utf-16\"?>", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("<xs:schema id=\"Root\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("<xs:schema id=\"Root\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    // Looks like whoever added this test depended on English culture, which is wrong.
-                    Assert.Equal("  <xs:element msdata:IsDataSet=\"true\" msdata:Locale=\"en-US\" msdata:MainDataTable=\"Region\" name=\"Root\">", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                // Looks like whoever added this test depended on English culture, which is wrong.
+                Assert.Equal("  <xs:element msdata:IsDataSet=\"true\" msdata:Locale=\"en-US\" msdata:MainDataTable=\"Region\" name=\"Root\">", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("    <xs:complexType>", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("    <xs:complexType>", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("      <xs:choice maxOccurs=\"unbounded\" minOccurs=\"0\">", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("      <xs:choice maxOccurs=\"unbounded\" minOccurs=\"0\">", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("        <xs:element name=\"Region\">", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("        <xs:element name=\"Region\">", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("          <xs:complexType>", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("          <xs:complexType>", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("            <xs:sequence>", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("            <xs:sequence>", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("              <xs:element minOccurs=\"0\" name=\"RegionID\" type=\"xs:string\" />", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("              <xs:element minOccurs=\"0\" name=\"RegionID\" type=\"xs:string\" />", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("              <xs:element minOccurs=\"0\" name=\"RegionDescription\" type=\"xs:string\" />", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("              <xs:element minOccurs=\"0\" name=\"RegionDescription\" type=\"xs:string\" />", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("            </xs:sequence>", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("            </xs:sequence>", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("          </xs:complexType>", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("          </xs:complexType>", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("        </xs:element>", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("        </xs:element>", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("      </xs:choice>", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("      </xs:choice>", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("    </xs:complexType>", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("    </xs:complexType>", substring);
 
-                    substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
-                    TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
-                    Assert.Equal("  </xs:element>", substring);
+                substring = TextString.Substring(0, TextString.IndexOfAny(new[] { '\r', '\n' }));
+                TextString = TextString.Substring(TextString.IndexOf('\n') + 1);
+                Assert.Equal("  </xs:element>", substring);
 
-                    Assert.Equal("</xs:schema>", TextString);
-                }
-            }).Dispose();
+                Assert.Equal("</xs:schema>", TextString);
+            }
         }
 
         [Fact]
@@ -4076,29 +4073,26 @@ Assert.False(true);
         [Fact]
         public void Bug82109()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                DataTable tbl = new DataTable();
-                tbl.Columns.Add("data", typeof(DateTime));
-                DataRow row = tbl.NewRow();
-                row["Data"] = new DateTime(2007, 7, 1);
-                tbl.Rows.Add(row);
+            DataTable tbl = new DataTable();
+            tbl.Columns.Add("data", typeof(DateTime));
+            DataRow row = tbl.NewRow();
+            row["Data"] = new DateTime(2007, 7, 1);
+            tbl.Rows.Add(row);
 
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    Select(tbl);
-                }
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+            {
+                Select(tbl);
+            }
 
-                using (new ThreadCultureChange("it-IT"))
-                {
-                    Select(tbl);
-                }
+            using (new ThreadCultureChange("it-IT"))
+            {
+                Select(tbl);
+            }
 
-                using (new ThreadCultureChange("fr-FR"))
-                {
-                    Select(tbl);
-                }
-            }).Dispose();
+            using (new ThreadCultureChange("fr-FR"))
+            {
+                Select(tbl);
+            }
         }
 
         private static void Select(DataTable tbl)
index 9971313..db0c534 100644 (file)
@@ -174,32 +174,29 @@ namespace System.Data.Tests.SqlTypes
         [Fact]
         public void Properties()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-AU"))
             {
-                using (new ThreadCultureChange("en-AU"))
-                {
-                    var one = new SqlString("First TestString");
+                var one = new SqlString("First TestString");
 
-                    // CompareInfo
-                    Assert.Equal(3081, one.CompareInfo.LCID);
+                // CompareInfo
+                Assert.Equal(3081, one.CompareInfo.LCID);
 
-                    // CultureInfo
-                    Assert.Equal(3081, one.CultureInfo.LCID);
+                // CultureInfo
+                Assert.Equal(3081, one.CultureInfo.LCID);
 
-                    // LCID
-                    Assert.Equal(3081, one.LCID);
+                // LCID
+                Assert.Equal(3081, one.LCID);
 
-                    // IsNull
-                    Assert.True(!one.IsNull);
-                    Assert.True(SqlString.Null.IsNull);
+                // IsNull
+                Assert.True(!one.IsNull);
+                Assert.True(SqlString.Null.IsNull);
 
-                    // SqlCompareOptions
-                    Assert.Equal("IgnoreCase, IgnoreKanaType, IgnoreWidth", one.SqlCompareOptions.ToString());
+                // SqlCompareOptions
+                Assert.Equal("IgnoreCase, IgnoreKanaType, IgnoreWidth", one.SqlCompareOptions.ToString());
 
-                    // Value
-                    Assert.Equal("First TestString", one.Value);
-                }
-            }).Dispose();
+                // Value
+                Assert.Equal("First TestString", one.Value);
+            }
         }
 
         // PUBLIC METHODS
index fc1d24e..46a67e8 100644 (file)
@@ -5,6 +5,5 @@
     <AssemblyVersion>4.0.0.0</AssemblyVersion>
     <StrongNameKeyId>ECMA</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index 158fd60..2bc19ff 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netstandard;
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 984283d..023cd93 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNETStandard)' == 'true'">
     <Compile Include="System.Data.DataSetExtensions.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 93e86ee..88a7749 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AssemblyName>System.Data.DataSetExtensions</AssemblyName>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
   </PropertyGroup>
   <PropertyGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 8537ee3..b8013d0 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Mono\DataRowComparerTest.cs" />
index 2a87799..29c6045 100644 (file)
@@ -1,15 +1,11 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <RootNamespace>System.Data.OleDb</RootNamespace>
-    <AssemblyName>System.Data.OleDb</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
-    <DefineConstants>$(DefineConstants);</DefineConstants>
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(OSGroup)' == 'AnyOS' AND '$(TargetsNetStandard)' == 'true'">SR.PlatformNotSupported_OleDb</GeneratePlatformNotSupportedAssemblyMessage>
     <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release</Configurations>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <EnablePinvokeUWPAnalyzer>false</EnablePinvokeUWPAnalyzer>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetFx)' != 'true' AND '$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\Interop\Windows\Interop.Libraries.cs">
index 5e537c5..b90edfc 100644 (file)
@@ -3,6 +3,5 @@
   <PropertyGroup>
     <AssemblyVersion>4.6.0.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 807212a..2c9cc4b 100644 (file)
@@ -14,6 +14,7 @@
       <SupportedFramework>net46;netcoreapp1.0</SupportedFramework>
     </HarvestIncludePaths>
     <HarvestIncludePaths Include="runtimes/unix/lib/netstandard1.3;runtimes/win/lib/netstandard1.3" />
+    <HarvestIncludePaths Include="runtimes/win/lib/uap10.0.16299" />
 
     <!-- Since UAP and .NETCoreApp are package based we still want to enable
          OOBing libraries that happen to overlap with their framework package.
index 40eacb5..60725e3 100644 (file)
@@ -4,7 +4,6 @@
     <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp2.1-Debug;netcoreapp2.1-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
-    <SuppressPackageTargetFrameworkCompatibility Include="$(UAPvNextTFM);uap10.0.16299" />
     <Compile Include="System.Data.SqlClient.cs" />
     <Compile Include="System.Data.SqlClient.Forwards.cs" />
     <Compile Condition="'$(TargetsNetFx)' != 'true'" Include="System.Data.SqlClient.Manual.cs" />
index d0c7b46..0b56a2b 100644 (file)
@@ -10,8 +10,6 @@
       netcoreapp2.1;
       netcoreapp2.1-Unix;
       netcoreapp2.1-Windows_NT;
-      uap10.0.16299-Windows_NT;
-      uap-Windows_NT;
     </PackageConfigurations>
     <BuildConfigurations>
       $(PackageConfigurations)
index c9a74b3..41d02a1 100644 (file)
@@ -4,21 +4,20 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573;nullable</NoWarn>
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
-    <IsUAPAssembly Condition="'$(TargetGroup)' == 'uap' OR '$(TargetGroup)' == 'uap10.0.16299'">true</IsUAPAssembly>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(OSGroup)' == 'AnyOS'">SR.PlatformNotSupported_DataSqlClient</GeneratePlatformNotSupportedAssemblyMessage>
     <AssemblyVersion Condition="'$(TargetGroup)' == 'netstandard1.2'">4.0.0.0</AssemblyVersion>
     <AssemblyVersion Condition="'$(TargetGroup)' == 'netstandard1.3'">4.1.0.0</AssemblyVersion>
     <DefineConstants Condition="'$(TargetsNetCoreApp)' != 'true'">$(DefineConstants);NETSTANDARD2_0</DefineConstants>
     <DefineConstants Condition="'$(TargetGroup)' == 'netcoreapp'">$(DefineConstants);FEATURE_TCPKEEPALIVE</DefineConstants>
     <DefineConstants Condition="'$(TargetGroup)' != 'netcoreapp'">$(DefineConstants);INTERNAL_NULLABLE_ATTRIBUTES</DefineConstants>
-    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.1-Debug;netcoreapp2.1-Release;netcoreapp2.1-Unix-Debug;netcoreapp2.1-Unix-Release;netcoreapp2.1-Windows_NT-Debug;netcoreapp2.1-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard-Unix-Debug;netstandard-Unix-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release;netstandard1.2-Debug;netstandard1.2-Release;netstandard1.3-Debug;netstandard1.3-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release;uap10.0.16299-Windows_NT-Debug;uap10.0.16299-Windows_NT-Release</Configurations>
+    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.1-Debug;netcoreapp2.1-Release;netcoreapp2.1-Unix-Debug;netcoreapp2.1-Unix-Release;netcoreapp2.1-Windows_NT-Debug;netcoreapp2.1-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard-Unix-Debug;netstandard-Unix-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release;netstandard1.2-Debug;netstandard1.2-Release;netstandard1.3-Debug;netstandard1.3-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetGroup)' != 'netcoreapp'">
     <Compile Include="$(CommonPath)\CoreLib\System\Diagnostics\CodeAnalysis\NullableAttributes.cs">
       <Link>Common\CoreLib\System\Diagnostics\CodeAnalysis\NullableAttributes.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard' OR '$(TargetsNetCoreApp)' == 'true' OR '$(IsUAPAssembly)' == 'true' ">
+  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard' OR '$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="System.Data.SqlClient.TypeForwards.cs" />
   </ItemGroup>
   <ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true' AND '$(OSGroup)' != 'AnyOS' AND '$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="System\Data\SqlClient\SessionHandle.Windows.cs" />
     <AdditionalFiles Include="$(MSBuildProjectDirectory)/*.analyzerdata.windows" />
   </ItemGroup>
-  <ItemGroup Condition="'$(IsUAPAssembly)' == 'true'">
-    <Compile Include="System\Data\SqlClient\SNI\SNITcpHandle.Windows.cs" />
-    <Compile Include="System\Data\SqlClient\TdsParserStateObjectFactory.Managed.cs" />
-    <Compile Include="System\Data\SqlClient\LocalDBAPI.uap.cs" />
-    <Compile Include="System\Data\SqlClient\SNI\LocalDB.uap.cs" />
-    <Compile Include="System\Data\ProviderBase\DbConnectionPoolIdentity.Unix.cs" />
-    <Compile Include="System\Data\SqlClient\TdsParser.Unix.cs" />
-    <Compile Include="System\Data\SqlClient\PacketHandle.Unix.cs" />
-    <Compile Include="System\Data\SqlClient\SessionHandle.Unix.cs" />
-  </ItemGroup>
-  <!-- Assets needed on Windows but should be avoided on UAP to avoid sni.dll -->
-  <ItemGroup Condition=" '$(TargetsWindows)' == 'true' And '$(IsPartialFacadeAssembly)' != 'true' and '$(IsUAPAssembly)' != 'true'">
+  <ItemGroup Condition=" '$(TargetsWindows)' == 'true' And '$(IsPartialFacadeAssembly)' != 'true'">
     <Compile Include="System\Data\SqlClient\TdsParserStateObjectNative.cs" />
     <Compile Include="Interop\SNINativeMethodWrapper.Windows.cs" />
     <Compile Include="System\Data\SqlClient\TdsParserSafeHandles.cs" />
     <Compile Include="System\Data\SqlClient\PacketHandle.Unix.cs" />
     <Compile Include="System\Data\SqlClient\SessionHandle.Unix.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' And '$(IsPartialFacadeAssembly)' != 'true' and '$(IsUAPAssembly)' != 'true'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true' And '$(IsPartialFacadeAssembly)' != 'true'">
     <Reference Include="Microsoft.Win32.Registry" />
   </ItemGroup>
   <ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
     <Reference Include="System.Net.Primitives" />
     <Reference Include="System.Net.NameResolution" />
   </ItemGroup>
-  <ItemGroup Condition="('$(OSGroup)' != 'AnyOS' AND '$(IsUAPAssembly)' == 'true') OR '$(TargetsNetCoreApp)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Reference Include="System.Transactions.Local" />
     <Reference Include="System.Collections.NonGeneric" />
   </ItemGroup>
diff --git a/src/libraries/System.Data.SqlClient/src/System/Data/SqlClient/LocalDBAPI.uap.cs b/src/libraries/System.Data.SqlClient/src/System/Data/SqlClient/LocalDBAPI.uap.cs
deleted file mode 100644 (file)
index c9c9ef2..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Threading;
-using System.Data.SqlClient;
-using System.Data.SqlClient.SNI;
-using System.Runtime.InteropServices;
-
-namespace System.Data
-{
-    internal static partial class LocalDBAPI
-    {
-        private static IntPtr LoadProcAddress() =>
-            throw new PlatformNotSupportedException(SR.LocalDBNotSupported); // No Registry support on UAP
-    }
-}
\ No newline at end of file
diff --git a/src/libraries/System.Data.SqlClient/src/System/Data/SqlClient/SNI/LocalDB.uap.cs b/src/libraries/System.Data.SqlClient/src/System/Data/SqlClient/SNI/LocalDB.uap.cs
deleted file mode 100644 (file)
index 5619866..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Data.SqlClient.SNI
-{
-    internal class LocalDB
-    {
-        internal static string GetLocalDBConnectionString(string localDbInstance)
-        {
-            throw new PlatformNotSupportedException(SR.LocalDBNotSupported); // No Registry support on UAP
-        }
-    }
-}
\ No newline at end of file
index 729176f..42a40e4 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netfx-Windows_NT;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
index a483b97..4885dff 100644 (file)
@@ -139,25 +139,6 @@ namespace System.Data.SqlClient.Tests
             OpenBadConnection(builder.ConnectionString, invalidConnStringError);
         }
 
-        [Fact]
-        [SkipOnTargetFramework(~TargetFrameworkMonikers.Uap)]
-        public static void LocalDBNotSupportedOnUapTest()
-        {
-            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(@"server=(localdb)\MSSQLLocalDB")
-            {
-                IntegratedSecurity = true,
-                ConnectTimeout = 2
-            };
-
-            Assert.Throws<PlatformNotSupportedException>(() =>
-            {
-                using (SqlConnection conn = new SqlConnection(builder.ConnectionString))
-                {
-                    conn.Open();
-                }
-            });
-        }
-
         private void GenerateConnectionException(string connectionString)
         {
             using (SqlConnection sqlConnection = new SqlConnection(connectionString))
index 95d99af..b655493 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AADAccessTokenTest.cs" />
index 07cf362..9e82dd4 100644 (file)
@@ -33,7 +33,6 @@ namespace System.Data.SqlClient.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // Cannot retrieve UseManagedSNI flag via reflection on UAP
         public static void NonAzureNoProtocolConnectionTest()
         {
             builder.DataSource = InvalidHostname;
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9df4113..9f05b3d 100644 (file)
@@ -10,7 +10,6 @@ namespace System.Data.SqlClient.ManualTesting.Tests
     {
         private static bool IsLocalDBEnvironmentSet() => DataTestUtility.IsLocalDBInstalled();
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // No Registry support on UAP
         [ConditionalFact(nameof(IsLocalDBEnvironmentSet))]
         public static void LocalDBConnectionTest()
         {
@@ -20,7 +19,6 @@ namespace System.Data.SqlClient.ManualTesting.Tests
             OpenConnection(builder.ConnectionString);
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // No Registry support on UAP
         [ConditionalFact(nameof(IsLocalDBEnvironmentSet))]
         public static void LocalDBMarsTest()
         {
@@ -31,7 +29,6 @@ namespace System.Data.SqlClient.ManualTesting.Tests
             OpenConnection(builder.ConnectionString);
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // No Registry support on UAP
         [ConditionalFact(nameof(IsLocalDBEnvironmentSet))]
         public static void InvalidDBTest()
         {
index 90ea750..47f89fe 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Collections\DictionaryExtensions.cs">
index 7621b46..3cc3214 100644 (file)
@@ -4,7 +4,7 @@
     <AssemblyName>System.Data.SqlClient.Stress.Tests</AssemblyName>
     <!-- These should not run in Helix: they produce no outputs and are only run manually -->
     <ArchiveTest>false</ArchiveTest>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\System.Data.StressRunner\System.Data.StressRunner.csproj" />
index 456ac53..b78ec11 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <RootNamespace>Stress.Data</RootNamespace>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\System.Data.StressRunner\System.Data.StressRunner.csproj" />
index b796c5c..6d9050a 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>DPStressHarness</RootNamespace>
     <OutputType>Exe</OutputType>
     <NoWarn>3021</NoWarn>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\IMonitorLoader\IMonitorLoader.csproj" />
index dd42985..359b316 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a774002..ff5eb1d 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 0928d02..ecde8c9 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Diagnostics.Contracts</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 82015a4..3ab6854 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b648adf..2ec7a40 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 2578657..7e12b46 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index ff46381..eb0408e 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Diagnostics.Debug</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0f1e078..9baca4b 100644 (file)
@@ -4,7 +4,7 @@
     <RootNamespace>System.Diagnostics.Tests</RootNamespace>
     <IgnoreArchitectureMismatches>true</IgnoreArchitectureMismatches>
     <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
index 65e1cbe..e3343ce 100644 (file)
@@ -4,7 +4,5 @@
     <AssemblyVersion>4.0.4.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
-    <IsUAPRef>false</IsUAPRef>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1b1cb95..62d6a59 100644 (file)
@@ -11,7 +11,6 @@
       netcoreapp;
       netstandard;
       netfx;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 48fa1b6..962a568 100644 (file)
@@ -4,21 +4,14 @@
          we also have a separate complilation of this DLL that works for V4.5
          (which is netstandard1.1).  Again we duplicate in a portable-* folder
          to work with older NuGet clients -->
-    <PackageTargetFramework Condition="'$(TargetGroup)' == 'netstandard1.1'">netstandard1.1;portable-net45+win8+wpa81</PackageTargetFramework>
+    <PackageTargetFramework Condition="'$(TargetFramework)' == 'netstandard1.1'">netstandard1.1;portable-net45+win8+wpa81</PackageTargetFramework>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <CLSCompliant>false</CLSCompliant>
     <NoWarn>$(NoWarn);SA1205</NoWarn>
-    <Configurations>net45-Debug;net45-Release;net46-Debug;net46-Release;netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release;netstandard1.3-Debug;netstandard1.3-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetGroup)' == 'netstandard1.1' OR '$(TargetGroup)' == 'net45'">
-    <DefineConstants>$(DefineConstants);NO_EVENTSOURCE_COMPLEX_TYPE_SUPPORT</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetGroup)' == 'netstandard1.1'">
-    <DefineConstants>$(DefineConstants);NETSTANDARD1_1</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetGroup)' == 'net45' OR '$(TargetGroup)' == 'net46' OR '$(TargetGroup)' == 'netfx'">
-    <DefineConstants>$(DefineConstants);ALLOW_PARTIALLY_TRUSTED_CALLERS;ENABLE_HTTP_HANDLER</DefineConstants>
+    <DefineConstants Condition="'$(TargetFramework)' == 'netstandard1.1' OR '$(TargetFramework)' == 'net45'">$(DefineConstants);NO_EVENTSOURCE_COMPLEX_TYPE_SUPPORT</DefineConstants>
+    <DefineConstants Condition="'$(TargetsNetFx)' == 'true'">$(DefineConstants);ALLOW_PARTIALLY_TRUSTED_CALLERS;ENABLE_HTTP_HANDLER</DefineConstants>
+    <Configurations>net45-Debug;net45-Release;net46-Debug;net46-Release;netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release;netstandard1.3-Debug;netstandard1.3-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Diagnostics\DiagnosticSource.cs" />
     <Compile Include="System\Diagnostics\DiagnosticSourceEventSource.cs" />
     <None Include="DiagnosticSourceUsersGuide.md" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetGroup)' != 'netstandard1.1'">
+  <ItemGroup Condition=" '$(TargetFramework)' != 'netstandard1.1'">
     <Compile Include="System\Diagnostics\Activity.cs" />
     <Compile Include="System\Diagnostics\DiagnosticSourceActivity.cs" />
     <Reference Include="System.Memory" />
     <Reference Include="System.Runtime.CompilerServices.Unsafe" />
     <None Include="ActivityUserGuide.md" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetGroup)' != 'net45' And '$(TargetGroup)' != 'netstandard1.1'">
+  <ItemGroup Condition=" '$(TargetFramework)' != 'net45' And '$(TargetFramework)' != 'netstandard1.1'">
     <Compile Include="System\Diagnostics\Activity.Current.net46.cs" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetGroup)' == 'net45' ">
+  <ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
     <Compile Include="System\Diagnostics\Activity.Current.net45.cs" />
     <TargetingPackReference Include="System" />
     <TargetingPackReference Include="System.Runtime.Remoting" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap' OR '$(TargetGroup)' == 'netstandard1.1' OR '$(TargetGroup)' == 'netstandard1.3' OR '$(TargetGroup)' == 'netstandard'">
+  <ItemGroup Condition=" '$(TargetsNetCoreApp)' == 'true' OR '$(TargetFramework)' == 'netstandard1.1' OR '$(TargetGroup)' == 'netstandard1.3' OR '$(TargetGroup)' == 'netstandard'">
     <Compile Include="System\Diagnostics\Activity.DateTime.corefx.cs" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap' OR '$(TargetGroup)' == 'netstandard2.1'">
+  <ItemGroup Condition=" '$(TargetsNetCoreApp)' == 'true' OR '$(TargetFramework)' == 'netstandard2.1'">
     <Compile Include="System\Diagnostics\Activity.GenerateRootId.netcoreapp.cs" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetGroup)' != 'netcoreapp' AND '$(TargetGroup)' != 'uap' AND '$(TargetGroup)' != 'netstandard2.1' AND '$(TargetGroup)' != 'netstandard1.1'">
+  <ItemGroup Condition=" '$(TargetsNetCoreApp)' != 'true' AND '$(TargetFramework)' != 'netstandard2.1' AND '$(TargetFramework)' != 'netstandard1.1'">
     <Compile Include="System\Diagnostics\Activity.GenerateRootId.netfx.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'net45' OR '$(TargetGroup)' == 'net46' OR '$(TargetGroup)' == 'netfx'">
+  <ItemGroup Condition="'$(TargetsNetFx)' == 'true'">
     <Compile Include="System\Diagnostics\HttpHandlerDiagnosticListener.cs" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetGroup)' != 'netfx'">
@@ -65,7 +58,7 @@
     <Reference Include="System.Threading" />
     <Reference Include="System.Resources.ResourceManager" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'net45' OR '$(TargetGroup)' == 'net46' OR '$(TargetGroup)' == 'netfx'">
+  <ItemGroup Condition="'$(TargetsNetFx)' == 'true'">
     <Compile Include="AssemblyInfo.netfx.cs" />
     <Compile Include="System\Diagnostics\Activity.DateTime.netfx.cs" />
     <Reference Include="mscorlib" />
index fad8568..43256ff 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx-Windows_NT;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index a65a1ec..adf493f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition=" '$(TargetsNetFx)' != 'true'">
     <Compile Include="DiagnosticSourceEventSourceBridgeTests.cs" />
index 2d86da2..e856fa8 100644 (file)
@@ -3,8 +3,6 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsNetStandard)' == 'true'">SR.PlatformNotSupported_EventLog</GeneratePlatformNotSupportedAssemblyMessage>
-    <!-- Although we have a netstandard configuration, we know we are not currently UAP compatible-->
-    <UWPCompatible>false</UWPCompatible>
     <Configurations>net461-Debug;net461-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
index 21df61f..bf938c6 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 022c39e..4b3b7a5 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Diagnostics.FileVersionInfo.cs" />
index 1ad17d8..1c0ceb0 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
     </BuildConfigurations>
index 618794c..e3647a4 100644 (file)
@@ -3,9 +3,9 @@
     <AssemblyName>System.Diagnostics.FileVersionInfo</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap' or '$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup>
     <Compile Include="System\Diagnostics\FileVersionInfo.cs" />
   </ItemGroup>
   <ItemGroup Condition=" '$(TargetsWindows)' == 'true'">
@@ -35,7 +35,7 @@
       <Link>Common\Interop\Windows\Interop.VSFixedFileInfo.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUnix)' == 'true' And '$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
     <Compile Include="System\Diagnostics\FileVersionInfo.Unix.cs" />
     <Compile Include="$(CommonPath)\Interop\Unix\Interop.Libraries.cs">
       <Link>Common\Interop\Unix\Interop.Libraries.cs</Link>
@@ -56,7 +56,7 @@
     <Reference Include="System.Runtime.Extensions" />
     <Reference Include="System.Runtime.InteropServices" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUnix)' == 'true' OR '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
     <ProjectReference Include="../../System.Reflection.Metadata/src/System.Reflection.Metadata.csproj" />
     <Reference Include="System.Collections.Immutable" />
     <Reference Include="System.IO" />
index 0663ad0..f043092 100644 (file)
@@ -3,7 +3,7 @@
     <OutputType>Exe</OutputType>
     <TargetExt>.dll</TargetExt>
     <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Assembly1.cs" />
index 2176e39..6d7c4c3 100644 (file)
@@ -107,7 +107,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Don't want to create temp file in app container current directory")]
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "NetFX throws ArgumentException in this case")]
         public void FileVersionInfo_RelativePath_CorrectFilePath()
         {
index d031f10..f67e09c 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AssemblyName>System.Diagnostics.FileVersionInfo.Tests</AssemblyName>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
   </PropertyGroup>
   <ItemGroup>
index 4550cc8..8981438 100644 (file)
@@ -6,7 +6,6 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard'">SR.PlatformNotSupported_PerfCounters</GeneratePlatformNotSupportedAssemblyMessage>
-    <UWPCompatible>false</UWPCompatible>
     <Configurations>net461-Debug;net461-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="$(TargetGroup.StartsWith('netcoreapp'))">
index a03c2a3..a3612bd 100644 (file)
@@ -9,7 +9,6 @@ using Xunit;
 
 namespace System.Diagnostics.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // In appcontainer, cannot write to perf counters
     public static class CounterCreationDataCollectionTests
     {
         [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
index d6bacae..014616e 100644 (file)
@@ -10,7 +10,6 @@ using Xunit;
 
 namespace System.Diagnostics.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // In appcontainer, cannot write to perf counters
     public static class CounterCreationDataTests
     {
         [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
index 2f27b45..eeaf9ad 100644 (file)
@@ -9,7 +9,6 @@ using Xunit;
 
 namespace System.Diagnostics.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // In appcontainer, cannot write to perf counters
     public static class CounterSampleCalculatorTests
     {
         [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
index 803e348..8ddfe9b 100644 (file)
@@ -9,7 +9,6 @@ using Xunit;
 
 namespace System.Diagnostics.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // In appcontainer, cannot write to perf counters
     public static class CounterSampleTests
     {
         [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
index 3cc52fc..e115bb5 100644 (file)
@@ -9,7 +9,6 @@ using Xunit;
 
 namespace System.Diagnostics.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // In appcontainer, cannot write to perf counters
     public static class InstanceDataTests
     {
         [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
index bc50fa0..850b49d 100644 (file)
@@ -9,7 +9,6 @@ using Xunit;
 
 namespace System.Diagnostics.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // In appcontainer, cannot write to perf counters
     public static class PerformanceCounterCategoryTests
     {
         [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
index 1986ee6..fa2222b 100644 (file)
@@ -9,7 +9,6 @@ using Xunit;
 
 namespace System.Diagnostics.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // In appcontainer, cannot write to perf counters
     public static class PerformanceCounterTests
     {
         [ConditionalFact(typeof(Helpers), nameof(Helpers.IsElevatedAndCanWriteToPerfCounters))]
index c4a6d5c..21ee968 100644 (file)
@@ -9,7 +9,6 @@ using Xunit;
 
 namespace System.Diagnostics.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // In appcontainer, cannot write to perf counters
     public class PerformanceDataTests : IClassFixture<PerformanceDataTestsFixture>
     {
         PerformanceDataTestsFixture _fixture = null;
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 051351f..2bbcaea 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Diagnostics.Process.cs" />
index 114d148..72f17e5 100644 (file)
@@ -5,7 +5,6 @@
       netcoreapp-Linux;
       netcoreapp-OSX;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 128b37f..23a6de6 100644 (file)
@@ -2,11 +2,10 @@
   <PropertyGroup>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
     <RootNamespace>System.Diagnostics.Process</RootNamespace>
-    <AssemblyName>System.Diagnostics.Process</AssemblyName>
-    <DefineConstants Condition="'$(TargetGroup)' != 'uap'">$(DefineConstants);FEATURE_REGISTRY</DefineConstants>
+    <DefineConstants>$(DefineConstants);FEATURE_REGISTRY</DefineConstants>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
-    <Configurations>netcoreapp-FreeBSD-Debug;netcoreapp-FreeBSD-Release;netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-FreeBSD-Debug;netcoreapp-FreeBSD-Release;netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(TargetsFreeBSD)' == 'true' OR '$(TargetsUnknownUnix)' == 'true' ">
     <!-- Suppress unused field warnings when using PlatformNotSupportedException stubs -->
@@ -46,7 +45,7 @@
       <Link>Common\Interop\Windows\Interop.Errors.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetsWindows)' == 'true' and '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition=" '$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.EnumProcessModules.cs">
       <Link>Common\Interop\Windows\Kernel32\Interop.EnumProcessModules.cs</Link>
     </Compile>
     <Compile Include="System\Diagnostics\ProcessManager.Win32.cs" />
     <Compile Include="System\Diagnostics\ProcessStartInfo.Win32.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Compile Include="System\Diagnostics\Process.Uap.cs" />
-    <Compile Include="System\Diagnostics\ProcessManager.Uap.cs" />
-    <Compile Include="System\Diagnostics\ProcessStartInfo.Uap.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap'">
+  <ItemGroup>
     <Compile Include="System\Diagnostics\Process.NonUap.cs" />
   </ItemGroup>
   <ItemGroup Condition=" '$(TargetsFreeBSD)' == 'true'">
   </ItemGroup>
   <ItemGroup>
     <Reference Include="Microsoft.Win32.Primitives" />
-    <Reference Condition="'$(TargetGroup)' != 'uap'" Include="Microsoft.Win32.Registry" />
+    <Reference Include="Microsoft.Win32.Registry" />
     <Reference Include="System.Buffers" />
     <Reference Include="System.Collections" />
     <Reference Include="System.Collections.Concurrent" />
diff --git a/src/libraries/System.Diagnostics.Process/src/System/Diagnostics/Process.Uap.cs b/src/libraries/System.Diagnostics.Process/src/System/Diagnostics/Process.Uap.cs
deleted file mode 100644 (file)
index 9151022..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Diagnostics
-{
-    public partial class Process : IDisposable
-    {
-        private bool StartCore(ProcessStartInfo startInfo)
-        {
-            return startInfo.UseShellExecute
-                ? throw new PlatformNotSupportedException(SR.UseShellExecuteNotSupported)
-                : StartWithCreateProcess(startInfo);
-        }
-
-        public IntPtr MainWindowHandle => IntPtr.Zero;
-
-        private bool CloseMainWindowCore() => false;
-
-        public string MainWindowTitle => string.Empty;
-
-        public bool Responding => true;
-
-        private bool WaitForInputIdleCore(int milliseconds) => throw new InvalidOperationException(SR.InputIdleUnkownError);
-
-        public void Kill(bool entireProcessTree) => throw new PlatformNotSupportedException();
-    }
-}
diff --git a/src/libraries/System.Diagnostics.Process/src/System/Diagnostics/ProcessManager.Uap.cs b/src/libraries/System.Diagnostics.Process/src/System/Diagnostics/ProcessManager.Uap.cs
deleted file mode 100644 (file)
index b8ad914..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Buffers;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Globalization;
-using System.IO;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading;
-using Microsoft.Win32.SafeHandles;
-
-namespace System.Diagnostics
-{
-    internal static partial class ProcessManager
-    {
-        public static IntPtr GetMainWindowHandle(int processId) => IntPtr.Zero;
-    }
-
-    internal static partial class NtProcessManager
-    {
-        private static ProcessModuleCollection GetModules(int processId, bool firstModuleOnly)
-        {
-            // We don't have a good way of getting all of the modules of the particular process,
-            // but we can at least get the path to the executable file for the process, and
-            // other than for debugging tools, that's the main reason consumers of Modules care about it,
-            // and why MainModule exists.
-            char[] chars = null;
-            int capacity = 64, length = 0;
-            try
-            {
-                // Get the path to the executable
-                using (Process process = Process.GetProcessById(processId))
-                {
-                    do
-                    {
-                        if (chars != null)
-                        {
-                            ArrayPool<char>.Shared.Return(chars);
-                        }
-                        capacity = Math.Min(capacity * 2, short.MaxValue);
-                        chars = ArrayPool<char>.Shared.Rent(capacity);
-                        length = Interop.Kernel32.GetModuleFileNameEx(process.SafeHandle, IntPtr.Zero, chars, chars.Length);
-                        // GetModuleFileNameEx truncates the name if capacity isn't sufficient. If provided buffer is full and smaller
-                        // than the maximum size of a Windows string (see UNICODE_STRING), retry with a bigger buffer.
-                    } while (length == chars.Length - 1 && capacity <= short.MaxValue);
-
-                    string exePath = new string(chars, 0, length);
-
-                    if (!string.IsNullOrEmpty(exePath))
-                    {
-                        return new ProcessModuleCollection(1)
-                        {
-                            new ProcessModule()
-                            {
-                                FileName = exePath,
-                                ModuleName = Path.GetFileName(exePath)
-                            }
-                        };
-                    }
-                }
-            }
-            catch { } // eat all errors
-            finally
-            {
-                if (chars != null)
-                {
-                    ArrayPool<char>.Shared.Return(chars);
-                }
-            }
-
-            return new ProcessModuleCollection(0);
-        }
-    }
-
-    internal static class NtProcessInfoHelper
-    {
-        internal static ProcessInfo[] GetProcessInfos(Predicate<int> processIdFilter = null)
-        {
-            throw new PlatformNotSupportedException(SR.GetProcessInfoNotSupported); // NtDll.NtQuerySystemInformation is not available in Uap
-        }
-    }
-}
diff --git a/src/libraries/System.Diagnostics.Process/src/System/Diagnostics/ProcessStartInfo.Uap.cs b/src/libraries/System.Diagnostics.Process/src/System/Diagnostics/ProcessStartInfo.Uap.cs
deleted file mode 100644 (file)
index 3bced53..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Diagnostics
-{
-    public sealed partial class ProcessStartInfo
-    {
-        public string[] Verbs => Array.Empty<string>();
-
-        // Not available on Uap as ShellExecuteEx isn't whitelisted. Note that using ShellExecuteEx
-        // also depends on being able to change the apartment state for a thread to STA (CLR is MTA).
-        public bool UseShellExecute
-        {
-            get { return false; }
-            set { if (value) throw new PlatformNotSupportedException(SR.UseShellExecuteNotSupported); }
-        }
-    }
-}
index 095c430..dd006cd 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 3b6dab1..6c88759 100644 (file)
@@ -59,7 +59,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestThreadCollectionBehavior()
         {
             CreateDefaultProcess();
index 8e1dbe9..4fbc5b2 100644 (file)
@@ -30,7 +30,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Process.Modules is not supported on uap")]
         public void Modules_Get_ContainsHostFileName()
         {
             ProcessModuleCollection modules = Process.GetCurrentProcess().Modules;
index 9950a2c..95e46e1 100644 (file)
@@ -14,7 +14,6 @@ namespace System.Diagnostics.Tests
         private const int s_ConsoleEncoding = 437;
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Get/SetConsoleOutputCP not supported yet https://github.com/dotnet/corefx/issues/21483")]
         public void TestChangesInConsoleEncoding()
         {
             Action<int> run = expectedCodePage =>
index 6d84de6..0621fa0 100644 (file)
@@ -20,7 +20,6 @@ using Xunit;
 
 namespace System.Diagnostics.Tests
 {
-    [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
     public partial class ProcessStartInfoTests : ProcessTestBase
     {
         [Fact]
@@ -198,7 +197,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(29865, TargetFrameworkMonikers.Uap)]
         public void TestSetEnvironmentOnChildProcess()
         {
             const string name = "b5a715d3-d74f-465d-abb7-2abe844750c9";
@@ -219,7 +217,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestEnvironmentOfChildProcess()
         {
             const string ItemSeparator = "CAFF9451396B4EEF8A5155A15BDC2080"; // random string that shouldn't be in any env vars; used instead of newline to separate env var strings
@@ -267,25 +264,8 @@ namespace System.Diagnostics.Tests
             }
         }
 
-        [PlatformSpecific(TestPlatforms.Windows)]
-        [Fact]
-        [SkipOnTargetFramework(~TargetFrameworkMonikers.Uap, "Only UAP blocks setting ShellExecute to true")]
-        public void UseShellExecute_GetSetWindows_Success_Uap()
-        {
-            ProcessStartInfo psi = new ProcessStartInfo();
-            Assert.False(psi.UseShellExecute);
-
-            // Calling the setter
-            Assert.Throws<PlatformNotSupportedException>(() => { psi.UseShellExecute = true; });
-            psi.UseShellExecute = false;
-
-            // Calling the getter
-            Assert.False(psi.UseShellExecute, "UseShellExecute=true is not supported on onecore.");
-        }
-
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
-        public void TestUseShellExecuteProperty_SetAndGet_NotUapOrNetFX()
+        public void TestUseShellExecuteProperty_SetAndGet()
         {
             ProcessStartInfo psi = new ProcessStartInfo();
             Assert.False(psi.UseShellExecute);
@@ -301,7 +281,6 @@ namespace System.Diagnostics.Tests
         [InlineData(0)]
         [InlineData(1)]
         [InlineData(2)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void TestUseShellExecuteProperty_Redirects_NotSupported(int std)
         {
             Process p = CreateProcessLong();
@@ -506,7 +485,6 @@ namespace System.Diagnostics.Tests
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // Nano does not support these verbs
         [PlatformSpecific(TestPlatforms.Windows)]  // Test case is specific to Windows
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void Verbs_GetWithExeExtension_ReturnsExpected()
         {
             var psi = new ProcessStartInfo { FileName = $"{Process.GetCurrentProcess().ProcessName}.exe" };
@@ -927,7 +905,6 @@ namespace System.Diagnostics.Tests
 
         [Fact(Skip = "Manual test")]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void StartInfo_WebPage()
         {
             ProcessStartInfo info = new ProcessStartInfo
@@ -946,7 +923,6 @@ namespace System.Diagnostics.Tests
         [MemberData(nameof(UseShellExecute))]
         [OuterLoop("Launches notepad")]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WaitForInputIdle, ProcessName, and MainWindowTitle are not supported on UAP")]
         public void StartInfo_NotepadWithContent(bool useShellExecute)
         {
             string tempFile = GetTestFilePath() + ".txt";
@@ -983,8 +959,6 @@ namespace System.Diagnostics.Tests
                                                     nameof(PlatformDetection.IsNotWindows8x))] // https://github.com/dotnet/corefx/issues/20388
         [OuterLoop("Launches notepad")]
         [PlatformSpecific(TestPlatforms.Windows)]
-        // We don't have the ability yet for UseShellExecute in UAP
-        [ActiveIssue("https://github.com/dotnet/corefx/issues/20204", TargetFrameworkMonikers.Uap)]
         public void StartInfo_TextFile_ShellExecute()
         {
             if (Thread.CurrentThread.CurrentCulture.ToString() != "en-US")
@@ -1009,7 +983,7 @@ namespace System.Diagnostics.Tests
                     process.WaitForInputIdle(); // Give the file a chance to load
                     Assert.Equal("notepad", process.ProcessName);
 
-                    if (PlatformDetection.IsUap)
+                    if (PlatformDetection.IsInAppContainer)
                     {
                         Assert.Throws<PlatformNotSupportedException>(() => process.MainWindowTitle);
                     }
@@ -1094,7 +1068,7 @@ namespace System.Diagnostics.Tests
             {
                 TheoryData<bool> data = new TheoryData<bool> { false };
 
-                if (   !PlatformDetection.IsUap // https://github.com/dotnet/corefx/issues/20204
+                if (   !PlatformDetection.IsInAppContainer // https://github.com/dotnet/corefx/issues/20204
                     && !PlatformDetection.IsWindowsNanoServer // By design
                     && !PlatformDetection.IsWindowsIoTCore)
                     data.Add(true);
index bdb5553..29214a3 100644 (file)
@@ -35,7 +35,6 @@ namespace System.Diagnostics.Tests
         [MemberData(nameof(UseShellExecute))]
         [OuterLoop("Launches notepad")]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WaitForInputIdle, ProcessName, and MainWindowTitle are not supported on UAP")]
         public void StartInfo_NotepadWithContent_withArgumentList(bool useShellExecute)
         {
             string tempFile = GetTestFilePath() + ".txt";
index 14d63dc..29a959c 100644 (file)
@@ -93,7 +93,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Pipe doesn't work well on UAP")]
         async public Task TestAsyncOutputStream_CancelOutputRead()
         {
             // This test might have some false negatives due to possible race condition in System.Diagnostics.AsyncStreamReader.ReadBufferAsync
@@ -176,7 +175,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Pipe doesn't work well on UAP")]
         async public Task TestAsyncOutputStream_BeginCancelBeginOutputRead()
         {
             using (AnonymousPipeServerStream pipeWrite = new AnonymousPipeServerStream(PipeDirection.Out, HandleInheritability.Inheritable))
@@ -383,7 +381,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "No simple way to perform this on uap using cmd.exe")]
         public void TestAsyncHalfCharacterAtATime()
         {
             var receivedOutput = false;
index 9f936db..5be8043 100644 (file)
@@ -14,7 +14,6 @@ namespace System.Diagnostics.Tests
     public partial class ProcessStreamReadTests : ProcessTestBase
     {
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "RemotelyInvokable.ReadLineWithCustomEncodingWriteLineWithUtf8 is not supported on uap")]
         public void TestCustomStandardInputEncoding()
         {
             var process = CreateProcessPortable(RemotelyInvokable.ReadLineWithCustomEncodingWriteLineWithUtf8, Encoding.UTF32.WebName);
@@ -36,7 +35,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "RemotelyInvokable.ReadLineWithCustomEncodingWriteLineWithUtf8 is not supported on uap")]
         public void TestMismatchedStandardInputEncoding()
         {
             var process = CreateProcessPortable(RemotelyInvokable.ReadLineWithCustomEncodingWriteLineWithUtf8, Encoding.UTF32.WebName);
diff --git a/src/libraries/System.Diagnostics.Process/tests/ProcessTestBase.Uap.cs b/src/libraries/System.Diagnostics.Process/tests/ProcessTestBase.Uap.cs
deleted file mode 100644 (file)
index b88cd3a..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Collections.Generic;
-using System.Reflection;
-using System.Threading;
-using Xunit;
-
-namespace System.Diagnostics.Tests
-{
-    partial class ProcessTestBase
-    {
-        protected static readonly string RunnerName = "cmd.exe";
-
-        protected Process CreateProcessLong()
-        {
-            return CreateSleepProcess(RemotelyInvokable.WaitInMS);
-        }
-
-        protected Process CreateSleepProcess(int durationMs)
-        {
-            return CreateProcessForUap(RemotelyInvokable.Sleep, durationMs.ToString());
-        }
-
-        protected Process CreateProcessPortable(Func<int> func)
-        {
-            return CreateProcessForUap(func);
-        }
-
-        protected Process CreateProcessPortable(Func<string, int> func, string arg)
-        {
-            return CreateProcessForUap(func, arg);
-        }
-
-        protected Process CreateProcessForUap(Func<int> func)
-        {
-            return CreateProcessForUap(func.Method, Array.Empty<string>());
-        }
-
-        protected Process CreateProcessForUap(Func<string, int> func, string arg)
-        {
-            return CreateProcessForUap(func.Method, new string[] { arg });
-        }
-
-        private MethodInfo GetMethodForUap(MethodInfo originalMethod)
-        {
-            string methodName = $"{originalMethod.Name}UapCmd";
-
-            MethodInfo mi = typeof(RemotelyInvokable)
-                .GetMethod(methodName, BindingFlags.Static | BindingFlags.Public);
-            if (mi == null || mi.ReturnType != typeof(string) || mi.GetParameters().Length != originalMethod.GetParameters().Length)
-            {
-                throw new Exception($"Method {methodName} could not be found in class {nameof(RemotelyInvokable)}.");
-            }
-
-            return mi;
-        }
-
-        protected Process CreateProcessForUap(MethodInfo method, string[] args)
-        {
-            if (method.DeclaringType != typeof(RemotelyInvokable))
-            {
-                throw new Exception($"Method needs to be defined in {nameof(RemotelyInvokable)} class.");
-            }
-
-            if (method.Name == nameof(RemotelyInvokable.Sleep))
-            {
-                return CreateSleepProcess(int.Parse(args[0]));
-            }
-
-            MethodInfo uapMethod = GetMethodForUap(method);
-            string cmdArgs = (string)uapMethod.Invoke(null, args);
-
-            var p = new Process()
-            {
-                StartInfo = new ProcessStartInfo()
-                {
-                    FileName = RunnerName,
-                    Arguments = $"/C {PasteArguments.Paste(new string[] { cmdArgs }, false)}"
-                }
-            };
-
-            AddProcessForDispose(p);
-            return p;
-        }
-    }
-}
index b5e17b5..86653fe 100644 (file)
@@ -61,7 +61,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         [PlatformSpecific(TestPlatforms.Windows)]  // Expected behavior varies on Windows and Unix
         public void TestBasePriorityOnWindows()
         {
@@ -89,7 +88,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Theory]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         [InlineData(true)]
         [InlineData(false)]
         [InlineData(null)]
@@ -141,7 +139,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(~TestPlatforms.OSX)] // OSX doesn't support throwing on Process.Start
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // UWP overrides WorkingDirectory (https://github.com/dotnet/corefx/pull/25266#issuecomment-347719832).
         public void TestStartWithBadWorkingDirectory()
         {
             string program;
@@ -176,7 +173,6 @@ namespace System.Diagnostics.Tests
         }
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.HasWindowsShell))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "not supported on UAP")]
         [OuterLoop("Launches File Explorer")]
         public void ProcessStart_UseShellExecute_OnWindows_OpenMissingFile_Throws()
         {
@@ -187,7 +183,6 @@ namespace System.Diagnostics.Tests
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.HasWindowsShell))]
         [InlineData(true)]
         [InlineData(false)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "not supported on UAP")]
         [OuterLoop("Launches File Explorer")]
         public void ProcessStart_UseShellExecute_OnWindows_DoesNotThrow(bool isFolder)
         {
@@ -223,7 +218,6 @@ namespace System.Diagnostics.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsServerCore),
             nameof(PlatformDetection.IsNotWindowsNanoServer), nameof(PlatformDetection.IsNotWindowsIoTCore))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "not supported on UAP")]
         [InlineData(true), InlineData(false)]
         public void ProcessStart_UseShellExecute_Executes(bool filenameAsUrl)
         {
@@ -243,7 +237,6 @@ namespace System.Diagnostics.Tests
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsServerCore),
             nameof(PlatformDetection.IsNotWindowsNanoServer), nameof(PlatformDetection.IsNotWindowsIoTCore))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "not supported on UAP")]
         public void ProcessStart_UseShellExecute_ExecuteOrder()
         {
             // Create a directory that we will use as PATH
@@ -287,7 +280,6 @@ namespace System.Diagnostics.Tests
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsServerCore),
             nameof(PlatformDetection.IsNotWindowsNanoServer), nameof(PlatformDetection.IsNotWindowsIoTCore))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "not supported on UAP")]
         public void ProcessStart_UseShellExecute_WorkingDirectory()
         {
             // Create a directory that will ProcessStartInfo.WorkingDirectory
@@ -308,7 +300,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestExitCode()
         {
             {
@@ -326,7 +317,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestExitTime()
         {
             // Try twice, since it's possible that the system clock could be adjusted backwards between when we snapshot it
@@ -360,7 +350,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestId()
         {
             CreateDefaultProcess();
@@ -377,7 +366,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestHasExited()
         {
             {
@@ -419,7 +407,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestMachineName()
         {
             CreateDefaultProcess();
@@ -441,7 +428,7 @@ namespace System.Diagnostics.Tests
             Process p = Process.GetCurrentProcess();
 
             // On UAP casing may not match - we use Path.GetFileName(exePath) instead of kernel32!GetModuleFileNameEx which is not available on UAP
-            Func<string, string> normalize = PlatformDetection.IsUap ?
+            Func<string, string> normalize = PlatformDetection.IsInAppContainer ?
                 (Func<string, string>)((s) => s.ToLowerInvariant()) :
                 (s) => s;
 
@@ -452,7 +439,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestMaxWorkingSet()
         {
             CreateDefaultProcess();
@@ -508,7 +494,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestMinWorkingSet()
         {
             CreateDefaultProcess();
@@ -581,7 +566,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestNonpagedSystemMemorySize64()
         {
             CreateDefaultProcess();
@@ -597,7 +581,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPagedMemorySize64()
         {
             CreateDefaultProcess();
@@ -613,7 +596,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPagedSystemMemorySize64()
         {
             CreateDefaultProcess();
@@ -629,7 +611,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPeakPagedMemorySize64()
         {
             CreateDefaultProcess();
@@ -645,7 +626,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPeakVirtualMemorySize64()
         {
             CreateDefaultProcess();
@@ -661,7 +641,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPeakWorkingSet64()
         {
             CreateDefaultProcess();
@@ -677,7 +656,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPrivateMemorySize64()
         {
             CreateDefaultProcess();
@@ -693,7 +671,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestVirtualMemorySize64()
         {
             CreateDefaultProcess();
@@ -709,7 +686,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestWorkingSet64()
         {
             CreateDefaultProcess();
@@ -732,7 +708,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestProcessorTime()
         {
             CreateDefaultProcess();
@@ -755,7 +730,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TotalProcessorTime_PerformLoop_TotalProcessorTimeValid()
         {
             CreateDefaultProcess();
@@ -836,7 +810,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void ProcessStartTime_Deterministic_Across_Instances()
         {
             CreateDefaultProcess();
@@ -858,7 +831,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(~(TestPlatforms.OSX | TestPlatforms.FreeBSD))] // getting/setting affinity not supported on OSX and BSD
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestProcessorAffinity()
         {
             CreateDefaultProcess();
@@ -877,7 +849,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestPriorityBoostEnabled()
         {
             CreateDefaultProcess();
@@ -907,7 +878,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact, PlatformSpecific(TestPlatforms.Windows)]  // Expected behavior varies on Windows and Unix
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestPriorityClassWindows()
         {
             CreateDefaultProcess();
@@ -944,7 +914,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestProcessName()
         {
             CreateDefaultProcess();
@@ -962,7 +931,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestSafeHandle()
         {
             CreateDefaultProcess();
@@ -996,7 +964,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestSessionId()
         {
             CreateDefaultProcess();
@@ -1035,7 +1002,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestGetProcessById()
         {
             CreateDefaultProcess();
@@ -1046,7 +1012,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestGetProcesses()
         {
             Process currentProcess = Process.GetCurrentProcess();
@@ -1112,7 +1077,6 @@ namespace System.Diagnostics.Tests
         }
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // ActiveIssue: https://github.com/dotnet/corefx/issues/32780
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void GetProcessesByName_ProcessName_ReturnsExpected()
         {
             // Get the current process using its name
@@ -1171,7 +1135,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         [MemberData(nameof(MachineName_TestData))]
         public void GetProcessesByName_ProcessNameMachineName_ReturnsExpected(string machineName)
         {
@@ -1183,7 +1146,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         [MemberData(nameof(MachineName_Remote_TestData))]
         [PlatformSpecific(TestPlatforms.Windows)] // Accessing processes on remote machines is only supported on Windows.
         public void GetProcessesByName_RemoteMachineNameWindows_ReturnsExpected(string machineName)
@@ -1200,7 +1162,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void GetProcessesByName_NoSuchProcess_ReturnsEmpty()
         {
             string processName = Guid.NewGuid().ToString("N");
@@ -1208,7 +1169,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void GetProcessesByName_NullMachineName_ThrowsArgumentNullException()
         {
             Process currentProcess = Process.GetCurrentProcess();
@@ -1216,7 +1176,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void GetProcessesByName_EmptyMachineName_ThrowsArgumentException()
         {
             Process currentProcess = Process.GetCurrentProcess();
@@ -1225,7 +1184,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]  // Behavior differs on Windows and Unix
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestProcessOnRemoteMachineWindows()
         {
             Process currentProccess = Process.GetCurrentProcess();
@@ -1253,7 +1211,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void StartInfo_GetFileName_ReturnsExpected()
         {
             Process process = CreateProcessLong();
@@ -1266,7 +1223,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void StartInfo_SetOnRunningProcess_ThrowsInvalidOperationException()
         {
             Process process = CreateProcessLong();
@@ -1451,7 +1407,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         [PlatformSpecific(TestPlatforms.Linux | TestPlatforms.Windows)]  // Expected process HandleCounts differs on OSX
         public void TestHandleCount()
         {
@@ -1474,7 +1429,6 @@ namespace System.Diagnostics.Tests
         [OuterLoop]
         [Fact]
         [PlatformSpecific(TestPlatforms.Linux | TestPlatforms.Windows)]  // Expected process HandleCounts differs on OSX
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void HandleCountChanges()
         {
             RemoteExecutor.Invoke(() =>
@@ -1526,7 +1480,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)] // MainWindowHandle is not supported on Unix.
         public void MainWindowHandle_NoWindow_ReturnsEmptyHandle()
         {
@@ -1538,7 +1491,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "HWND not available")]
         public void MainWindowHandle_GetNotStarted_ThrowsInvalidOperationException()
         {
             var process = new Process();
@@ -1546,7 +1498,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void MainWindowTitle_NoWindow_ReturnsEmpty()
         {
             CreateDefaultProcess();
@@ -1557,7 +1508,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)] // MainWindowTitle is a no-op and always returns string.Empty on Unix.
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "HWND not available")]
         public void MainWindowTitle_GetNotStarted_ThrowsInvalidOperationException()
         {
             var process = new Process();
@@ -1565,7 +1515,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void CloseMainWindow_NoWindow_ReturnsFalse()
         {
             CreateDefaultProcess();
@@ -1575,18 +1524,17 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
-        public void CloseMainWindow_NotStarted_ThrowsInvalidOperationException_WindowsNonUap()
+        public void CloseMainWindow_NotStarted_ThrowsInvalidOperationException_Windows()
         {
             var process = new Process();
             Assert.Throws<InvalidOperationException>(() => process.CloseMainWindow());
         }
 
         [Fact]
-        // CloseMainWindow is a no-op and always returns false on Unix or Uap.
-        public void CloseMainWindow_NotStarted_ReturnsFalse_UapOrNonWindows()
+        // CloseMainWindow is a no-op and always returns false on Unix or UWP.
+        public void CloseMainWindow_NotStarted_ReturnsFalse_UWPNonWindows()
         {
-            if (PlatformDetection.IsWindows && !PlatformDetection.IsUap)
+            if (PlatformDetection.IsWindows && !PlatformDetection.IsInAppContainer)
                 return;
 
             var process = new Process();
@@ -1605,7 +1553,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)] // Responding always returns true on Unix.
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "HWND not available")]
         public void Responding_GetNotStarted_ThrowsInvalidOperationException()
         {
             var process = new Process();
@@ -1613,7 +1560,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestNonpagedSystemMemorySize()
         {
             CreateDefaultProcess();
@@ -1633,7 +1579,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPagedMemorySize()
         {
             CreateDefaultProcess();
@@ -1653,7 +1598,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPagedSystemMemorySize()
         {
             CreateDefaultProcess();
@@ -1673,7 +1617,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPeakPagedMemorySize()
         {
             CreateDefaultProcess();
@@ -1693,7 +1636,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPeakVirtualMemorySize()
         {
             CreateDefaultProcess();
@@ -1713,7 +1655,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPeakWorkingSet()
         {
             CreateDefaultProcess();
@@ -1733,7 +1674,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestPrivateMemorySize()
         {
             CreateDefaultProcess();
@@ -1753,7 +1693,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestVirtualMemorySize()
         {
             CreateDefaultProcess();
@@ -1773,7 +1712,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestWorkingSet()
         {
             CreateDefaultProcess();
@@ -1812,7 +1750,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]  // Starting process with authentication not supported on Unix
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void Process_StartWithInvalidUserNamePassword()
         {
             SecureString password = AsSecureString("Value");
@@ -1822,7 +1759,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]  // Starting process with authentication not supported on Unix
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void Process_StartTest()
         {
             string name = "xcopy.exe";
@@ -1844,7 +1780,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]  // Starting process with authentication not supported on Unix
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void Process_StartWithArgumentsTest()
         {
             string currentProcessName = GetCurrentProcessName();
@@ -1883,7 +1818,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void TestLongProcessIsWorking()
         {
             // Sanity check for CreateProcessLong
index da516fd..bdd4449 100644 (file)
@@ -46,7 +46,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void StartProcessWithArgumentList()
         {
             ProcessStartInfo psi = new ProcessStartInfo(GetCurrentProcessName());
@@ -71,7 +70,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void StartProcessWithSameArgumentList()
         {
             ProcessStartInfo psi = new ProcessStartInfo(GetCurrentProcessName());
@@ -102,7 +100,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void BothArgumentCtorAndArgumentListSet()
         {
             ProcessStartInfo psi = new ProcessStartInfo(GetCurrentProcessName(), "arg3");
@@ -115,7 +112,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void BothArgumentSetAndArgumentListSet()
         {
             ProcessStartInfo psi = new ProcessStartInfo(GetCurrentProcessName());
@@ -129,17 +125,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(~TargetFrameworkMonikers.Uap)]
-        public void Kill_EntireProcessTree_ThrowsPlatformNotSupportedException()
-        {
-            var process = new Process();
-            Assert.Throws<PlatformNotSupportedException>(() => process.Kill(entireProcessTree: true));
-            Assert.Throws<PlatformNotSupportedException>(() => process.Kill(entireProcessTree: false));
-        }
-
-        [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void Kill_EntireProcessTree_True_ProcessNotStarted_ThrowsInvalidOperationException()
         {
             var process = new Process();
@@ -148,7 +133,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)] // Currently, remote processes are only supported on Windows. If that changes, adjust accordingly.
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void Kill_EntireProcessTree_True_CalledByNonLocalProcess_ThrowsInvalidOperationException()
         {
             Process currentProcess = Process.GetCurrentProcess();
@@ -170,7 +154,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void Kill_EntireProcessTree_True_CalledOnCallingProcess_ThrowsInvalidOperationException()
         {
             var process = Process.GetCurrentProcess();
@@ -178,7 +161,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void Kill_EntireProcessTree_True_CalledOnTreeContainingCallingProcess_ThrowsInvalidOperationException()
         {
             Process containingProcess = CreateProcess(() =>
@@ -225,7 +207,6 @@ namespace System.Diagnostics.Tests
         [Theory]
         [InlineData(true)]
         [InlineData(false)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void Kill_ExitedChildProcess_DoesNotThrow(bool killTree)
         {
             Process process = CreateProcess();
@@ -237,7 +218,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public async Task Kill_EntireProcessTree_False_OnlyRootProcessTerminated()
         {
             IReadOnlyList<Process> tree = CreateProcessTree();
@@ -271,7 +251,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public async Task Kill_EntireProcessTree_True_EntireTreeTerminated()
         {
             IReadOnlyList<Process> tree = CreateProcessTree();
index 6667216..e77835f 100644 (file)
@@ -13,7 +13,6 @@ namespace System.Diagnostics.Tests
     {
         [PlatformSpecific(TestPlatforms.Windows)] // P/Invokes
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void PriorityLevel_Roundtrips()
         {
             using (Barrier b = new Barrier(2))
index 3edb546..17ec64a 100644 (file)
@@ -14,7 +14,6 @@ namespace System.Diagnostics.Tests
     public partial class ProcessThreadTests : ProcessTestBase
     {
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestCommonPriorityAndTimeProperties()
         {
             CreateDefaultProcess();
@@ -48,7 +47,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestThreadCount()
         {
             int numOfThreads = 10;
@@ -90,7 +88,6 @@ namespace System.Diagnostics.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Linux|TestPlatforms.Windows)] // OSX and FreeBSD throw PNSE from StartTime
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public async Task TestStartTimeProperty()
         {
             TimeSpan allowedWindow = TimeSpan.FromSeconds(2);
@@ -144,7 +141,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestStartAddressProperty()
         {
             using (Process p = Process.GetCurrentProcess())
@@ -161,7 +157,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void TestThreadStateProperty()
         {
             CreateDefaultProcess();
@@ -174,7 +169,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Retrieving information about local processes is not supported on uap")]
         public void Threads_GetMultipleTimes_ReturnsSameInstance()
         {
             CreateDefaultProcess();
index fe3f25b..a46a7d3 100644 (file)
@@ -14,7 +14,6 @@ namespace System.Diagnostics.Tests
     public class ProcessWaitingTests : ProcessTestBase
     {
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void MultipleProcesses_StartAllKillAllWaitAll()
         {
             const int Iters = 10;
@@ -26,7 +25,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void MultipleProcesses_SerialStartKillWait()
         {
             const int Iters = 10;
@@ -40,7 +38,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void MultipleProcesses_ParallelStartKillWait()
         {
             const int Tasks = 4, ItersPerTask = 10;
@@ -66,7 +63,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void SingleProcess_TryWaitMultipleTimesBeforeCompleting()
         {
             Process p = CreateProcessLong();
@@ -89,7 +85,6 @@ namespace System.Diagnostics.Tests
         [Theory]
         [InlineData(false)]
         [InlineData(true)]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public async Task SingleProcess_WaitAfterExited(bool addHandlerBeforeStart)
         {
             Process p = CreateProcessLong();
@@ -131,7 +126,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [ActiveIssue(31908, TargetFrameworkMonikers.Uap)]
         public void SingleProcess_CopiesShareExitInformation()
         {
             Process p = CreateProcessLong();
@@ -150,7 +144,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Getting handle of child process running on UAP is not possible")]
         public void WaitForPeerProcess()
         {
             Process child1 = CreateProcessLong();
@@ -222,7 +215,6 @@ namespace System.Diagnostics.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not applicable on uap - RemoteInvoke does not give back process handle")]
         [ActiveIssue(15844, TestPlatforms.AnyUnix)]
         public void WaitChain()
         {
index 1a27efe..3564010 100644 (file)
@@ -24,12 +24,6 @@ namespace System.Diagnostics.Tests
         public const string TestConsoleApp = "System.Diagnostics.Process.Tests";
         public static event EventHandler ClosedEvent;
 
-
-        public static string DummyUapCmd()
-        {
-            return $@"exit {SuccessExitCode}";
-        }
-
         public static int Dummy()
         {
             return SuccessExitCode;
@@ -41,23 +35,11 @@ namespace System.Diagnostics.Tests
             return SuccessExitCode;
         }
 
-        public static string ExitWithCodeUapCmd(string exitCodeStr)
-        {
-            return $@"exit {exitCodeStr}";
-        }
-
         public static int ExitWithCode(string exitCodeStr)
         {
             return int.Parse(exitCodeStr);
         }
 
-        public static string ErrorProcessBodyUapCmd()
-        {
-            return $"(echo {TestConsoleApp} started error stream) 1>&2 & " +
-                $"(echo {TestConsoleApp} closed error stream) 1>&2 & " +
-                $"exit {SuccessExitCode}";
-        }
-
         public static int ErrorProcessBody()
         {
             Console.Error.WriteLine(TestConsoleApp + " started error stream");
@@ -65,13 +47,6 @@ namespace System.Diagnostics.Tests
             return SuccessExitCode;
         }
 
-        public static string StreamBodyUapCmd()
-        {
-            return $"(echo {TestConsoleApp} started) & " +
-                $"(echo {TestConsoleApp} closed) & " +
-                $"exit {SuccessExitCode}";
-        }
-
         public static int StreamBody()
         {
             Console.WriteLine(TestConsoleApp + " started");
@@ -79,22 +54,12 @@ namespace System.Diagnostics.Tests
             return SuccessExitCode;
         }
 
-        public static string ReadLineUapCmd()
-        {
-            return "findstr -src:^..*$";
-        }
-
         public static int ReadLine()
         {
             Console.ReadLine();
             return SuccessExitCode;
         }
 
-        public static string WriteLineReadLineUapCmd()
-        {
-            return $"((echo Signal) && findstr -src:^Success$ && exit {SuccessExitCode}) || exit {SuccessExitCode + 1}";
-        }
-
         public static int WriteLineReadLine()
         {
             Console.WriteLine("Signal");
@@ -102,11 +67,6 @@ namespace System.Diagnostics.Tests
             return line == "Success" ? SuccessExitCode : SuccessExitCode + 1;
         }
 
-        public static string ReadLineWriteIfNullUapCmd()
-        {
-            return $"(((findstr -src:^..*$) && (echo NOT_NULL)) || (echo NULL)) & exit {SuccessExitCode}";
-        }
-
         public static int ReadLineWriteIfNull()
         {
             string line = Console.ReadLine();
@@ -130,11 +90,6 @@ namespace System.Diagnostics.Tests
             return SuccessExitCode;
         }
 
-        public static string WriteSlowlyByByteUapCmd()
-        {
-            throw new Exception("No simple way of doing this using cmd.exe");
-        }
-
         public static int WriteSlowlyByByte()
         {
             var stdout = Console.OpenStandardOutput();
@@ -149,11 +104,6 @@ namespace System.Diagnostics.Tests
             return SuccessExitCode;
         }
 
-        public static string Write144LinesUapCmd()
-        {
-            return $"for /L %i in (1,1,144) do @echo %i";
-        }
-
         public static int Write144Lines()
         {
             for (int i = 0; i < 144; i++)
@@ -173,32 +123,12 @@ namespace System.Diagnostics.Tests
             return SuccessExitCode;
         }
 
-        public static string WriteLinesAfterCloseUapCmd()
-        {
-            ClosedEvent += (s, e) =>
-            {
-                // Finish the pause
-                Console.WriteLine();
-            };
-            return "(pause > nul) & (echo This is a line to output) & (echo This is a line to error 1>&2)";
-        }
-
-        public static string ConcatThreeArgumentsUapCmd(string one, string two, string three)
-        {
-            return $"echo {string.Join(",", one, two, three)} & exit {SuccessExitCode}";
-        }
-
         public static int ConcatThreeArguments(string one, string two, string three)
         {
             Console.Write(string.Join(",", one, two, three));
             return SuccessExitCode;
         }
 
-        public static string SelfTerminateUapCmd()
-        {
-            return $"exit 0";
-        }
-
         public static int SelfTerminate()
         {
             Process.GetCurrentProcess().Kill();
index 09745cd..2cbd7b3 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants Condition="'$(TargetsWindows)' == 'true'">$(DefineConstants);TargetsWindows</DefineConstants>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonPath)\CoreLib\System\PasteArguments.cs">
     <Compile Include="ProcessStartInfoTests.cs" />
     <Compile Include="ProcessStreamReadTests.cs" />
     <Compile Include="ProcessTestBase.cs" />
-    <Compile Condition="'$(TargetsUap)' != 'true'" Include="ProcessTestBase.NonUap.cs" />
-    <Compile Condition="'$(TargetsUap)' == 'true'" Include="ProcessTestBase.Uap.cs" />
+    <Compile Include="ProcessTestBase.NonUap.cs" />
     <Compile Include="ProcessTests.cs" />
     <Compile Include="ProcessThreadTests.cs" />
     <Compile Include="ProcessWaitingTests.cs" />
     <Compile Include="RemotelyInvokable.cs" />
     <Compile Include="XunitAssemblyAttributes.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">
     <Compile Include="ProcessStartInfoTests.netcoreapp.cs" />
     <Compile Include="ProcessStreamReadTests.netcoreapp.cs" />
     <Compile Include="ProcessTests.netcoreapp.cs" />
   </ItemGroup>
-  <!-- WINDOWS: Shared CoreCLR -->
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="ProcessTests.Windows.cs" />
     <Compile Include="ProcessThreadTests.Windows.cs" />
@@ -48,7 +44,6 @@
       <Link>Common\CoreLib\System\PasteArguments.Windows.cs</Link>
     </Compile>
   </ItemGroup>
-  <!-- UNIX -->
   <ItemGroup Condition=" '$(TargetsUnix)' == 'true' ">
     <Compile Include="ProcessTests.Unix.cs" />
     <Compile Include="ProcessThreadTests.Unix.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 89c9d83..bcb4d71 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index af6c544..db38925 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index e8ea207..be32c6c 100644 (file)
@@ -6,7 +6,7 @@
     <Nullable>enable</Nullable>
     <!-- Disable 1685 (aka multiple type definitions) warning so it doesn't turn into an error -->
     <NoWarn>$(NoWarn);1685</NoWarn>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Diagnostics\StackFrameExtensions.cs" />
index 2b2323d..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index f9461e8..221ea6d 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 926fca7..3751d80 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Diagnostics.TextWriterTraceListener.cs" />
index 095c430..dd006cd 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 144c1c3..d9c2b05 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <RootNamespace>System.Diagnostics.TextWriterTraceListener</RootNamespace>
     <AssemblyName>System.Diagnostics.TextWriterTraceListener</AssemblyName>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="FxCopBaseline.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 518828b..6a8d48f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="TestTraceFilter.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f38f31b..205ab25 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 40ace4e..93d61d8 100644 (file)
@@ -4,7 +4,7 @@
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <DefineConstants>$(DefineConstants);SYSTEM_DIAGNOSTICS_TOOLS</DefineConstants>
     <Nullable>enable</Nullable>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\CodeDom\Compiler\GeneratedCodeAttribute.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0f92297..1fa5315 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <RootNamespace>System</RootNamespace>
     <AssemblyName>System.Diagnostics.Tools.Tests</AssemblyName>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 69dd338..45a1b5d 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Diagnostics.TraceSource.cs" />
index 114d148..72f17e5 100644 (file)
@@ -5,7 +5,6 @@
       netcoreapp-Linux;
       netcoreapp-OSX;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 84941f9..fb05554 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>System.Diagnostics.TraceSource</RootNamespace>
     <AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
     <DefineConstants>$(DefineConstants);TRACE</DefineConstants>
-    <Configurations>netcoreapp-FreeBSD-Debug;netcoreapp-FreeBSD-Release;netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-FreeBSD-Debug;netcoreapp-FreeBSD-Release;netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="FxCopBaseline.cs" />
index af6c544..db38925 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 721072b..e044346 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AssemblyInfo.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/src/libraries/System.Diagnostics.Tracing/ref/System.Diagnostics.Tracing.CountersUap.cs b/src/libraries/System.Diagnostics.Tracing/ref/System.Diagnostics.Tracing.CountersUap.cs
deleted file mode 100644 (file)
index ac7c0dc..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace System.Diagnostics.Tracing
-{
-    public partial class EventCounter : System.IDisposable
-    {
-        public EventCounter(string name, System.Diagnostics.Tracing.EventSource eventSource) { }
-        public void Dispose() { }
-        public void WriteMetric(float value) { }
-    }
-}
\ No newline at end of file
index e57ea4a..5bf5eac 100644 (file)
@@ -3,13 +3,12 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <!-- CS0067: unused event, reference assembly does not care -->
     <NoWarn>$(NoWarn);0067</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Diagnostics.Tracing.cs" />
-    <Compile Include="System.Diagnostics.Tracing.Counters.cs" Condition="'$(TargetGroup)' != 'uap'" />
-    <Compile Include="System.Diagnostics.Tracing.CountersUap.cs" Condition="'$(TargetGroup)' == 'uap'" />
+    <Compile Include="System.Diagnostics.Tracing.Counters.cs" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 121e36c..1b5a587 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Diagnostics.Tracing</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index 61b81a8..6b58919 100644 (file)
@@ -4,13 +4,11 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants>$(DefineConstants);FLAVOR_WHIDBEY;PAPI_AD;PAPI_REGSAM;USE_CTX_CACHE</DefineConstants>
     <NoWarn>$(NoWarn);8073;CA1810</NoWarn>
-    <!-- Although we have a netstandard configuration, we know we are not currently UAP compatible-->
-    <UWPCompatible>false</UWPCompatible>
     <IncludeDllSafeSearchPathAttribute>true</IncludeDllSafeSearchPathAttribute>
-    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard'">SR.DirectoryServicesAccountManagement_PlatformNotSupported</GeneratePlatformNotSupportedAssemblyMessage>
+    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsNetStandard)' == 'true'">SR.DirectoryServicesAccountManagement_PlatformNotSupported</GeneratePlatformNotSupportedAssemblyMessage>
     <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'netstandard'">
+  <ItemGroup Condition="'$(TargetsNetStandard)' != 'true'">
     <Compile Include="System\DirectoryServices\AccountManagement\ExternDll.cs" />
     <Compile Include="System\DirectoryServices\AccountManagement\interopt.cs" />
     <Compile Include="System\DirectoryServices\AccountManagement\PrincipalSearcher.cs" />
     <Reference Include="System.Security.AccessControl" />
     <Reference Include="System.Security.Principal.Windows" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'netstandard'">
+  <ItemGroup Condition="'$(TargetsNetStandard)' != 'true'">
     <Reference Include="Microsoft.Win32.Primitives" />
     <Reference Include="System.Collections" />
     <Reference Include="System.Collections.NonGeneric" />
     <Reference Include="System.Threading.Thread" />
     <Reference Include="System.Xml.ReaderWriter" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp2.0'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'">
     <Reference Include="System.ComponentModel.TypeConverter" />
   </ItemGroup>
 </Project>
index 1040fed..e9187f6 100644 (file)
@@ -3,8 +3,6 @@
     <AssemblyName>System.DirectoryServices.Protocols</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);0649;CA1810</NoWarn>
-    <!-- Although we have a netstandard configuration, we know we are not currently UAP compatible-->
-    <UWPCompatible>false</UWPCompatible>
     <IncludeDllSafeSearchPathAttribute>true</IncludeDllSafeSearchPathAttribute>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard'">SR.DirectoryServicesProtocols_PlatformNotSupported</GeneratePlatformNotSupportedAssemblyMessage>
     <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netstandard-Debug;netstandard-Release</Configurations>
index b47122e..e789f1f 100644 (file)
@@ -3,12 +3,10 @@
     <AssemblyName>System.DirectoryServices</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);0649</NoWarn>
-    <!-- Although we have a netstandard configuration, we know we are not currently UAP compatible-->
-    <UWPCompatible>false</UWPCompatible>
-    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard'">SR.DirectoryServices_PlatformNotSupported</GeneratePlatformNotSupportedAssemblyMessage>
+    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsNetStandard)' == 'true'">SR.DirectoryServices_PlatformNotSupported</GeneratePlatformNotSupportedAssemblyMessage>
     <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'netstandard'">
+  <ItemGroup Condition="'$(TargetsNetStandard)' != 'true'">
     <Compile Include="System\DirectoryServices\ExternDll.cs" />
     <Compile Include="System\DirectoryServices\ActiveDirectorySecurity.cs" />
     <Compile Include="System\DirectoryServices\AdsVLV.cs" />
     <Reference Include="System.Security.Permissions" />
     <Reference Include="System.Security.Principal.Windows" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'netstandard'">
+  <ItemGroup Condition="'$(TargetsNetStandard)' != 'true'">
     <Reference Include="Microsoft.Win32.Primitives" />
     <Reference Include="System.Collections.Specialized" />
     <Reference Include="System.ComponentModel" />
index f7544cd..bdb496e 100644 (file)
@@ -18,7 +18,6 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
 
         [Fact]
         [OuterLoop]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Getting information about domain is denied inside App")]
         public void FindByTransportType_ForestNoDomainAssociatedWithoutName_ThrowsActiveDirectoryOperationException()
         {
             var context = new DirectoryContext(DirectoryContextType.Forest);
@@ -35,16 +34,11 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
             AssertExtensions.Throws<ArgumentException>("context", () => ActiveDirectoryInterSiteTransport.FindByTransportType(context, ActiveDirectoryTransportType.Rpc));
         }
 
-        [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
-        public void FindByTransportType_ForestNoDomainAssociatedWithName_ThrowsActiveDirectoryOperationException_NoUap()
+        [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotDomainJoinedMachine))]
+        public void FindByTransportType_ForestNoDomainAssociatedWithName_ThrowsActiveDirectoryOperationException_NoDomain()
         {
-            // Domain joined machines will not throw on the ActiveDirectoryInterSiteTransport.FindByTransportType call.
-            if (!PlatformDetection.IsDomainJoinedMachine)
-            {
-                var context = new DirectoryContext(DirectoryContextType.Forest, "\0");
-                AssertExtensions.Throws<ArgumentException>("context", () => ActiveDirectoryInterSiteTransport.FindByTransportType(context, ActiveDirectoryTransportType.Rpc));
-            }
+            var context = new DirectoryContext(DirectoryContextType.Forest, "\0");
+            AssertExtensions.Throws<ArgumentException>("context", () => ActiveDirectoryInterSiteTransport.FindByTransportType(context, ActiveDirectoryTransportType.Rpc));
         }
 
         [Fact]
@@ -59,7 +53,6 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
         [InlineData(DirectoryContextType.ApplicationPartition)]
         [InlineData(DirectoryContextType.DirectoryServer)]
         [InlineData(DirectoryContextType.Domain)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Access to common path is denied inside App")]
         public void FindByTransportType_InvalidContextTypeWithName(DirectoryContextType type)
         {
             var context = new DirectoryContext(type, "Name");
@@ -72,7 +65,6 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
 
         [Fact]
         [OuterLoop]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Getting information about domain is denied inside App")]
         public void FindByTransportType_ConfigurationSetTypeWithName_Throws()
         {
             var context = new DirectoryContext(DirectoryContextType.ConfigurationSet, "Name");
index 9a3cb56..0c89ebc 100644 (file)
@@ -31,7 +31,6 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
         [OuterLoop("Takes too long on domain joined machines")]
         [InlineData("\0")]
         [InlineData("[")]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Access to path is denied when in App container")]
         public void GetDomainController_InvalidName(string name)
         {
             var context = new DirectoryContext(DirectoryContextType.DirectoryServer, name);
@@ -43,7 +42,6 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
         }
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer), nameof(PlatformDetection.IsNotWindowsIoTCore))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Access to path is denied when in App container")]
         public void GetDomainController_InvalidIPV6()
         {
             var context = new DirectoryContext(DirectoryContextType.DirectoryServer, "[::1]:port");
@@ -114,7 +112,6 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void FindAll_NoSuchName_ReturnsEmpty()
         {
             // Domain joined machines can have entries in the DomainController.
@@ -128,7 +125,6 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
 
         [Fact]
         [OuterLoop]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Getting information about domain is denied inside App")]
         public void FindAll_NullName_ThrowsActiveDirectoryOperationException()
         {
             var context = new DirectoryContext(DirectoryContextType.Domain);
index 4115b81..b495bfd 100644 (file)
@@ -27,7 +27,6 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
 
         [Fact]
         [OuterLoop]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void GetForest_NullNameAndNotRootedDomain_ThrowsActiveDirectoryOperationException()
         {
             var context = new DirectoryContext(DirectoryContextType.Forest);
@@ -52,8 +51,7 @@ namespace System.DirectoryServices.ActiveDirectory.Tests
         [OuterLoop("Takes too long on domain joined machines")]
         [InlineData(DirectoryContextType.Forest, "\0")]
         [InlineData(DirectoryContextType.DirectoryServer, "server:port")]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
-        public void GetForest_NonNullNameAndNotRootedDomain_NonUap(DirectoryContextType type, string name)
+        public void GetForest_NonNullNameAndNotRootedDomain(DirectoryContextType type, string name)
         {
             var context = new DirectoryContext(type, name);
             if (!PlatformDetection.IsDomainJoinedMachine)
index afe9c3e..446e6d1 100644 (file)
@@ -6,7 +6,6 @@ using Xunit;
 
 namespace System.DirectoryServices.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "DirectoryObjectSecurity is not supported.")]
     public class ActiveDirectorySecurityTests
     {
         [Fact]
index 32007d2..3d7450b 100644 (file)
@@ -218,7 +218,6 @@ namespace System.DirectoryServices.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "PNSE in UAP")]
         public void ObjectSecurity_Set_GetReturnsExpected()
         {
             var security = new ActiveDirectorySecurity();
index 66e73ca..f6425e5 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <PackageConfigurations>
       netcoreapp3.0;
-      uap;
     </PackageConfigurations>
     <BuildConfigurations>
       $(PackageConfigurations);
index 6a7eaca..4ea035d 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Drawing.Common.cs" />
index 531e62b..765b7fe 100644 (file)
@@ -3,7 +3,6 @@
     <PackageConfigurations>
       netcoreapp3.0-Windows_NT;
       netcoreapp3.0-Unix;
-      uap;
     </PackageConfigurations>
     <BuildConfigurations>
       $(PackageConfigurations);
index 52233aa..405bf05 100644 (file)
@@ -5,11 +5,9 @@
     <WarningsNotAsErrors>CS0618</WarningsNotAsErrors>
     <DefineConstants Condition="'$(TargetsWindows)' == 'true'">$(DefineConstants);FEATURE_WINDOWS_SYSTEM_COLORS;FEATURE_SYSTEM_EVENTS</DefineConstants>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsUap)' == 'true'">SR.PlatformNotSupported_Drawing</GeneratePlatformNotSupportedAssemblyMessage>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp3.0-Unix-Debug;netcoreapp3.0-Unix-Release;netcoreapp3.0-Windows_NT-Debug;netcoreapp3.0-Windows_NT-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp3.0-Unix-Debug;netcoreapp3.0-Unix-Release;netcoreapp3.0-Windows_NT-Debug;netcoreapp3.0-Windows_NT-Release</Configurations>
   </PropertyGroup>
-  <!-- Shared source code, all configurations -->
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
+  <ItemGroup>
     <Compile Include="System\Drawing\Bitmap.cs" />
     <Compile Include="System\Drawing\BitmapSuffixInSameAssemblyAttribute.cs" />
     <Compile Include="System\Drawing\BitmapSuffixInSatelliteAssemblyAttribute.cs" />
     </Compile>
   </ItemGroup>
   <!-- Unix specific -->
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' and '$(TargetsUnix)' == 'true'">
+  <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
     <Compile Include="System\Drawing\Graphics.Unix.cs" />
     <Compile Include="System\Drawing\Icon.Unix.cs" />
     <Compile Include="System\Drawing\SystemFonts.Unix.cs" />
index 19239ba..1d05699 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.0.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a901689..da8f047 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 095c430..dd006cd 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 1fff5f8..a164c8e 100644 (file)
@@ -3,8 +3,8 @@
     <OutputType>Library</OutputType>
     <RootNamespace>System.Drawing</RootNamespace>
     <AssemblyName>System.Drawing.Primitives</AssemblyName>
-    <DefineConstants Condition="'$(TargetsWindows)' == 'true' And '$(TargetGroup)' != 'uap'">$(DefineConstants);FEATURE_WINDOWS_SYSTEM_COLORS</DefineConstants>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <DefineConstants Condition="'$(TargetsWindows)' == 'true'">$(DefineConstants);FEATURE_WINDOWS_SYSTEM_COLORS</DefineConstants>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <nullable>enable</nullable>
   </PropertyGroup>
   <ItemGroup>
@@ -46,8 +46,7 @@
       <Link>System\Drawing\SystemColors.cs</Link>
     </Compile>
   </ItemGroup>
-  <!-- System color features require Win32 PInvoke's which are disallowed in UAP. -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' And '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\Interop\Windows\Interop.Libraries.cs">
       <Link>Common\Interop\Windows\Interop.Libraries.cs</Link>
     </Compile>
index 2305b11..ab7a1a3 100644 (file)
@@ -12,7 +12,7 @@ namespace System.Drawing.Primitives.Tests
 {
     public partial class ColorTests
     {
-        public static bool SupportsReadingUpdatedSystemColors => PlatformDetection.IsWindows && !PlatformDetection.IsUap && PlatformDetection.IsNotWindowsNanoServer;
+        public static bool SupportsReadingUpdatedSystemColors => PlatformDetection.IsWindows && !PlatformDetection.IsInAppContainer && PlatformDetection.IsNotWindowsNanoServer;
 
         public static readonly IEnumerable<object[]> NamedArgbValues =
             new[]
index 2b2323d..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 9ae6058..3b53d06 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ColorTranslatorTests.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 66e963d..00d55a5 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Dynamic.Runtime.cs" />
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 7582b26..c5d3060 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Dynamic.Runtime</AssemblyName>
     <RootNamespace>System.Dynamic.Runtime</RootNamespace>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Linq.Expressions" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 8e08dc9..976ea31 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>67,168,219,414,162,184,458,464,78,169,114,693,108,1981,649,109,1066,3021,3026,3002,3014,3022,660,661,429;xUnit1013</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <AssembliesBeingTested Include="Microsoft.CSharp" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5645a73..b0ad5e4 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Globalization.Calendars.Forwards.cs" />
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 55104a3..09aaac9 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Globalization.Calendars</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index 54fa8c3..beb53a9 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2b7b959..92b5f48 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3a3d911..7fcfaed 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Globalization.Extensions.Forwards.cs" />
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c3ee391..03fb60f 100644 (file)
@@ -6,7 +6,7 @@
     <AssemblyName>System.Globalization.Extensions</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Runtime" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 141db30..2c326b8 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e5a7363..a9f6d99 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Globalization.Forwards.cs" />
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index bc05845..d29735d 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Globalization</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index aa1d348..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0638d1b..d371b2a 100644 (file)
@@ -15,44 +15,38 @@ namespace System.Globalization.Tests
         [Fact]
         public void TestCurrentCulturesAsync()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            var newCurrentCulture = new CultureInfo(CultureInfo.CurrentCulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "en-US" : "ja-JP");
+            var newCurrentUICulture = new CultureInfo(CultureInfo.CurrentUICulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "en-US" : "ja-JP");
+            using (new ThreadCultureChange(newCurrentCulture, newCurrentUICulture))
             {
-                var newCurrentCulture = new CultureInfo(CultureInfo.CurrentCulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "en-US" : "ja-JP");
-                var newCurrentUICulture = new CultureInfo(CultureInfo.CurrentUICulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "en-US" : "ja-JP");
-                using (new ThreadCultureChange(newCurrentCulture, newCurrentUICulture))
+                Task t = Task.Run(() =>
                 {
-                    Task t = Task.Run(() =>
-                    {
-                        Assert.Equal(CultureInfo.CurrentCulture, newCurrentCulture);
-                        Assert.Equal(CultureInfo.CurrentUICulture, newCurrentUICulture);
-                    });
+                    Assert.Equal(CultureInfo.CurrentCulture, newCurrentCulture);
+                    Assert.Equal(CultureInfo.CurrentUICulture, newCurrentUICulture);
+                });
 
-                    ((IAsyncResult)t).AsyncWaitHandle.WaitOne();
-                    t.Wait();
-                }
-            }).Dispose();
+                ((IAsyncResult)t).AsyncWaitHandle.WaitOne();
+                t.Wait();
+            }
         }
 
         [Fact]
         public void TestCurrentCulturesWithAwait()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            var newCurrentCulture = new CultureInfo(CultureInfo.CurrentCulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "en-US" : "ja-JP");
+            var newCurrentUICulture = new CultureInfo(CultureInfo.CurrentUICulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "en-US" : "ja-JP");
+            using (new ThreadCultureChange(newCurrentCulture, newCurrentUICulture))
             {
-                var newCurrentCulture = new CultureInfo(CultureInfo.CurrentCulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "en-US" : "ja-JP");
-                var newCurrentUICulture = new CultureInfo(CultureInfo.CurrentUICulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "en-US" : "ja-JP");
-                using (new ThreadCultureChange(newCurrentCulture, newCurrentUICulture))
-                {
-                    MainAsync().Wait();
+                MainAsync().Wait();
 
-                    async Task MainAsync()
-                    {
-                        await Task.Delay(1).ConfigureAwait(false);
+                async Task MainAsync()
+                {
+                    await Task.Delay(1).ConfigureAwait(false);
 
-                        Assert.Equal(CultureInfo.CurrentCulture, newCurrentCulture);
-                        Assert.Equal(CultureInfo.CurrentUICulture, newCurrentUICulture);
-                    }
+                    Assert.Equal(CultureInfo.CurrentCulture, newCurrentCulture);
+                    Assert.Equal(CultureInfo.CurrentUICulture, newCurrentUICulture);
                 }
-            }).Dispose();
+            }
         }
     }
 }
index ae94da7..ceb81b3 100644 (file)
@@ -17,21 +17,18 @@ namespace System.Globalization.Tests
         [Fact]
         public void CurrentCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            var newCulture = new CultureInfo(CultureInfo.CurrentCulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "ar-SA" : "ja-JP");
+            using (new ThreadCultureChange(newCulture))
             {
-                var newCulture = new CultureInfo(CultureInfo.CurrentCulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "ar-SA" : "ja-JP");
-                using (new ThreadCultureChange(newCulture))
-                {
-                    Assert.Equal(CultureInfo.CurrentCulture, newCulture);
-                }
+                Assert.Equal(CultureInfo.CurrentCulture, newCulture);
+            }
 
-                newCulture = new CultureInfo("de-DE_phoneb");
-                using (new ThreadCultureChange(newCulture))
-                {
-                    Assert.Equal(CultureInfo.CurrentCulture, newCulture);
-                    Assert.Equal("de-DE_phoneb", newCulture.CompareInfo.Name);
-                }
-            }).Dispose();
+            newCulture = new CultureInfo("de-DE_phoneb");
+            using (new ThreadCultureChange(newCulture))
+            {
+                Assert.Equal(CultureInfo.CurrentCulture, newCulture);
+                Assert.Equal("de-DE_phoneb", newCulture.CompareInfo.Name);
+            }
         }
 
         [Fact]
@@ -43,25 +40,21 @@ namespace System.Globalization.Tests
         [Fact]
         public void CurrentUICulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            var newUICulture = new CultureInfo(CultureInfo.CurrentUICulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "ar-SA" : "ja-JP");
+            using (new ThreadCultureChange(null, newUICulture))
             {
-                var newUICulture = new CultureInfo(CultureInfo.CurrentUICulture.Name.Equals("ja-JP", StringComparison.OrdinalIgnoreCase) ? "ar-SA" : "ja-JP");
-                using (new ThreadCultureChange(null, newUICulture))
-                {
-                    Assert.Equal(CultureInfo.CurrentUICulture, newUICulture);
-                }
+                Assert.Equal(CultureInfo.CurrentUICulture, newUICulture);
+            }
 
-                newUICulture = new CultureInfo("de-DE_phoneb");
-                using (new ThreadCultureChange(null, newUICulture))
-                {
-                    Assert.Equal(CultureInfo.CurrentUICulture, newUICulture);
-                    Assert.Equal("de-DE_phoneb", newUICulture.CompareInfo.Name);
-                }
-            }).Dispose();
+            newUICulture = new CultureInfo("de-DE_phoneb");
+            using (new ThreadCultureChange(null, newUICulture))
+            {
+                Assert.Equal(CultureInfo.CurrentUICulture, newUICulture);
+                Assert.Equal("de-DE_phoneb", newUICulture.CompareInfo.Name);
+            }
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Thread cultures is not honored in UWP.")]
         public void DefaultThreadCurrentCulture()
         {
             RemoteExecutor.Invoke(() =>
@@ -79,7 +72,6 @@ namespace System.Globalization.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Thread cultures is not honored in UWP.")]
         public void DefaultThreadCurrentUICulture()
         {
             RemoteExecutor.Invoke(() =>
index d4a7dd1..7cf3c40 100644 (file)
@@ -37,16 +37,13 @@ namespace System.Globalization.Tests
         [Fact]
         public void TestSettingThreadCultures()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            var culture = new CultureInfo("ja-JP");
+            using (new ThreadCultureChange(culture))
             {
-                var culture = new CultureInfo("ja-JP");
-                using (new ThreadCultureChange(culture))
-                {
-                    var dt = new DateTime(2014, 3, 14, 3, 14, 0);
-                    Assert.Equal(dt.ToString(), dt.ToString(culture));
-                    Assert.Equal(dt.ToString(), dt.ToString(culture.DateTimeFormat));
-                }
-            }).Dispose();
+                var dt = new DateTime(2014, 3, 14, 3, 14, 0);
+                Assert.Equal(dt.ToString(), dt.ToString(culture));
+                Assert.Equal(dt.ToString(), dt.ToString(culture.DateTimeFormat));
+            }
         }
 
         [Fact]
index 64e5933..c8fcdb9 100644 (file)
@@ -29,23 +29,19 @@ namespace System.Globalization.Tests
 
         public static string[] FrFRDayNames()
         {
-#if !uap
             if (PlatformDetection.IsOSX && PlatformDetection.OSXVersion < new Version(10, 12))
             {
                 return new string[] { "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" };
             }
-#endif
             return new string[] { "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" };
         }
 
         public static string[] FrFRAbbreviatedDayNames()
         {
-#if !uap
             if (PlatformDetection.IsOSX  && PlatformDetection.OSXVersion < new Version(10, 12))
             {
                 return new string[] { "Dim.", "Lun.", "Mar.", "Mer.", "Jeu.", "Ven.", "Sam." };
             }
-#endif
             return new string[] { "dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam." };
         }
 
index 9221316..e588e83 100644 (file)
@@ -19,43 +19,32 @@ namespace System.Globalization.Tests
             yield return new object[] { CultureInfo.InvariantCulture };
         }
 
-        [ActiveIssue(33904, TargetFrameworkMonikers.Uap)]
         [Theory]
         [MemberData(nameof(CurrentInfo_CustomCulture_TestData))]
         public void CurrentInfo_CustomCulture(CultureInfo newCurrentCulture)
         {
-            RemoteExecutorForUap.Invoke((cultureName) =>
+            using (new ThreadCultureChange(newCurrentCulture))
             {
-                var newCulture = CultureInfo.GetCultureInfo(cultureName);
-                using (new ThreadCultureChange(newCulture))
-                {
-                    Assert.Same(newCulture.NumberFormat, NumberFormatInfo.CurrentInfo);
-                }
-            }, newCurrentCulture.Name).Dispose();
+                Assert.Same(newCurrentCulture.NumberFormat, NumberFormatInfo.CurrentInfo);
+            }
         }
 
         [Fact]
         public void CurrentInfo_Subclass_OverridesGetFormat()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(new CultureInfoSubclassOverridesGetFormat("en-US")))
             {
-                using (new ThreadCultureChange(new CultureInfoSubclassOverridesGetFormat("en-US")))
-                {
-                    Assert.Same(CultureInfoSubclassOverridesGetFormat.CustomFormat, NumberFormatInfo.CurrentInfo);
-                }
-            }).Dispose();
+                Assert.Same(CultureInfoSubclassOverridesGetFormat.CustomFormat, NumberFormatInfo.CurrentInfo);
+            }
         }
 
         [Fact]
         public void CurrentInfo_Subclass_OverridesNumberFormat()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(new CultureInfoSubclassOverridesNumberFormat("en-US")))
             {
-                using (new ThreadCultureChange(new CultureInfoSubclassOverridesNumberFormat("en-US")))
-                {
-                    Assert.Same(CultureInfoSubclassOverridesNumberFormat.CustomFormat, NumberFormatInfo.CurrentInfo);
-                }
-            }).Dispose();
+                Assert.Same(CultureInfoSubclassOverridesNumberFormat.CustomFormat, NumberFormatInfo.CurrentInfo);
+            }
         }
 
         private class CultureInfoSubclassOverridesGetFormat : CultureInfo
index b9542ef..b0b9640 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CompareInfo\CompareInfoTests.cs" />
index 263723b..459a369 100644 (file)
@@ -55,15 +55,12 @@ namespace System.Globalization.Tests
         [Fact]
         public void CurrentRegion()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    RegionInfo ri = new RegionInfo(new RegionInfo(CultureInfo.CurrentCulture.Name).TwoLetterISORegionName);
-                    Assert.True(RegionInfo.CurrentRegion.Equals(ri) || RegionInfo.CurrentRegion.Equals(new RegionInfo(CultureInfo.CurrentCulture.Name)));
-                    Assert.Same(RegionInfo.CurrentRegion, RegionInfo.CurrentRegion);
-                }
-            }).Dispose();
+                RegionInfo ri = new RegionInfo(new RegionInfo(CultureInfo.CurrentCulture.Name).TwoLetterISORegionName);
+                Assert.True(RegionInfo.CurrentRegion.Equals(ri) || RegionInfo.CurrentRegion.Equals(new RegionInfo(CultureInfo.CurrentCulture.Name)));
+                Assert.Same(RegionInfo.CurrentRegion, RegionInfo.CurrentRegion);
+            }
         }
 
         [Theory]
@@ -71,13 +68,10 @@ namespace System.Globalization.Tests
         [OuterLoop("May fail on machines with multiple language packs installed")] // https://github.com/dotnet/corefx/issues/39177
         public void DisplayName(string name, string expected)
         {
-            RemoteExecutorForUap.Invoke((string _name, string _expected) =>
+            using (new ThreadCultureChange(name))
             {
-                using (new ThreadCultureChange(_name))
-                {
-                    Assert.Equal(_expected, new RegionInfo(_name).DisplayName);
-                }
-            }, name, expected).Dispose();
+                Assert.Equal(expected, new RegionInfo(name).DisplayName);
+            }
         }
 
         [Theory]
index f012061..0e1b263 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>ECMA</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 568ca6c..7a4e95c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <DefineConstants Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">$(DefineConstants);STREAM_MEMORY_OVERLOADS_AVAILABLE</DefineConstants>
+    <DefineConstants Condition="'$(TargetsNetCoreApp)' == 'true'">$(DefineConstants);STREAM_MEMORY_OVERLOADS_AVAILABLE</DefineConstants>
     <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
index bca14bd..9a4f4b8 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.4.0</AssemblyVersion>
     <StrongNameKeyId>ECMA</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6820da5..dff22c4 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.Compression.ZipFile.cs" />
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index f3728a3..6ecce05 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.IO.Compression.ZipFile</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ee07def..833cd20 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ZipFile.Create.cs" />
index f012061..0e1b263 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>ECMA</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 21eac72..40de8f5 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0b2204a..929f0ff 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.IO.Compression</AssemblyName>
     <OutputType>Library</OutputType>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6abab23..263fd1e 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <!-- This constant is only here for usage in $(CommonTestPath), since not all projects using these tests have been updated yet-->
     <DefineConstants>$(DefineConstants);STREAM_MEMORY_OVERLOADS_AVAILABLE</DefineConstants>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CompressionStreamUnitTests.Deflate.cs" />
index b1c92d6..c84dc3c 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netfx-Windows_NT;
-      uap-Windows_NT
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index d95aedd..e136f87 100644 (file)
@@ -69,7 +69,6 @@ namespace System.Security.AccessControl
 
         [Fact]
         [ActiveIssue(24903, TargetFrameworkMonikers.NetFramework)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "System.DirectoryServices is not supported on this platform.")]
         public void GetAccessRules_InvalidTargetType()
         {
             var activeDirectorySecurity = new ActiveDirectorySecurity();
index c72cfd1..f9d8523 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="DirectoryObjectSecurityTests.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 35fb4d5..97fd59e 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.FileSystem.DriveInfo.cs" />
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 14676ea..a4dbb82 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>System.IO.FileSystem.DriveInfo</RootNamespace>
     <AssemblyName>System.IO.FileSystem.DriveInfo</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\IO\DriveInfo.cs" />
index 2578657..7e12b46 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 2866de8..9ea5aff 100644 (file)
@@ -99,7 +99,6 @@ namespace System.IO.FileSystem.DriveInfoTests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Accessing drive format is not permitted inside an AppContainer.")]
         public void TestDriveFormat()
         {
             DriveInfo validDrive = DriveInfo.GetDrives().Where(d => d.DriveType == DriveType.Fixed).First();
@@ -140,7 +139,6 @@ namespace System.IO.FileSystem.DriveInfoTests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "GetDiskFreeSpaceEx blocked in AC")]
         public void TestValidDiskSpaceProperties()
         {
             bool win32Result;
index c216855..8a1f2f3 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="DriveInfo.Unix.Tests.cs" Condition="'$(TargetsUnix)' == 'true'" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4d039e0..30b24f2 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.FileSystem.Primitives.cs" />
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 29210d3..9987d32 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.IO.FileSystem.Primitives</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Runtime" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 61a2e67..53b7df5 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0c6bb1f..56d3123 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.FileSystem.Watcher.cs" />
index 832a5cc..d23e9c1 100644 (file)
@@ -5,7 +5,6 @@
       netcoreapp-OSX;
       netcoreapp-FreeBSD;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 3ddc874..c0b5fe8 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-FreeBSD-Debug;netcoreapp-FreeBSD-Release;netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-FreeBSD-Debug;netcoreapp-FreeBSD-Release;netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\HResults.cs" />
     </Compile>
   </ItemGroup>
   <!-- Windows : Win32 only -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CreateFile.cs">
       <Link>Common\Interop\Windows\Interop.CreateFile.cs</Link>
     </Compile>
   </ItemGroup>
-  <!-- Windows : UAP - Win32 + WinRT -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetGroup)' == 'uap'">
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CreateFile2.cs">
-      <Link>Common\Interop\Windows\Interop.CreateFile2.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CREATEFILE2_EXTENDED_PARAMETERS.cs">
-      <Link>Common\Interop\Windows\Interop.CREATEFILE2_EXTENDED_PARAMETERS.cs</Link>
-    </Compile>
-  </ItemGroup>
   <ItemGroup Condition=" '$(TargetsUnix)' == 'true'">
     <Compile Include="$(CommonPath)\Interop\Unix\Interop.Libraries.cs">
       <Link>Common\Interop\Unix\Interop.Libraries.cs</Link>
index 03e67ca..e8460df 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp-Linux;
       netcoreapp-OSX;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b4004c0..bad6e7a 100644 (file)
@@ -168,7 +168,6 @@ namespace System.IO.Tests
         [Theory]
         [MemberData(nameof(FilterTypes))]
         [PlatformSpecific(TestPlatforms.Windows)]  // Uses P/Invokes to set security info
-        [ActiveIssue(21109, TargetFrameworkMonikers.Uap)]
         public void FileSystemWatcher_Directory_NotifyFilter_Security(NotifyFilters filter)
         {
             using (var testDirectory = new TempDirectory(GetTestFilePath()))
index 8e8fe0e..24421e5 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="FileSystemWatcher.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a6f624c..5d97765 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.FileSystem.cs" />
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5b56cec..bdf0b32 100644 (file)
@@ -4,8 +4,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <UWPCompatible Condition="'$(TargetGroup)' == 'uap'">true</UWPCompatible>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup Condition="'$(TargetsUnix)' == 'true'">
     <NoWarn>$(NoWarn);414</NoWarn>
       <Link>Common\Interop\Windows\Interop.FILE_INFO_BY_HANDLE_CLASS.cs</Link>
     </Compile>
   </ItemGroup>
-  <!-- Windows : Win32 only -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(UWPCompatible)' != 'true'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="System\IO\FileSystem.Win32.cs" />
     <Compile Include="System\IO\Enumeration\FileSystemEnumerator.Win32.cs" />
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CreateFile.cs">
       <Link>Common\Interop\Windows\Interop.RtlNtStatusToDosError.cs</Link>
     </Compile>
   </ItemGroup>
-  <!-- Windows : UAP - Win32 + WinRT -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(UWPCompatible)' == 'true'">
-    <Compile Include="System\IO\FileSystem.WinRT.cs" />
-    <Compile Include="System\IO\Enumeration\FileSystemEnumerator.WinRT.cs" />
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CreateFile2.cs">
-      <Link>Common\Interop\Windows\Interop.CreateFile2.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CREATEFILE2_EXTENDED_PARAMETERS.cs">
-      <Link>Common\Interop\Windows\Interop.CREATEFILE2_EXTENDED_PARAMETERS.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.GetFileInformationByHandleEx.cs">
-      <Link>Common\Interop\Windows\Interop.GetFileInformationByHandleEx.cs</Link>
-    </Compile>
-  </ItemGroup>
-  <!-- Unix -->
   <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
     <Compile Include="System\IO\FileStatus.Unix.cs" />
     <Compile Include="System\IO\Enumeration\FileSystemEntry.Unix.cs" />
diff --git a/src/libraries/System.IO.FileSystem/src/System/IO/Enumeration/FileSystemEnumerator.WinRT.cs b/src/libraries/System.IO.FileSystem/src/System/IO/Enumeration/FileSystemEnumerator.WinRT.cs
deleted file mode 100644 (file)
index fb1629b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-namespace System.IO.Enumeration
-{
-    public partial class FileSystemEnumerator<TResult>
-    {
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        private unsafe bool GetData()
-        {
-            if (!Interop.Kernel32.GetFileInformationByHandleEx(
-                _directoryHandle,
-                Interop.Kernel32.FILE_INFO_BY_HANDLE_CLASS.FileFullDirectoryInfo,
-                _buffer,
-                (uint)_bufferLength))
-            {
-                int error = Marshal.GetLastWin32Error();
-                switch (error)
-                {
-                    case Interop.Errors.ERROR_NO_MORE_FILES:
-                        DirectoryFinished();
-                        return false;
-                    case Interop.Errors.ERROR_ACCESS_DENIED:
-                        if (_options.IgnoreInaccessible)
-                        {
-                            return false;
-                        }
-                        break;
-                }
-
-                if (!ContinueOnError(error))
-                    throw Win32Marshal.GetExceptionForWin32Error(error, _currentPath);
-            }
-
-            return true;
-        }
-
-        private IntPtr CreateRelativeDirectoryHandle(ReadOnlySpan<char> relativePath, string fullPath)
-        {
-            // We don't have access to any APIs that allow us to pass in a base handle in UAP,
-            // just call our "normal" handle open.
-            return CreateDirectoryHandle(fullPath, ignoreNotFound: true);
-        }
-    }
-}
diff --git a/src/libraries/System.IO.FileSystem/src/System/IO/FileSystem.WinRT.cs b/src/libraries/System.IO.FileSystem/src/System/IO/FileSystem.WinRT.cs
deleted file mode 100644 (file)
index 7b3368a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.IO
-{
-    internal static partial class FileSystem
-    {
-        public static void Encrypt(string path)
-        {
-            throw new PlatformNotSupportedException(SR.PlatformNotSupported_FileEncryption);
-        }
-
-        public static void Decrypt(string path)
-        {
-            throw new PlatformNotSupportedException(SR.PlatformNotSupported_FileEncryption);
-        }
-    }
-}
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4dba471..7a9928d 100644 (file)
@@ -156,7 +156,6 @@ namespace System.IO.Tests
 
         [ConditionalTheory(nameof(UsingNewNormalization)),
             MemberData(nameof(ValidPathComponentNames))]
-        [ActiveIssue(20117, TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)]  // trailing slash
         public void ValidExtendedPathWithTrailingSlash(string component)
         {
@@ -234,7 +233,6 @@ namespace System.IO.Tests
         }
 
         [ConditionalFact(nameof(AreAllLongPathsAvailable))]
-        [ActiveIssue(20117, TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)]  // long directory path succeeds
         public void DirectoryLongerThanMaxPath_Succeeds()
         {
@@ -258,7 +256,6 @@ namespace System.IO.Tests
         }
 
         [ConditionalFact(nameof(LongPathsAreNotBlocked), nameof(UsingNewNormalization))]
-        [ActiveIssue(20117, TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)]
         public void DirectoryLongerThanMaxLongPathWithExtendedSyntax_ThrowsException()
         {
@@ -269,7 +266,6 @@ namespace System.IO.Tests
         }
 
         [ConditionalFact(nameof(LongPathsAreNotBlocked), nameof(UsingNewNormalization))]
-        [ActiveIssue(20117, TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)]  // long directory path with extended syntax succeeds
         public void ExtendedDirectoryLongerThanLegacyMaxPath_Succeeds()
         {
@@ -281,7 +277,6 @@ namespace System.IO.Tests
         }
 
         [ConditionalFact(nameof(AreAllLongPathsAvailable))]
-        [ActiveIssue(20117, TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)]  // long directory path succeeds
         public void DirectoryLongerThanMaxDirectoryAsPath_Succeeds()
         {
@@ -372,7 +367,6 @@ namespace System.IO.Tests
 
         [ConditionalTheory(nameof(UsingNewNormalization)),
             MemberData(nameof(SimpleWhiteSpace))]
-        [ActiveIssue(20117, TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)]  // extended syntax with whitespace
         public void WindowsExtendedSyntaxWhiteSpace(string path)
         {
@@ -423,7 +417,6 @@ namespace System.IO.Tests
 
         [ConditionalTheory(nameof(UsingNewNormalization)),
             MemberData(nameof(ReservedDeviceNames))]
-        [ActiveIssue(20117, TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)] // device name prefixes
         public void PathWithReservedDeviceNameAsExtendedPath(string path)
         {
@@ -447,7 +440,6 @@ namespace System.IO.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)] // drive labels
-        [ActiveIssue(20117, TargetFrameworkMonikers.Uap)]
         public void CDriveCase()
         {
             DirectoryInfo dir = Create("c:\\");
index ea32fe0..eb1dd44 100644 (file)
@@ -11,7 +11,6 @@ namespace System.IO.Tests
     public class EncryptDecrypt : FileSystemTest
     {
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "File encryption is not supported on this platform.")]
         public static void NullArg_ThrowsException()
         {
             AssertExtensions.Throws<ArgumentNullException>("path", () => File.Encrypt(null));
@@ -29,7 +28,6 @@ namespace System.IO.Tests
         // On Windows Nano Server and Home Edition, file encryption with File.Encrypt(string path) throws an IOException
         // because EFS (Encrypted File System), its underlying technology, is not available on these operating systems.
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer), nameof(PlatformDetection.IsNotWindowsHomeEdition))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "File encryption is not supported on this platform.")]
         [PlatformSpecific(TestPlatforms.Windows)]
         public static void EncryptDecrypt_Read()
         {
index d76af17..feeb6bc 100644 (file)
@@ -214,7 +214,6 @@ namespace System.IO.Tests
         [Theory]
         [InlineData(false, 10, 1024)]
         [InlineData(true, 10, 1024)]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public async Task NamedPipeViaFileStream_AllDataCopied(bool useAsync, int writeSize, int numWrites)
         {
             long totalLength = writeSize * numWrites;
@@ -253,7 +252,6 @@ namespace System.IO.Tests
         }
 
         [PlatformSpecific(TestPlatforms.Windows)] // Uses P/Invokes to create async pipe handle
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Out of current directory operation.")]
         [Fact]
         public async Task NamedPipeViaFileStream_CancellationRequested_OperationCanceled()
         {
index ecba663..1c610f3 100644 (file)
@@ -42,15 +42,12 @@ namespace System.IO.Tests
         [Fact]
         public void NameReturnsUnknownForHandle()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+            using (FileStream fs = new FileStream(GetTestFilePath(), FileMode.Create, FileAccess.ReadWrite))
+            using (FileStream fsh = new FileStream(fs.SafeFileHandle, FileAccess.ReadWrite))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                using (FileStream fs = new FileStream(GetTestFilePath(), FileMode.Create, FileAccess.ReadWrite))
-                using (FileStream fsh = new FileStream(fs.SafeFileHandle, FileAccess.ReadWrite))
-                {
-                    Assert.Equal("[Unknown]", fsh.Name);
-                }
-            }).Dispose();
+                Assert.Equal("[Unknown]", fsh.Name);
+            }
         }
     }
 }
index aa4c76d..f2f47e8 100644 (file)
@@ -24,7 +24,6 @@ namespace System.IO.Tests
         }
 
         [Fact]
-        [ActiveIssue(31909, TargetFrameworkMonikers.Uap)]
         public void InvalidAccess_Throws()
         {
             using (var handle = new SafeFileHandle(new IntPtr(1), ownsHandle: false))
@@ -34,7 +33,6 @@ namespace System.IO.Tests
         }
 
         [Fact]
-        [ActiveIssue(31909, TargetFrameworkMonikers.Uap)]
         public void InvalidAccess_DoesNotCloseHandle()
         {
             using (var handle = new SafeFileHandle(new IntPtr(1), ownsHandle: false))
index 3a45478..4574ca5 100644 (file)
@@ -23,7 +23,6 @@ namespace System.IO.Tests
         [Theory,
             InlineData(0),
             InlineData(-1)]
-        [ActiveIssue(31909, TargetFrameworkMonikers.Uap)]
         public void InvalidBufferSize_Throws(int size)
         {
             using (var handle = new SafeFileHandle(new IntPtr(1), ownsHandle: false))
@@ -33,7 +32,6 @@ namespace System.IO.Tests
         }
 
         [Fact]
-        [ActiveIssue(31909, TargetFrameworkMonikers.Uap)]
         public void InvalidBufferSize_DoesNotCloseHandle()
         {
             using (var handle = new SafeFileHandle(new IntPtr(1), ownsHandle: false))
index c3b562e..5671633 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Base\BaseGetSetAttributes.cs" />
     <Compile Include="File\EncryptDecrypt.cs" />
     <Compile Include="File\GetSetAttributesCommon.cs" />
     <Compile Include="File\Replace.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
-    <Compile Include="FileSystemTest.Unix.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
-    <Compile Include="FileSystemTest.Windows.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="File\AppendAsync.cs" />
-       <Compile Include="File\Move.netcoreapp.cs" />
+    <Compile Include="File\Move.netcoreapp.cs" />
     <Compile Include="File\ReadWriteAllLinesAsync.cs" />
     <Compile Include="File\ReadWriteAllBytesAsync.cs" />
     <Compile Include="File\ReadWriteAllTextAsync.cs" />
-       <Compile Include="FileInfo\MoveTo.netcoreapp.cs" />
+    <Compile Include="FileInfo\MoveTo.netcoreapp.cs" />
     <Compile Include="FileStream\DisposeAsync.netcoreapp.cs" />
     <Compile Include="FileStream\ReadWriteSpan.netcoreapp.cs" />
     <Compile Include="Enumeration\ConstructionTests.netcoreapp.cs" />
     <Compile Include="Enumeration\ExampleTests.netcoreapp.cs" />
     <Compile Include="Enumeration\RemovedDirectoryTests.netcoreapp.cs" />
   </ItemGroup>
+  <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
+    <Compile Include="FileSystemTest.Unix.cs" />
+  </ItemGroup>
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
+    <Compile Include="FileSystemTest.Windows.cs" />
+  </ItemGroup>
   <ItemGroup>
     <!-- Rewritten -->
     <Compile Include="DirectoryInfo\GetSetAttributes.cs" />
       <Link>Common\System\IO\PathFeatures.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUap)' == 'true'">
-    <Reference Include="mscorlib" />
-    <Reference Include="Windows" />
-  </ItemGroup>
 </Project>
\ No newline at end of file
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index faba197..f4d130c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.IsolatedStorage.cs" />
index e07dcd6..6a1e7c2 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>      
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b55d4f4..81251ab 100644 (file)
@@ -1,9 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <AssemblyName>System.IO.IsolatedStorage</AssemblyName>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
-  <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
     <Compile Include="System\IO\IsolatedStorage\IsolatedStorageException.cs" />
     <Compile Include="System\IO\IsolatedStorage\IsolatedStorageFile.cs" />
     <Compile Include="System\IO\IsolatedStorage\IsolatedStorage.cs" />
     <Compile Include="System\IO\IsolatedStorage\IsolatedStorageScope.cs" />
     <Compile Include="System\IO\IsolatedStorage\Helper.cs" />
+    <Compile Include="System\IO\IsolatedStorage\Helper.Win32Unix.cs" />
     <Compile Include="System\IO\IsolatedStorage\INormalizeForIsolatedStorage.cs" />
     <Compile Include="$(CommonPath)\System\Security\IdentityHelper.cs">
       <Link>Common\System\Security\IdentityHelper.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap'">
-    <Compile Include="System\IO\IsolatedStorage\Helper.Win32Unix.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap' AND '$(TargetsWindows)' == 'true'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="System\IO\IsolatedStorage\Helper.Win32.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap' AND '$(TargetsUnix)' == 'true'">
+  <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
     <Compile Include="System\IO\IsolatedStorage\Helper.Unix.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Compile Include="System\IO\IsolatedStorage\Helper.WinRT.cs" />
-  </ItemGroup>
   <ItemGroup>
     <Reference Include="System.Diagnostics.Debug" />
     <Reference Include="System.Diagnostics.Tools" />
     <Reference Include="System.Security.Cryptography.Primitives" />
     <Reference Include="System.Threading" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' AND '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Reference Include="System.IO.FileSystem.AccessControl" />
     <Reference Include="System.Security.AccessControl" />
     <Reference Include="System.Security.Principal.Windows" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Reference Include="mscorlib" />
-    <Reference Include="Windows" />
-  </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/src/libraries/System.IO.IsolatedStorage/src/System/IO/IsolatedStorage/Helper.WinRT.cs b/src/libraries/System.IO.IsolatedStorage/src/System/IO/IsolatedStorage/Helper.WinRT.cs
deleted file mode 100644 (file)
index bc7721d..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Security;
-using Windows.ApplicationModel;
-using Windows.Storage;
-
-namespace System.IO.IsolatedStorage
-{
-    internal static partial class Helper
-    {
-        internal static string GetDataDirectory(IsolatedStorageScope scope)
-        {
-            // This is the relevant special folder for the given scope plus "IsolatedStorage".
-            // It is meant to replicate the behavior of the VM ComIsolatedStorage::GetRootDir().
-
-            string dataDirectory = null;
-
-            if (IsMachine(scope))
-            {
-                // Getting the shared local folder isn't possible if the policy for
-                // "Allow a Windows app to share application data between users".
-                dataDirectory = ApplicationData.Current.SharedLocalFolder?.Path;
-
-                if (dataDirectory == null)
-                {
-                    throw new IsolatedStorageException(SR.IsolatedStorage_Scope_Invalid);
-                }
-            }
-            if (!IsRoaming(scope))
-            {
-                dataDirectory = ApplicationData.Current.LocalFolder.Path;
-            }
-            else
-            {
-                dataDirectory = ApplicationData.Current.RoamingFolder.Path;
-            }
-
-            dataDirectory = Path.Combine(dataDirectory, IsolatedStorageDirectoryName);
-
-            return dataDirectory;
-        }
-
-        internal static void CreateDirectory(string path, IsolatedStorageScope scope)
-        {
-            // ACL'ing isn't an issue in WinRT, just create it
-            Directory.CreateDirectory(path);
-        }
-
-        internal static void GetDefaultIdentityAndHash(out object identity, out string hash, char separator)
-        {
-            // WinRT creates an ApplicationSecurityInfo off of the AppDomain.CurrentDomain.ActivationContext.
-            // Evidence is built as follows:
-            //
-            //   StrongName <- ApplicationId.PublicKeyToken/Name/Version
-            //   Url <- ApplicationContext.Identity.CodeBase
-            //   Zone <- Zone.CreateFromUrl(Url)
-            //   Site <- Site.CreateFromUrl(Url) *if* not file://
-
-            // TODO: https://github.com/dotnet/corefx/issues/11123
-            // When we have Assembly.GetEntryAssembly() we can utilize it to get the AssemblyName and
-            // Codebase to unify the logic. For now we'll use installed location from the package.
-            Uri codeBase = new Uri(Package.Current.InstalledLocation.Path);
-
-            hash = IdentityHelper.GetNormalizedUriHash(codeBase);
-            hash = "Url" + separator + hash;
-            identity = codeBase;
-        }
-
-        internal static string GetRandomDirectory(string rootDirectory, IsolatedStorageScope scope)
-        {
-            // We didn't create random directories for UAP/UWP in the past. As the root locations are
-            // scoped beneath app isolated folders we don't need the extra layer of obfuscation.
-            return rootDirectory;
-        }
-    }
-}
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3c1228b..2f7a8dd 100644 (file)
@@ -1,33 +1,28 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
+  <ItemGroup>
     <Compile Include="System\IO\IsolatedStorage\IdentityTests.cs" />
     <Compile Include="System\IO\IsolatedStorage\IsolatedStorageBaseClassTests.cs" />
     <Compile Include="System\IO\IsolatedStorage\IsolatedStorageFileStreamTests.netcoreapp.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUap)' != 'true'">
+  <ItemGroup>
     <Compile Include="..\src\System\IO\IsolatedStorage\Helper.Win32Unix.cs">
       <Link>Internals\Helper.Win32Unix.cs</Link>
     </Compile>
     <Compile Include="System\IO\IsolatedStorage\HelperTests.Win32Unix.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUap)' != 'true' AND '$(TargetsWindows)' == 'true'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="..\src\System\IO\IsolatedStorage\Helper.Win32.cs">
       <Link>Internals\Helper.Win32.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUap)' != 'true' AND '$(TargetsUnix)' == 'true'">
+  <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
     <Compile Include="..\src\System\IO\IsolatedStorage\Helper.Unix.cs">
       <Link>Internals\Helper.Unix.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUap)' == 'true'">
-    <Compile Include="..\src\System\IO\IsolatedStorage\Helper.WinRT.cs">
-      <Link>Internals\Helper.WinRT.cs</Link>
-    </Compile>
-  </ItemGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\IO\TempDirectory.cs">
       <Link>Common\System\IO\TempDirectory.cs</Link>
@@ -64,8 +59,4 @@
     <Compile Include="System\IO\IsolatedStorage\TestHelper.cs" />
     <Compile Include="System\IO\IsolatedStorage\RemoveTests.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUap)' == 'true'">
-    <Reference Include="mscorlib" />
-    <Reference Include="Windows" />
-  </ItemGroup>
 </Project>
\ No newline at end of file
index ca480eb..9fc57a6 100644 (file)
@@ -10,7 +10,6 @@ namespace System.IO.IsolatedStorage.Tests
     public partial class HelperTests
     {
         [Fact]
-        [ActiveIssue(18940, TargetFrameworkMonikers.Uap)]
         public void GetDefaultIdentityAndHash()
         {
             object identity;
@@ -39,7 +38,6 @@ namespace System.IO.IsolatedStorage.Tests
             InlineData(IsolatedStorageScope.Assembly | IsolatedStorageScope.Roaming),
             InlineData(IsolatedStorageScope.Machine)
             ]
-        [ActiveIssue(18940, TargetFrameworkMonikers.Uap)]
         public void GetDataDirectory(IsolatedStorageScope scope)
         {
             // Machine scope is behind a policy that isn't enabled by default
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e20a4a5..57602e1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.MemoryMappedFiles.cs" />
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4f42425..5268bd7 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.IO.MemoryMappedFiles</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <!-- Compiled Source Files -->
   <ItemGroup>
     <Compile Include="System\IO\MemoryMappedFiles\MemoryMappedViewStream.cs" />
     <Compile Include="System\IO\MemoryMappedFiles\MemoryMappedFileRights.cs" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetGroup)' == 'uap'">
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CreateFileMappingFromApp.cs">
-      <Link>Common\Interop\Windows\Interop.CreateFileMappingFromApp.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.MapViewOfFileFromApp.cs">
-      <Link>Common\Interop\Windows\Interop.MapViewOfFileFromApp.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Mincore\Interop.OpenFileMappingFromApp.cs">
-      <Link>Common\Interop\Windows\Interop.OpenFileMappingFromApp.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Mincore\Interop.VirtualAllocFromApp.cs">
-      <Link>Common\Interop\Windows\Interop.VirtualAllocFromApp.cs</Link>
-    </Compile>
-    <Compile Include="System\IO\MemoryMappedFiles\Interop.Windows.Uap.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="System\IO\MemoryMappedFiles\Interop.Windows.cs" />
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CreateFileMapping.cs">
       <Link>Common\Interop\Windows\Interop.CreateFileMapping.cs</Link>
@@ -44,8 +29,6 @@
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.VirtualAlloc.cs">
       <Link>Common\Interop\Windows\Interop.VirtualAlloc.cs</Link>
     </Compile>
-  </ItemGroup>
-  <ItemGroup Condition=" '$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.GlobalMemoryStatusEx.cs">
       <Link>Common\Interop\Windows\Interop.GlobalMemoryStatusEx.cs</Link>
     </Compile>
diff --git a/src/libraries/System.IO.MemoryMappedFiles/src/System/IO/MemoryMappedFiles/Interop.Windows.Uap.cs b/src/libraries/System.IO.MemoryMappedFiles/src/System/IO/MemoryMappedFiles/Interop.Windows.Uap.cs
deleted file mode 100644 (file)
index 3a9e3f3..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Win32.SafeHandles;
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-
-internal partial class Interop
-{
-    public static void CheckForAvailableVirtualMemory(ulong nativeSize)
-    {
-        // this cannot be implemented on UAP because we cannot get the total
-        // available Virtual Memory.
-    }
-
-    public static SafeMemoryMappedFileHandle CreateFileMapping(
-            SafeFileHandle hFile,
-            ref Kernel32.SECURITY_ATTRIBUTES securityAttributes,
-            int pageProtection,
-            long maximumSize,
-            string name)
-    {
-        return Interop.Kernel32.CreateFileMappingFromApp(hFile, ref securityAttributes, pageProtection, maximumSize, name);
-    }
-
-    public static SafeMemoryMappedFileHandle CreateFileMapping(
-            IntPtr hFile,
-            ref Kernel32.SECURITY_ATTRIBUTES securityAttributes,
-            int pageProtection,
-            long maximumSize,
-            string name)
-    {
-        return Interop.Kernel32.CreateFileMappingFromApp(hFile, ref securityAttributes, pageProtection, maximumSize, name);
-    }
-
-    public static SafeMemoryMappedViewHandle MapViewOfFile(
-            SafeMemoryMappedFileHandle hFileMappingObject,
-            int desiredAccess,
-            long fileOffset,
-            UIntPtr numberOfBytesToMap)
-    {
-        return Interop.Kernel32.MapViewOfFileFromApp(hFileMappingObject, desiredAccess, fileOffset, numberOfBytesToMap);
-    }
-    public static SafeMemoryMappedFileHandle OpenFileMapping(
-            int desiredAccess,
-            bool inheritHandle,
-            string name)
-    {
-        return Interop.mincore.OpenFileMappingFromApp(desiredAccess, inheritHandle, name);
-    }
-    public static IntPtr VirtualAlloc(
-            SafeHandle baseAddress,
-            UIntPtr size,
-            int allocationType,
-            int protection)
-    {
-        return Interop.mincore.VirtualAllocFromApp(baseAddress, size, allocationType, protection);
-    }
-}
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4e33818..9a42307 100644 (file)
@@ -78,7 +78,7 @@ namespace System.IO.MemoryMappedFiles.Tests
         public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess)
         {
             const int Capacity = 4096;
-            AssertExtensions.ThrowsIf<IOException>(PlatformDetection.IsUap && mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute,
+            AssertExtensions.ThrowsIf<IOException>(PlatformDetection.IsInAppContainer && mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute,
             () =>
             {
                 try
@@ -125,7 +125,6 @@ namespace System.IO.MemoryMappedFiles.Tests
         [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.ReadWriteExecute)]
         [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWriteExecute)]
         [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.ReadWriteExecute)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Windows API returns IO exception error code when viewAccess is ReadWriteExecute")]
         public void InvalidAccessLevels_ReadWrite_NonUwp(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess)
         {
             const int Capacity = 4096;
@@ -135,21 +134,6 @@ namespace System.IO.MemoryMappedFiles.Tests
             }
         }
 
-        [Theory]
-        [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadWriteExecute)]
-        [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.ReadWriteExecute)]
-        [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWriteExecute)]
-        [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.ReadWriteExecute)]
-        [SkipOnTargetFramework(~TargetFrameworkMonikers.Uap, "Windows API returns IO exception error code when viewAccess is ReadWriteExecute")]
-        public void InvalidAccessLevels_ReadWrite_Uwp(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess)
-        {
-            const int Capacity = 4096;
-            using (MemoryMappedFile mmf = MemoryMappedFile.CreateNew(null, Capacity, mapAccess))
-            {
-                Assert.Throws<IOException>(() => mmf.CreateViewAccessor(0, Capacity, viewAccess));
-            }
-        }
-
         /// <summary>
         /// Test to verify the accessor's PointerOffset.
         /// </summary>
index 21e1b0f..1291591 100644 (file)
@@ -78,7 +78,7 @@ namespace System.IO.MemoryMappedFiles.Tests
         public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess)
         {
             const int Capacity = 4096;
-            AssertExtensions.ThrowsIf<IOException>(PlatformDetection.IsUap && mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute,
+            AssertExtensions.ThrowsIf<IOException>(PlatformDetection.IsInAppContainer && mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute,
             () =>
             {
                 try
@@ -125,7 +125,6 @@ namespace System.IO.MemoryMappedFiles.Tests
         [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWriteExecute)]
         [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.ReadWriteExecute)]
         [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadWriteExecute)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Windows API returns IO exception error code when viewAccess is ReadWriteExecute")]
         public void InvalidAccessLevels_ReadWriteExecute_NonUwp(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess)
         {
             const int Capacity = 4096;
@@ -135,21 +134,6 @@ namespace System.IO.MemoryMappedFiles.Tests
             }
         }
 
-        [Theory]
-        [InlineData(MemoryMappedFileAccess.Read, MemoryMappedFileAccess.ReadWriteExecute)]
-        [InlineData(MemoryMappedFileAccess.ReadWrite, MemoryMappedFileAccess.ReadWriteExecute)]
-        [InlineData(MemoryMappedFileAccess.CopyOnWrite, MemoryMappedFileAccess.ReadWriteExecute)]
-        [InlineData(MemoryMappedFileAccess.ReadExecute, MemoryMappedFileAccess.ReadWriteExecute)]
-        [SkipOnTargetFramework(~TargetFrameworkMonikers.Uap, "Windows API returns IO exception error code when viewAccess is ReadWriteExecute")]
-        public void InvalidAccessLevels_ReadWriteExecute_Uwp(MemoryMappedFileAccess mapAccess, MemoryMappedFileAccess viewAccess)
-        {
-            const int Capacity = 4096;
-            using (MemoryMappedFile mmf = MemoryMappedFile.CreateNew(null, Capacity, mapAccess))
-            {
-                Assert.Throws<IOException>(() => mmf.CreateViewStream(0, Capacity, viewAccess));
-            }
-        }
-
         /// <summary>
         /// Test to verify that setting the length of the stream is unsupported.
         /// </summary>
index a7fe298..f39191b 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="MemoryMappedFile.CreateFromFile.Tests.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index cf3f0d8..3afc95a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Tests.cs" />
index 1557ce9..44c7ab5 100644 (file)
@@ -3677,7 +3677,6 @@ namespace System.IO.Packaging.Tests
 
         [Fact]
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Desktop doesn't support Package.Open with FileAccess.Write")]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Can't write to FileSystem in UAP")]
         public void ZipPackage_CreateWithFileAccessWrite()
         {
             string packageName = "test.zip";
index ca41626..7538cfb 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 1be48a6..76efb2d 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <!-- Some internal types are needed, so we reference the implementation assembly, rather than the reference assembly. -->
index ebeb74d..9b21453 100644 (file)
@@ -5,6 +5,5 @@
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
     <IsNETCoreAppRef>false</IsNETCoreAppRef>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e97617a..805bd98 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 9b93228..664f982 100644 (file)
@@ -5,7 +5,7 @@
     <IsPartialFacadeAssembly Condition="'$(TargetsWindows)' == 'true'">true</IsPartialFacadeAssembly>
     <OmitResources Condition="'$(TargetsWindows)' == 'true'">true</OmitResources>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsWindows)' != 'true'">SR.PlatformNotSupported_AccessControl</GeneratePlatformNotSupportedAssemblyMessage>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Runtime" />
index e6bf0ee..d594d8a 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 684e067..369ae26 100644 (file)
@@ -28,7 +28,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void SetAccessControl_NamedPipeStream()
         {
             string pipeName = GetUniquePipeName();
@@ -60,7 +59,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void SetAccessControl_NamedPipeStream_ClientDisposed()
         {
             string pipeName = GetUniquePipeName();
@@ -81,7 +79,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void SetAccessControl_NamedPipeStream_ClientHandleClosed()
         {
             string pipeName = GetUniquePipeName();
@@ -102,7 +99,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void SetAccessControl_NamedPipeStream_ServerDisconnected()
         {
             string pipeName = GetUniquePipeName();
@@ -123,7 +119,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void SetAccessControl_NamedPipeStream_ServerDisposed()
         {
             string pipeName = GetUniquePipeName();
@@ -144,7 +139,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void SetAccessControl_NamedPipeStream_ServerHandleClosed()
         {
             string pipeName = GetUniquePipeName();
index 33bb997..011207c 100644 (file)
@@ -15,7 +15,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void GetAccessControl_DisposedStream()
         {
             using (var pair = CreateServerClientPair())
@@ -29,7 +28,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void GetAccessControl_ConnectedStream()
         {
             using (var pair = CreateServerClientPair())
@@ -46,7 +44,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void SetAccessControl_NullPipeSecurity()
         {
             using (var pair = CreateServerClientPair())
@@ -62,7 +59,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void SetAccessControl_DisposedStream()
         {
             using (var pair = CreateServerClientPair())
@@ -76,7 +72,6 @@ namespace System.IO.Pipes.Tests
         }
 
         [Fact]
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public void SetAccessControl_ConnectedStream()
         {
             using (var pair = CreateServerClientPair())
index ed7c594..ccc371e 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <AssembliesBeingTested Include="System.IO.Pipes" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e21b1e6..3ded1bf 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.Pipes.cs" />
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 298bcfc..1161eed 100644 (file)
@@ -2,9 +2,8 @@
   <PropertyGroup>
     <AssemblyName>System.IO.Pipes</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <DefineConstants>$(DefineConstants)</DefineConstants>
     <OmitTransitiveCompileReferences>true</OmitTransitiveCompileReferences>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <!-- Compiled Source Files -->
   <ItemGroup>
     <Compile Include="System\IO\Pipes\ReadWriteCompletionSource.cs" />
   </ItemGroup>
   <!-- Windows : Win32 only -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CreateNamedPipeClient.cs">
       <Link>Common\Interop\Windows\Interop.CreateNamedPipeClient.cs</Link>
     </Compile>
     </Compile>
     <Compile Include="System\IO\Pipes\NamedPipeServerStream.Win32.cs" />
   </ItemGroup>
-  <!-- Windows : UAP - Win32 + WinRT -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetGroup)' == 'uap'">
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CreateNamedPipeClient.Uap.cs">
-      <Link>Common\Interop\Windows\Interop.CreateNamedPipeClient.Uap.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CREATEFILE2_EXTENDED_PARAMETERS.cs">
-      <Link>Common\Interop\Windows\Interop.CREATEFILE2_EXTENDED_PARAMETERS.cs</Link>
-    </Compile>
-    <Compile Include="System\IO\Pipes\NamedPipeServerStream.Uap.cs" />
-  </ItemGroup>
   <ItemGroup Condition=" '$(TargetsUnix)' == 'true' ">
     <Compile Include="Microsoft\Win32\SafeHandles\SafePipeHandle.Unix.cs" />
     <Compile Include="System\IO\Pipes\AnonymousPipeServerStream.Unix.cs" />
diff --git a/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Uap.cs b/src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Uap.cs
deleted file mode 100644 (file)
index 905e007..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Runtime.InteropServices;
-
-namespace System.IO.Pipes
-{
-    /// <summary>
-    /// Named pipe server
-    /// </summary>
-    public sealed partial class NamedPipeServerStream : PipeStream
-    {
-        // Depending on the Windows platform, we will try to reload a potentially missing DLL
-        // and reattempt the retrieval of the impersonation username.
-        private unsafe string HandleGetImpersonationUserNameError(int error, uint userNameMaxLength, char* userName)
-        {
-            // UAP does not allow calling LoadLibraryEx to try to load sspicli.dll like
-            // in Win32, so we won't retry and will directly throw the passed error.
-            throw WinIOError(error);
-        }
-    }
-}
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/src/libraries/System.IO.Pipes/tests/InteropTest.Windows.Uap.cs b/src/libraries/System.IO.Pipes/tests/InteropTest.Windows.Uap.cs
deleted file mode 100644 (file)
index 4cdb815..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Win32.SafeHandles;
-
-namespace System.IO.Pipes.Tests
-{
-    /// <summary>
-    /// The class contains interop declarations and helpers methods for them.
-    /// </summary>
-    internal static partial class InteropTest
-    {
-        private static unsafe bool TryHandleGetImpersonationUserNameError(SafePipeHandle handle, int error, uint userNameMaxLength, char* userName, out string impersonationUserName)
-        {
-            // Uap does not allow loading libraries
-            impersonationUserName = string.Empty;
-            return false;
-        }
-    }
-}
index c9f657c..63b3a35 100644 (file)
@@ -12,7 +12,6 @@ using Xunit;
 
 namespace System.IO.Pipes.Tests
 {
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public sealed class NamedPipeTest_CrossProcess
     {
         [Fact]
index 17c040e..41d9467 100644 (file)
@@ -8,7 +8,6 @@ using Xunit;
 
 namespace System.IO.Pipes.Tests
 {
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Read_ServerOut_ClientIn : PipeTest_Read
     {
         protected override ServerClientPair CreateServerClientPair()
@@ -28,7 +27,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Read_ServerIn_ClientOut : PipeTest_Read
     {
         protected override ServerClientPair CreateServerClientPair()
@@ -48,7 +46,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Read_ServerInOut_ClientInOut : PipeTest_Read
     {
         protected override ServerClientPair CreateServerClientPair()
@@ -70,7 +67,6 @@ namespace System.IO.Pipes.Tests
         public override bool SupportsBidirectionalReadingWriting => true;
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Read_ServerInOut_ClientInOut_APMWaitForConnection : PipeTest_Read
     {
         protected override ServerClientPair CreateServerClientPair()
index 548eb67..e0ad250 100644 (file)
@@ -20,7 +20,6 @@ namespace System.IO.Pipes.Tests
         [InlineData(TokenImpersonationLevel.Impersonation)]
         [InlineData(TokenImpersonationLevel.Delegation)]
         [PlatformSpecific(TestPlatforms.Windows)]  // Uses P/Invokes
-        [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
         public async Task RunAsClient_Windows(TokenImpersonationLevel tokenImpersonationLevel)
         {
             string pipeName = GetUniquePipeName();
index 8c0f430..3cc56a9 100644 (file)
@@ -752,7 +752,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Simple_ServerInOutRead_ClientInOutWrite : NamedPipeTest_Simple
     {
         protected override NamedPipePair CreateNamedPipePair(PipeOptions serverOptions, PipeOptions clientOptions)
@@ -766,7 +765,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Simple_ServerInOutWrite_ClientInOutRead : NamedPipeTest_Simple
     {
         protected override NamedPipePair CreateNamedPipePair(PipeOptions serverOptions, PipeOptions clientOptions)
@@ -780,7 +778,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Simple_ServerInOut_ClientIn : NamedPipeTest_Simple
     {
         protected override NamedPipePair CreateNamedPipePair(PipeOptions serverOptions, PipeOptions clientOptions)
@@ -794,7 +791,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Simple_ServerInOut_ClientOut : NamedPipeTest_Simple
     {
         protected override NamedPipePair CreateNamedPipePair(PipeOptions serverOptions, PipeOptions clientOptions)
@@ -808,7 +804,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Simple_ServerOut_ClientIn : NamedPipeTest_Simple
     {
         protected override NamedPipePair CreateNamedPipePair(PipeOptions serverOptions, PipeOptions clientOptions)
@@ -822,7 +817,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Simple_ServerIn_ClientOut : NamedPipeTest_Simple
     {
         protected override NamedPipePair CreateNamedPipePair(PipeOptions serverOptions, PipeOptions clientOptions)
index c651bb7..24ffeca 100644 (file)
@@ -16,7 +16,6 @@ namespace System.IO.Pipes.Tests
     /// The Specific NamedPipe tests cover edge cases or otherwise narrow cases that
     /// show up within particular server/client directional combinations.
     /// </summary>
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Specific : NamedPipeTestBase
     {
         [Fact]
index b6a42f2..c2aae08 100644 (file)
@@ -8,7 +8,6 @@ using Xunit;
 
 namespace System.IO.Pipes.Tests
 {
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Write_ServerOut_ClientIn : PipeTest_Write
     {
         protected override ServerClientPair CreateServerClientPair()
@@ -28,7 +27,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Write_ServerIn_ClientOut : PipeTest_Write
     {
         protected override ServerClientPair CreateServerClientPair()
@@ -48,7 +46,6 @@ namespace System.IO.Pipes.Tests
         }
     }
 
-    [ActiveIssue(22271, TargetFrameworkMonikers.Uap)]
     public class NamedPipeTest_Write_ServerInOut_ClientInOut : PipeTest_Write
     {
         protected override ServerClientPair CreateServerClientPair()
index 696b029..edb6109 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AnonymousPipeTests\AnonymousPipeTest.CreateServer.cs" />
@@ -30,7 +30,7 @@
       <Link>Common\System\Threading\Tasks\TaskTimeoutExtensions.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetsWindows)' == 'true'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\CoreLib\Interop\Windows\Kernel32\Interop.CancelIoEx.cs">
       <Link>Common\CoreLib\Interop\Windows\Interop.CancelIoEx.cs</Link>
     </Compile>
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.MaxLengths.cs">
       <Link>Common\Interop\Windows\Interop.MaxLengths.cs</Link>
     </Compile>
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="NamedPipeTests\NamedPipeTest.CurrentUserOnly.netcoreapp.cs" />
     <Compile Include="PipeTest.Read.netcoreapp.cs" />
     <Compile Include="PipeTest.Write.netcoreapp.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' and '$(TargetsWindows)' == 'true'">
     <Compile Include="NamedPipeTests\NamedPipeTest.CurrentUserOnly.netcoreapp.Windows.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' and '$(TargetsUnix)' == 'true'">
-    <Compile Include="NamedPipeTests\NamedPipeTest.CurrentUserOnly.netcoreapp.Unix.cs" />
-    <Compile Include="NamedPipeTests\NamedPipeTest.UnixDomainSockets.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="InteropTest.Windows.cs" />
     <Compile Include="NamedPipeTests\NamedPipeTest.RunAsClient.Windows.cs" />
-  </ItemGroup>
-  <!-- Windows: Win32 only -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetsUap)' != 'true'">
     <Compile Include="InteropTest.Windows.Win32.cs" />
   </ItemGroup>
-  <!-- Windows: UAP - Win32 + WinRT -->
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetsUap)' == 'true'">
-    <Compile Include="InteropTest.Windows.Uap.cs" />
-  </ItemGroup>
   <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
+    <Compile Include="NamedPipeTests\NamedPipeTest.CurrentUserOnly.netcoreapp.Unix.cs" />
+    <Compile Include="NamedPipeTests\NamedPipeTest.UnixDomainSockets.cs" />
     <Compile Include="InteropTest.Unix.cs" />
     <Compile Include="NamedPipeTests\NamedPipeTest.RunAsClient.Unix.cs" />
     <Compile Include="NativeOverlapped.unix.cs" />
index e275cad..c63e87e 100644 (file)
@@ -3,6 +3,5 @@
   <PropertyGroup>
     <AssemblyVersion>4.0.2.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 016a95d..1383160 100644 (file)
@@ -9,7 +9,6 @@
     </PackageConfigurations>
     <BuildConfigurations>
       $(PackageConfigurations)
-      uap-Windows_NT;
       netfx-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
index 79097d6..1584a2d 100644 (file)
@@ -5,9 +5,8 @@
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard' AND '$(TargetsWindows)' != 'true' AND '$(TargetsLinux)' != 'true' AND '$(TargetsOSX)' != 'true'">SR.PlatformNotSupported_IOPorts</GeneratePlatformNotSupportedAssemblyMessage>
     <DefineConstants>$(DefineConstants);NOSPAN</DefineConstants>
     <IncludeDllSafeSearchPathAttribute>true</IncludeDllSafeSearchPathAttribute>
-    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Linux-Debug;netstandard-Linux-Release;netstandard-OSX-Debug;netstandard-OSX-Release;netstandard-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Linux-Debug;netstandard-Linux-Release;netstandard-OSX-Debug;netstandard-OSX-Release;netstandard-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release</Configurations>
   </PropertyGroup>
-  <!-- Default configurations to help VS understand the options -->
   <ItemGroup Condition="'$(TargetsNetFx)' != 'true' AND ('$(TargetsWindows)' == 'true' OR '$(TargetsLinux)' == 'true' OR '$(TargetsOSX)' == 'true')">
     <Compile Include="System\IO\Ports\Handshake.cs" />
     <Compile Include="System\IO\Ports\InternalResources.cs" />
       <Link>Common\CoreLib\Interop\Windows\Interop.FormatMessage.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Compile Include="$(CommonPath)\Interop\Windows\Mincore\Interop.OpenCommPort.cs">
-      <Link>Common\Interop\Windows\Mincore\Interop.OpenCommPort.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.FileOperations.cs">
-      <Link>Common\Interop\Windows\Kernel32\Interop.FileOperations.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Mincore\Interop.GetCommPorts.cs">
-      <Link>Common\Interop\Windows\Mincore\Interop.GetCommPorts.cs</Link>
-    </Compile>
-    <Compile Include="System\IO\Ports\SerialPort.Uap.cs" />
-    <Compile Include="System\IO\Ports\SerialStream.Uap.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap' and '$(TargetsNetFx)' != 'true' and '$(TargetsWindows)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetFx)' != 'true' and '$(TargetsWindows)' == 'true'">
     <Compile Include="System\IO\Ports\SerialPort.Win32.cs" />
     <Compile Include="System\IO\Ports\SerialStream.Win32.cs" />
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CreateFile.cs">
     <Reference Include="System.Memory" />
     <Reference Include="System.Threading.Tasks" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Reference Include="Microsoft.Win32.Primitives" />
-    <Reference Include="System.ComponentModel.Primitives" />
-    <Reference Include="System.Diagnostics.Debug" />
-    <Reference Include="System.Diagnostics.Tools" />
-    <Reference Include="System.Resources.ResourceManager" />
-    <Reference Include="System.Runtime" />
-    <Reference Include="System.Runtime.Extensions" />
-    <Reference Include="System.Runtime.InteropServices" />
-    <Reference Include="System.Text.Encoding.Extensions" />
-    <Reference Include="System.Threading" />
-    <Reference Include="System.Threading.Overlapped" />
-    <Reference Include="System.Threading.Thread" />
-    <Reference Include="System.Threading.ThreadPool" />
-  </ItemGroup>
   <ItemGroup Condition="'$(TargetsLinux)' == 'true' OR '$(TargetsOSX)' == 'true'">
     <Reference Include="Microsoft.Win32.Primitives" />
     <Reference Include="System.Collections" />
diff --git a/src/libraries/System.IO.Ports/src/System/IO/Ports/SerialPort.Uap.cs b/src/libraries/System.IO.Ports/src/System/IO/Ports/SerialPort.Uap.cs
deleted file mode 100644 (file)
index a957010..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.ComponentModel;
-
-namespace System.IO.Ports
-{
-    public partial class SerialPort : Component
-    {
-        public static string[] GetPortNames()
-        {
-            Span<uint> portNumbers = stackalloc uint[16];
-            uint portNumbersFound;
-            int error;
-
-            try
-            {
-                error = Interop.mincore.GetCommPorts(portNumbers, out portNumbersFound);
-            }
-            catch (Exception e) when (e is EntryPointNotFoundException || e is DllNotFoundException)
-            {
-                throw new PlatformNotSupportedException(System.SR.PlatformNotSupported_SerialPort_GetPortNames);
-            }
-
-            while (error == Interop.Errors.ERROR_MORE_DATA)
-            {
-                portNumbers = new uint[portNumbersFound];
-                error = Interop.mincore.GetCommPorts(portNumbers, out portNumbersFound);
-            }
-
-            if (error != Interop.Errors.ERROR_SUCCESS)
-            {
-                // Try to match general behavior of Fx: return empty array for failures.
-                return Array.Empty<string>();
-            }
-
-            var portNames = new string[portNumbersFound];
-            for (int i = 0; i < portNumbersFound; ++i)
-            {
-                portNames[i] = "COM" + portNumbers[i].ToString();
-            }
-
-            return portNames;
-        }
-    }
-}
diff --git a/src/libraries/System.IO.Ports/src/System/IO/Ports/SerialStream.Uap.cs b/src/libraries/System.IO.Ports/src/System/IO/Ports/SerialStream.Uap.cs
deleted file mode 100644 (file)
index cb0dc59..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Win32.SafeHandles;
-
-namespace System.IO.Ports
-{
-    internal sealed partial class SerialStream
-    {
-        public SafeFileHandle OpenPort(uint portNumber)
-        {
-            return Interop.mincore.OpenCommPort(
-                portNumber,
-                Interop.Kernel32.GenericOperations.GENERIC_READ | Interop.Kernel32.GenericOperations.GENERIC_WRITE,
-                Interop.Kernel32.FileOperations.FILE_FLAG_OVERLAPPED);
-        }
-    }
-}
index abbc781..b7e6c2c 100644 (file)
@@ -5,7 +5,6 @@
       netcoreapp-Linux;
       netcoreapp-OSX;
       netfx;
-      uap-Windows_NT
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index d1f5a3a..0820195 100644 (file)
@@ -31,7 +31,6 @@ namespace System.IO.Ports.Tests
         /// </summary>
         // This test requires access, via reflection, to internal type SerialStream and respective methods GetDcbFlag and
         // SetDcbFlag, however, that requires either changes to the public type (increasing its size) or to the test itself.
-        [ActiveIssue("https://github.com/dotnet/corefx/issues/23234", TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)] // depends on Windows implementation detail
         [ConditionalFact(nameof(HasOneSerialPort))]
         public void AbortOnErrorShouldBeClearedOnOpen()
index 290463f..cae9276 100644 (file)
@@ -20,7 +20,6 @@ namespace System.IO.Ports.Tests
         /// Check that all ports either open correctly or fail with UnauthorizedAccessException (which implies they're already open)
         /// </summary>
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
-        [OuterLoop] // Occasionally flaky on UAP: https://github.com/dotnet/corefx/issues/32077
         public void OpenEveryPortName()
         {
             foreach (string portName in SerialPort.GetPortNames())
index 501d547..64bbd35 100644 (file)
@@ -13,7 +13,6 @@ namespace System.IO.Ports.Tests
     public class OpenDevices : PortsTest
     {
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // ActiveIssue: https://github.com/dotnet/corefx/issues/29756
-        [ActiveIssue("https://github.com/dotnet/corefx/issues/23294", TargetFrameworkMonikers.Uap)]
         public void OpenDevices01()
         {
             DosDevices dosDevices = new DosDevices();
index dfeaf34..f3ba015 100644 (file)
@@ -27,7 +27,7 @@ namespace Legacy.Support
                 return SerialPort.GetPortNames();
             }
 
-            if (PlatformDetection.IsUap)
+            if (PlatformDetection.IsInAppContainer)
             {
                 // On UAP it is not possible to call QueryDosDevice, so use HARDWARE\DEVICEMAP\SERIALCOMM on the registry
                 // to get this information. The UAP code uses the GetCommPorts API to retrieve the same information.
index 294d58c..d65df94 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Debug;netfx-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AssemblyInfo.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3f96839..1621790 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.UnmanagedMemoryStream.cs" />
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 79a08b8..b11d028 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.IO.UnmanagedMemoryStream</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index d0d64af..bb87e58 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f51b641..82919c6 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.IO.Manual.cs" />
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index fe7376f..fc4390d 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.IO</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5530f98..cd9bd9d 100644 (file)
@@ -295,25 +295,22 @@ namespace System.IO.Tests
         [Fact]
         public static void TestWriteMisc()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-US")) // floating-point formatting comparison depends on culture
             {
-                using (new ThreadCultureChange("en-US")) // floating-point formatting comparison depends on culture
-                {
-                    var sw = new StringWriter();
-
-                    sw.Write(true);
-                    sw.Write((char)'a');
-                    sw.Write(new decimal(1234.01));
-                    sw.Write((double)3452342.01);
-                    sw.Write((int)23456);
-                    sw.Write((long)long.MinValue);
-                    sw.Write((float)1234.50f);
-                    sw.Write((uint)uint.MaxValue);
-                    sw.Write((ulong)ulong.MaxValue);
-
-                    Assert.Equal("Truea1234.013452342.0123456-92233720368547758081234.5429496729518446744073709551615", sw.ToString());
-                }
-            }).Dispose();
+                var sw = new StringWriter();
+
+                sw.Write(true);
+                sw.Write((char)'a');
+                sw.Write(new decimal(1234.01));
+                sw.Write((double)3452342.01);
+                sw.Write((int)23456);
+                sw.Write((long)long.MinValue);
+                sw.Write((float)1234.50f);
+                sw.Write((uint)uint.MaxValue);
+                sw.Write((ulong)ulong.MaxValue);
+
+                Assert.Equal("Truea1234.013452342.0123456-92233720368547758081234.5429496729518446744073709551615", sw.ToString());
+            }
         }
 
         [Fact]
@@ -327,24 +324,21 @@ namespace System.IO.Tests
         [Fact]
         public static void TestWriteLineMisc()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-US")) // floating-point formatting comparison depends on culture
             {
-                using (new ThreadCultureChange("en-US")) // floating-point formatting comparison depends on culture
-                {
-                    var sw = new StringWriter();
-                    sw.WriteLine((bool)false);
-                    sw.WriteLine((char)'B');
-                    sw.WriteLine((int)987);
-                    sw.WriteLine((long)875634);
-                    sw.WriteLine((float)1.23457f);
-                    sw.WriteLine((uint)45634563);
-                    sw.WriteLine((ulong.MaxValue));
-
-                    Assert.Equal(
-                        string.Format("False{0}B{0}987{0}875634{0}1.23457{0}45634563{0}18446744073709551615{0}", Environment.NewLine),
-                        sw.ToString());
-                }
-            }).Dispose();
+                var sw = new StringWriter();
+                sw.WriteLine((bool)false);
+                sw.WriteLine((char)'B');
+                sw.WriteLine((int)987);
+                sw.WriteLine((long)875634);
+                sw.WriteLine((float)1.23457f);
+                sw.WriteLine((uint)45634563);
+                sw.WriteLine((ulong.MaxValue));
+
+                Assert.Equal(
+                    string.Format("False{0}B{0}987{0}875634{0}1.23457{0}45634563{0}18446744073709551615{0}", Environment.NewLine),
+                    sw.ToString());
+            }
         }
 
         [Fact]
index a0b3704..c493dd4 100644 (file)
@@ -4,7 +4,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="BinaryReader\BinaryReaderTests.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 7ebceef..e50aa0b 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Json\JsonArrayTests.cs" />
index a35ecfb..fd46114 100644 (file)
@@ -275,16 +275,13 @@ namespace System.Json.Tests
         [InlineData("0.000000000000000000000000000011", 1.1E-29)]
         public void JsonValue_Parse_Double(string json, double expected)
         {
-            RemoteExecutorForUap.Invoke((jsonInner, expectedInner) =>
+            foreach (string culture in new[] { "en", "fr", "de" })
             {
-                foreach (string culture in new[] { "en", "fr", "de" })
+                using (new ThreadCultureChange(culture))
                 {
-                    using (new ThreadCultureChange(culture))
-                    {
-                        Assert.Equal(double.Parse(expectedInner, CultureInfo.InvariantCulture), (double)JsonValue.Parse(jsonInner));
-                    }
+                    Assert.Equal(expected, (double)JsonValue.Parse(json));
                 }
-            }, json, expected.ToString("R", CultureInfo.InvariantCulture)).Dispose();
+            }
         }
 
         [Theory]
@@ -323,17 +320,13 @@ namespace System.Json.Tests
         [InlineData(1.123456789e-28)] // Values around the smallest positive decimal value
         public void JsonValue_Parse_Double_ViaJsonPrimitive(double number)
         {
-            RemoteExecutorForUap.Invoke(numberText =>
+            foreach (string culture in new[] { "en", "fr", "de" })
             {
-                double numberInner = double.Parse(numberText, CultureInfo.InvariantCulture);
-                foreach (string culture in new[] { "en", "fr", "de" })
+                using (new ThreadCultureChange(culture))
                 {
-                    using (new ThreadCultureChange(culture))
-                    {
-                        Assert.Equal(numberInner, (double)JsonValue.Parse(new JsonPrimitive(numberInner).ToString()));
-                    }
+                    Assert.Equal(number, (double)JsonValue.Parse(new JsonPrimitive(number).ToString()));
                 }
-            }, number.ToString("R", CultureInfo.InvariantCulture)).Dispose();
+            }
         }
 
         [Fact]
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b363adc..0048bdc 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Linq.Expressions.cs" />
index 2578657..7e12b46 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 3a024fa..d0e5dd1 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <!-- Enabling the interpreter for RC1 in all builds, see https://github.com/dotnet/corefx/issues/4033 -->
     <FeatureInterpret>true</FeatureInterpret>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup>
     <AssemblyName>System.Linq.Expressions</AssemblyName>
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3ba919b..db9c2ea 100644 (file)
@@ -5,7 +5,7 @@
     <IsInterpreting>false</IsInterpreting>
     <DefineConstants Condition=" '$(IsInterpreting)' != 'true' ">$(DefineConstants);FEATURE_COMPILE</DefineConstants>
     <DefineConstants Condition=" '$(FeatureInterpret)' == 'true' ">$(DefineConstants);FEATURE_INTERPRET</DefineConstants>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <DefaultReferenceExclusions Include="System.Linq.Expressions" />
index dd42985..359b316 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a6dd761..639a0b0 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Linq.Parallel.cs" />
index aa1d348..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1d5f2f8..64e1f03 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Linq.Parallel</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Compiled Source Files -->
   <ItemGroup>
index 62d260b..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index dffc940..343cfd0 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Diagnostics\Tracing\TestEventListener.cs">
index dd42985..359b316 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6d8a22c..81ad250 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Linq.Queryable.cs" />
index aa1d348..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index d5b9717..56eb1da 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Linq.Queryable</AssemblyName>
     <RootNamespace>System.Linq.Queryable</RootNamespace>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Linq\CachedReflection.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e8ac8dd..def8e20 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="AppendPrependTests.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6d3135a..1639c7c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 3fb06be..b3552a3 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Linq</AssemblyName>
     <RootNamespace>System.Linq</RootNamespace>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
@@ -10,7 +10,7 @@
       <TargetGroup>netcoreapp</TargetGroup>
     </ContractProject>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'"> <!-- Optimize for speed -->
+  <ItemGroup> <!-- Optimize for speed -->
     <Compile Include="System\Linq\AppendPrepend.SpeedOpt.cs" />
     <Compile Include="System\Linq\Concat.SpeedOpt.cs" />
     <Compile Include="System\Linq\DefaultIfEmpty.SpeedOpt.cs" />
       <Link>System\Collections\Generic\LargeArrayBuilder.SpeedOpt.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'"> <!-- Optimize for size -->
-    <Compile Include="System\Linq\Enumerable.SizeOpt.cs" />
-    <Compile Include="System\Linq\Skip.SizeOpt.cs" />
-    <Compile Include="System\Linq\Take.SizeOpt.cs" />
-    <Compile Include="$(CommonPath)\System\Collections\Generic\LargeArrayBuilder.SizeOpt.cs">
-      <Link>System\Collections\Generic\LargeArrayBuilder.SizeOpt.cs</Link>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">
+  <ItemGroup>
     <Compile Include="$(CommonPath)\System\Collections\Generic\ArrayBuilder.cs">
       <Link>System\Collections\Generic\ArrayBuilder.cs</Link>
     </Compile>
index 7e6da0b..64af79b 100644 (file)
@@ -3,8 +3,6 @@
     <AssemblyName>System.Management</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);0618</NoWarn>
-    <!-- Although we have a netstandard configuration, we know we are not currently UAP compatible-->
-    <UWPCompatible>false</UWPCompatible>
     <IncludeDllSafeSearchPathAttribute>true</IncludeDllSafeSearchPathAttribute>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard'">SR.PlatformNotSupported_SystemManagement</GeneratePlatformNotSupportedAssemblyMessage>
     <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netstandard-Debug;netstandard-Release</Configurations>
index d89f42f..ed47826 100644 (file)
@@ -15,7 +15,7 @@ namespace System.Management.Tests
                                             PlatformDetection.IsNotArmNorArm64Process &&
                                             PlatformDetection.IsNotWindowsNanoServer &&
                                             PlatformDetection.IsNotWindowsIoTCore &&
-                                            !PlatformDetection.IsUap;
+                                            !PlatformDetection.IsInAppContainer;
         private static readonly string s_systemDriveId = Path.GetPathRoot(Environment.GetEnvironmentVariable("SystemDrive"));
 
         // Use the environment variable below to do manual runs against remote boxes: just ensure that the credentials running the tests have
index 97cc91e..505eba1 100644 (file)
@@ -1,11 +1,10 @@
 <Project>
   <Import Project="..\Directory.Build.props" />
   <PropertyGroup>
-    <!-- System.Memory has forwarded types into the runtime on netcoreapp/uap
+    <!-- System.Memory has forwarded types into the runtime on netcoreapp.
          It must win over assemblies versioned at 4.0.* -->
     <AssemblyVersion>4.2.0.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index c3ba6fd..19236e7 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 5f32d4f..e7cd322 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 1d6654e..e51e55d 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <Nullable>enable</Nullable>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <!-- ArrayBufferWriter is publicly exposed from the System.Memory ref and only it should define this constant as true.  -->
     <DefineConstants>$(DefineConstants);MAKE_ABW_PUBLIC</DefineConstants>
   </PropertyGroup>
index 2b2323d..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index ef75db4..5dc79a2 100644 (file)
@@ -4,10 +4,9 @@
     <IncludePartialFacadeTests>true</IncludePartialFacadeTests>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition="'$(IncludePartialFacadeTests)' == 'true'">
-    <!-- Tests specific to netcoreapp and uap -->
+  <ItemGroup>
     <Compile Include="ArrayBufferWriter\ArrayBufferWriterTests.Byte.cs" />
     <Compile Include="ArrayBufferWriter\ArrayBufferWriterTests.Char.cs" />
     <Compile Include="ArrayBufferWriter\ArrayBufferWriterTests.String.cs" />
@@ -66,6 +65,7 @@
     <Compile Include="Span\GetHashCode.cs" />
     <Compile Include="Span\GetPinnableReference.cs" />
     <Compile Include="Span\ImplicitConversion.cs" />
+    <Compile Include="Span\Indexer.cs" />
     <Compile Include="Span\IndexOf.byte.cs" />
     <Compile Include="Span\IndexOf.char.cs" />
     <Compile Include="Span\IndexOf.T.cs" />
     <Compile Include="ParsersAndFormatters\TestData.cs" />
     <Compile Include="ParsersAndFormatters\TestUtils.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
-    <Compile Include="Span\Indexer.cs" />
-  </ItemGroup>
   <ItemGroup>
     <Compile Include="Base64\Base64DecoderUnitTests.cs" />
     <Compile Include="Base64\Base64EncoderUnitTests.cs" />
diff --git a/src/libraries/System.Net.Http.Rtc/Directory.Build.props b/src/libraries/System.Net.Http.Rtc/Directory.Build.props
deleted file mode 100644 (file)
index 1a95347..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-  <PropertyGroup>
-    <AssemblyVersion>4.0.4.0</AssemblyVersion>
-    <StrongNameKeyId>Microsoft</StrongNameKeyId>
-    <IsUAP>true</IsUAP>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Net.Http.Rtc/System.Net.Http.Rtc.sln b/src/libraries/System.Net.Http.Rtc/System.Net.Http.Rtc.sln
deleted file mode 100644 (file)
index b43ad77..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27213.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Net.Http.Rtc", "src\System.Net.Http.Rtc.csproj", "{06A88496-DE20-4EDF-B694-C4B2FE38D5DC}"
-       ProjectSection(ProjectDependencies) = postProject
-               {45F02E74-C3B5-4751-8938-CBCEFE10FB93} = {45F02E74-C3B5-4751-8938-CBCEFE10FB93}
-       EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Net.Http.Rtc", "ref\System.Net.Http.Rtc.csproj", "{45F02E74-C3B5-4751-8938-CBCEFE10FB93}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E107E9C1-E893-4E87-987E-04EF0DCEAEFD}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{2E666815-2EDB-464B-9DF6-380BF4789AD4}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Any CPU = Debug|Any CPU
-               Release|Any CPU = Release|Any CPU
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {06A88496-DE20-4EDF-B694-C4B2FE38D5DC}.Debug|Any CPU.ActiveCfg = uap-Windows_NT-Debug|Any CPU
-               {06A88496-DE20-4EDF-B694-C4B2FE38D5DC}.Debug|Any CPU.Build.0 = uap-Windows_NT-Debug|Any CPU
-               {06A88496-DE20-4EDF-B694-C4B2FE38D5DC}.Release|Any CPU.ActiveCfg = uap-Windows_NT-Release|Any CPU
-               {06A88496-DE20-4EDF-B694-C4B2FE38D5DC}.Release|Any CPU.Build.0 = uap-Windows_NT-Release|Any CPU
-               {45F02E74-C3B5-4751-8938-CBCEFE10FB93}.Debug|Any CPU.ActiveCfg = netcoreapp-Debug|Any CPU
-               {45F02E74-C3B5-4751-8938-CBCEFE10FB93}.Debug|Any CPU.Build.0 = netcoreapp-Debug|Any CPU
-               {45F02E74-C3B5-4751-8938-CBCEFE10FB93}.Release|Any CPU.ActiveCfg = netcoreapp-Release|Any CPU
-               {45F02E74-C3B5-4751-8938-CBCEFE10FB93}.Release|Any CPU.Build.0 = netcoreapp-Release|Any CPU
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-       GlobalSection(NestedProjects) = preSolution
-               {06A88496-DE20-4EDF-B694-C4B2FE38D5DC} = {E107E9C1-E893-4E87-987E-04EF0DCEAEFD}
-               {45F02E74-C3B5-4751-8938-CBCEFE10FB93} = {2E666815-2EDB-464B-9DF6-380BF4789AD4}
-       EndGlobalSection
-       GlobalSection(ExtensibilityGlobals) = postSolution
-               SolutionGuid = {79584A84-9826-4735-A424-A360B71BB45B}
-       EndGlobalSection
-EndGlobal
diff --git a/src/libraries/System.Net.Http.Rtc/ref/Configurations.props b/src/libraries/System.Net.Http.Rtc/ref/Configurations.props
deleted file mode 100644 (file)
index acf56fa..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <BuildConfigurations>
-      netcoreapp;
-      uap;
-    </BuildConfigurations>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Net.Http.Rtc/ref/System.Net.Http.Rtc.cs b/src/libraries/System.Net.Http.Rtc/ref/System.Net.Http.Rtc.cs
deleted file mode 100644 (file)
index d94e476..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-// ------------------------------------------------------------------------------
-// Changes to this file must follow the http://aka.ms/api-review process.
-// ------------------------------------------------------------------------------
-
-namespace System.Net.Http
-{
-    public static partial class RtcRequestFactory
-    {
-        public static System.Net.Http.HttpRequestMessage Create(System.Net.Http.HttpMethod method, System.Uri uri) { throw null; }
-    }
-}
diff --git a/src/libraries/System.Net.Http.Rtc/ref/System.Net.Http.Rtc.csproj b/src/libraries/System.Net.Http.Rtc/ref/System.Net.Http.Rtc.csproj
deleted file mode 100644 (file)
index 36e8293..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="System.Net.Http.Rtc.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
-    <ProjectReference Include="..\..\System.Net.Primitives\ref\System.Net.Primitives.csproj" />
-    <ProjectReference Include="..\..\System.Net.Http\ref\System.Net.Http.csproj" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Net.Http.Rtc/src/Configurations.props b/src/libraries/System.Net.Http.Rtc/src/Configurations.props
deleted file mode 100644 (file)
index dde33cb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <BuildConfigurations>
-      uap-Windows_NT;
-    </BuildConfigurations>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Net.Http.Rtc/src/System.Net.Http.Rtc.csproj b/src/libraries/System.Net.Http.Rtc/src/System.Net.Http.Rtc.csproj
deleted file mode 100644 (file)
index 92a56eb..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <Configurations>uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="System\Net\Http\RtcRequestFactory.cs" />
-    <Reference Include="System.Runtime" />
-    <Reference Include="System.Net.Http" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Net.Http.Rtc/src/System/Net/Http/RtcRequestFactory.cs b/src/libraries/System.Net.Http.Rtc/src/System/Net/Http/RtcRequestFactory.cs
deleted file mode 100644 (file)
index 405ec6b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-
-namespace System.Net.Http
-{
-    public static class RtcRequestFactory
-    {
-        public static HttpRequestMessage Create(HttpMethod method, Uri uri)
-        {
-            throw new PlatformNotSupportedException();
-        }
-    }
-}
index 2810777..1f0b414 100644 (file)
@@ -1,19 +1,12 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <OutputType>Library</OutputType>
-    <AssemblyName>System.Net.Http.WinHttpHandler</AssemblyName>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard' AND '$(TargetsWindows)' != 'true'">SR.PlatformNotSupported_WinHttpHandler</GeneratePlatformNotSupportedAssemblyMessage>
-    <!-- Although we have a NS configuration, the actual UWP implementation is a shim over WinRT: so just validate against OneCore -->
-    <UWPCompatible>false</UWPCompatible>
     <IncludeDllSafeSearchPathAttribute>true</IncludeDllSafeSearchPathAttribute>
     <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release</Configurations>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetGroup)' == 'net461'">
-    <DefineConstants>$(DefineConstants);netfx</DefineConstants>
-  </PropertyGroup>
   <Import Project="System.Net.Http.WinHttpHandler.msbuild" Condition="'$(TargetsWindows)' == 'true'" />
-  <ItemGroup Condition="'$(TargetGroup)' == 'net46' OR '$(TargetGroup)' == 'net461'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'net46' OR '$(TargetFramework)' == 'net461'">
     <!-- Need to compile it here since the NET46 target here is building against System.Runtime whereas the
          the list of other files in System.Net.Http.WinHttpHandler.msbuild is also used by System.Net.Http
          library and the NET46 target there uses framework assembly references instead. -->
@@ -42,7 +35,7 @@
     <Reference Include="System" />
     <Reference Include="System.Net.Http" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.3'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3'">
     <Reference Include="Microsoft.Win32.Primitives" />
     <Reference Include="System.Collections" />
     <Reference Include="System.Collections.NonGeneric" />
index dd6fb5e..8bfb431 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netfx-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 62cfd89..e7718ff 100644 (file)
@@ -17,7 +17,6 @@ using Xunit.Abstractions;
 
 namespace System.Net.Http.WinHttpHandlerFunctional.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WinHttpHandler not supported on UAP")]
     public class ServerCertificateTest
     {
         private readonly ITestOutputHelper _output;
index 4cfb5ce..41aa141 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition=" '$(TargetsWindows)' == 'true' ">
     <Compile Include="$(CommonTestPath)\System\Net\Configuration.cs">
index 89af878..5386de0 100644 (file)
@@ -20,7 +20,6 @@ namespace System.Net.Http.WinHttpHandlerFunctional.Tests
 
     // Note:  Disposing the HttpClient object automatically disposes the handler within. So, it is not necessary
     // to separately Dispose (or have a 'using' statement) for the handler.
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WinHttpHandler not supported on UAP")]
     public class WinHttpHandlerTest
     {
         // TODO: This is a placeholder until GitHub Issue #2383 gets resolved.
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 8e4860a..775ff20 100644 (file)
@@ -240,7 +240,6 @@ namespace System.Net.Http
         protected override System.Threading.Tasks.Task SerializeToStreamAsync(System.IO.Stream stream, System.Net.TransportContext context) { throw null; }
         protected internal override bool TryComputeLength(out long length) { throw null; }
     }
-#if !uap
     public sealed partial class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
     {
         public SocketsHttpHandler() { }
@@ -267,7 +266,6 @@ namespace System.Net.Http
         protected override void Dispose(bool disposing) { }
         protected internal override System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { throw null; }
     }
-#endif
     public partial class StreamContent : System.Net.Http.HttpContent
     {
         public StreamContent(System.IO.Stream content) { }
index c0500bf..622263d 100644 (file)
@@ -1,11 +1,11 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.Http.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">
+  <ItemGroup>
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Threading.Tasks\ref\System.Threading.Tasks.csproj" />
     <ProjectReference Include="..\..\System.IO\ref\System.IO.csproj" />
index 69ca121..7778219 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-OSX;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
index da42a6c..0d47fc1 100644 (file)
@@ -7,10 +7,7 @@
     <NoWarn>$(NoWarn);0436;CS1573</NoWarn>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants>$(DefineConstants);HTTP_DLL</DefineConstants>
-    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetGroup)' == 'uap'">
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(TargetsOSX)' == 'true' ">
     <DefineConstants>$(DefineConstants);SYSNETHTTP_NO_OPENSSL</DefineConstants>
     </Compile>
   </ItemGroup>
   <!-- SocketsHttpHandler implementation -->
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup>
     <Compile Include="System\Net\Http\SocketsHttpHandler\HPack\DynamicTable.cs" />
     <Compile Include="System\Net\Http\SocketsHttpHandler\IHttpHeadersHandler.cs" />
     <Compile Include="System\Net\Http\SocketsHttpHandler\HPack\HPackDecoder.cs" />
     </Compile>
   </ItemGroup>
   <!-- SocketsHttpHandler platform parts -->
-  <ItemGroup Condition=" '$(TargetsUnix)' == 'true' And '$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition=" '$(TargetsUnix)' == 'true'">
     <Compile Include="System\Net\Http\SocketsHttpHandler\HttpEnvironmentProxy.cs" />
     <Compile Include="System\Net\Http\SocketsHttpHandler\HttpEnvironmentProxy.Unix.cs" />
     <Compile Include="$(CommonPath)\System\Net\ContextFlagsAdapterPal.Unix.cs">
       <Link>Common\System\Net\Security\Unix\SafeDeleteNegoContext.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetsUnix)' == 'true' And '$(TargetsOSX)' != 'true' And '$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition=" '$(TargetsUnix)' == 'true' And '$(TargetsOSX)' != 'true'">
     <Compile Include="System\Net\Http\SocketsHttpHandler\HttpNoProxy.cs" />
     <Compile Include="System\Net\Http\SocketsHttpHandler\SystemProxyInfo.Unix.cs" />
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetsOSX)' == 'true' And '$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition=" '$(TargetsOSX)' == 'true'">
     <Compile Include="System\Net\Http\SocketsHttpHandler\SystemProxyInfo.OSX.cs" />
     <Compile Include="System\Net\Http\SocketsHttpHandler\MacProxy.cs" />
     <Compile Include="$(CommonPath)\Interop\OSX\Interop.CoreFoundation.cs">
       <Link>Common\Microsoft\Win32\SafeHandles\SafeCreateHandle.OSX.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition=" '$(TargetsWindows)' == 'true' And '$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition=" '$(TargetsWindows)' == 'true'">
     <Compile Include="System\Net\Http\SocketsHttpHandler\SystemProxyInfo.Windows.cs" />
     <Compile Include="System\Net\Http\SocketsHttpHandler\HttpEnvironmentProxy.cs" />
     <Compile Include="System\Net\Http\SocketsHttpHandler\HttpEnvironmentProxy.Windows.cs" />
     </Compile>
   </ItemGroup>
   <!-- WinHttpHandler implementation -->
-  <ItemGroup Condition=" '$(TargetsWindows)' == 'true' And '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition=" '$(TargetsWindows)' == 'true'">
     <Compile Include="System\Net\Http\HttpClientHandler.Core.cs" />
     <Compile Include="System\Net\Http\HttpClientHandler.netcoreapp.cs" />
     <Compile Include="System\Net\Http\HttpClientHandler.Windows.cs" />
          HttpMessageHandler.cs. We also use the HTTP_DLL define to change public classes into
          internal ones to remove confusion if someone looks at the implementation dlls. They are
          public in the separate WinHttpHandler.dll binary.  -->
-  <Import Project="..\..\System.Net.Http.WinHttpHandler\src\System.Net.Http.WinHttpHandler.msbuild" Condition="'$(TargetsWindows)' == 'true' And '$(TargetGroup)' != 'uap'" />
+  <Import Project="..\..\System.Net.Http.WinHttpHandler\src\System.Net.Http.WinHttpHandler.msbuild" Condition="'$(TargetsWindows)' == 'true'" />
   <!--  For source files to be shown within the visual tree in Solution Explorer, the items must be
          included directly in the project file. We have the *.msbuild define the Compile items in a made
          up item called CompileItem and then just include it here. -->
-  <ItemGroup Condition=" '$(TargetsWindows)' == 'true' And '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="@(CompileItem)" />
   </ItemGroup>
   <!-- CurlHandler implementation -->
   <ItemGroup Condition=" '$(TargetsOSX)' == 'true' ">
     <Compile Include="System\Net\Http\CurlHandler\CurlHandler.SslProvider.OSX.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Reference Include="Windows" />
-    <Reference Include="mscorlib" />
-    <Reference Include="System.Runtime.InteropServices.WindowsRuntime" />
-    <Reference Include="System.Runtime.WindowsRuntime" />
-    <Reference Include="System.Security.Cryptography.X509Certificates" />
-    <Reference Include="System.Text.Encoding.Extensions" />
-    <Compile Include="$(CommonPath)\System\NotImplemented.cs">
-      <Link>Common\System\NotImplemented.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\System\Net\HttpKnownHeaderNames.cs">
-      <Link>Common\System\Net\HttpKnownHeaderNames.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\System\Net\HttpStatusDescription.cs">
-      <Link>Common\System\Net\HttpStatusDescription.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\System\Net\Security\CertificateHelper.cs">
-      <Link>Common\System\Net\Security\CertificateHelper.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\System\Net\Security\CertificateHelper.Uap.cs">
-      <Link>Common\System\Net\Security\CertificateHelper.Uap.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\System\Net\Security\CertificateHelper.Windows.cs">
-      <Link>Common\System\Net\Security\CertificateHelper.Windows.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\System\StringExtensions.cs">
-      <Link>Common\System\StringExtensions.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\CoreLib\System\Threading\Tasks\TaskToApm.cs">
-      <Link>Common\CoreLib\System\Threading\Tasks\TaskToApm.cs</Link>
-    </Compile>
-    <Compile Include="uap\System\Net\cookie.cs" />
-    <Compile Include="uap\System\Net\cookieexception.cs" />
-    <Compile Include="uap\System\Net\CookieHelper.cs" />
-    <Compile Include="uap\System\Net\HttpHandlerToFilter.cs" />
-    <Compile Include="System\Net\Http\HttpClientHandler.Core.cs" />
-    <Compile Include="System\Net\Http\SocketsHttpHandler\HttpNoProxy.cs" />
-    <Compile Include="System\Net\Http\SocketsHttpHandler\SystemProxyInfo.uap.cs" />
-    <Compile Include="uap\System\Net\HttpClientHandler.cs" />
-  </ItemGroup>
   <ItemGroup>
     <Reference Include="Microsoft.Win32.Primitives" />
     <Reference Include="System.Buffers" />
     <Reference Include="System.Threading" />
     <Reference Include="System.Threading.Tasks" />
     <Reference Include="System.Threading.Timer" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
     <Reference Include="System.IO.Compression.Brotli" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
index 6f77761..c610933 100644 (file)
@@ -414,11 +414,7 @@ namespace System.Net.Http.Headers
         {
             try
             {
-#if uap
-                new MailAddress(value);
-#else
                 MailAddressParser.ParseAddress(value);
-#endif
                 return true;
             }
             catch (FormatException e)
index 63a29fc..97245eb 100644 (file)
@@ -95,12 +95,8 @@ namespace System.Net.Http.Headers
                 try
                 {
                     // We don't want '?' replacement characters, just fail.
-#if uap
-                    System.Text.Encoding decoder = new System.Text.UTF8Encoding(encoderShouldEmitUTF8Identifier: true, throwOnInvalidBytes: true);
-#else
                     System.Text.Encoding decoder = System.Text.Encoding.GetEncoding("utf-8", System.Text.EncoderFallback.ExceptionFallback,
                         System.Text.DecoderFallback.ExceptionFallback);
-#endif
                     return decoder.GetString(rawBytes, 0, rawBytes.Length);
                 }
                 catch (ArgumentException) { } // Not actually Utf-8
index 413d97d..ee5641f 100644 (file)
@@ -19,7 +19,7 @@ namespace System.Net.Http
             // automatically buffer the request content. That only happened if neither 'Content-Length' nor
             // 'Transfer-Encoding: chunked' request headers were specified. So, the handler thus needed to buffer
             // in the request content to determine its length and then would choose 'Content-Length' semantics when
-            // POST'ing. In .NET Core and UAP platforms, the handler will resolve the ambiguity by always choosing
+            // POST'ing. In .NET Core, the handler will resolve the ambiguity by always choosing
             // 'Transfer-Encoding: chunked'. The handler will never automatically buffer in the request content.
             get
             {
index 70f8819..4a9e04c 100644 (file)
@@ -30,15 +30,12 @@ namespace System.Net.Http
         private const byte UTF8PreambleByte2 = 0xBF;
         private const int UTF8PreambleFirst2Bytes = 0xEFBB;
 
-#if !uap
-        // UTF32 not supported on Phone
         private const int UTF32CodePage = 12000;
         private const int UTF32PreambleLength = 4;
         private const byte UTF32PreambleByte0 = 0xFF;
         private const byte UTF32PreambleByte1 = 0xFE;
         private const byte UTF32PreambleByte2 = 0x00;
         private const byte UTF32PreambleByte3 = 0x00;
-#endif
         private const int UTF32OrUnicodePreambleFirst2Bytes = 0xFFFE;
 
         private const int UnicodeCodePage = 1200;
@@ -61,14 +58,12 @@ namespace System.Net.Http
                 UTF8PreambleByte1,
                 UTF8PreambleByte2);
 
-#if !uap
             // UTF32 not supported on Phone
             AssertEncodingConstants(Encoding.UTF32, UTF32CodePage, UTF32PreambleLength, UTF32OrUnicodePreambleFirst2Bytes,
                 UTF32PreambleByte0,
                 UTF32PreambleByte1,
                 UTF32PreambleByte2,
                 UTF32PreambleByte3);
-#endif
 
             AssertEncodingConstants(Encoding.Unicode, UnicodeCodePage, UnicodePreambleLength, UTF32OrUnicodePreambleFirst2Bytes,
                 UnicodePreambleByte0,
@@ -617,15 +612,12 @@ namespace System.Net.Http
                         && data[offset + 0] == UTF8PreambleByte0
                         && data[offset + 1] == UTF8PreambleByte1
                         && data[offset + 2] == UTF8PreambleByte2) ? UTF8PreambleLength : 0;
-#if !uap
-                // UTF32 not supported on Phone
                 case UTF32CodePage:
                     return (dataLength >= UTF32PreambleLength
                         && data[offset + 0] == UTF32PreambleByte0
                         && data[offset + 1] == UTF32PreambleByte1
                         && data[offset + 2] == UTF32PreambleByte2
                         && data[offset + 3] == UTF32PreambleByte3) ? UTF32PreambleLength : 0;
-#endif
                 case UnicodeCodePage:
                     return (dataLength >= UnicodePreambleLength
                         && data[offset + 0] == UnicodePreambleByte0
@@ -666,7 +658,6 @@ namespace System.Net.Http
                         break;
 
                     case UTF32OrUnicodePreambleFirst2Bytes:
-#if !uap
                         // UTF32 not supported on Phone
                         if (dataLength >= UTF32PreambleLength && data[offset + 2] == UTF32PreambleByte2 && data[offset + 3] == UTF32PreambleByte3)
                         {
@@ -674,7 +665,6 @@ namespace System.Net.Http
                             preambleLength = UTF32PreambleLength;
                         }
                         else
-#endif
                         {
                             encoding = Encoding.Unicode;
                             preambleLength = UnicodePreambleLength;
index 2ddaf22..b45d2db 100644 (file)
@@ -19,11 +19,7 @@ namespace System.Net.Http
         internal const int MaxInt32Digits = 10;
 
         // iso-8859-1, Western European (ISO)
-#if uap
-        internal static readonly Encoding DefaultHttpEncoding = Encoding.GetEncoding("iso-8859-1");
-#else
         internal static readonly Encoding DefaultHttpEncoding = Encoding.GetEncoding(28591);
-#endif
 
         private static bool[] CreateTokenChars()
         {
index 0afe5e3..bf8a98b 100644 (file)
@@ -10,12 +10,7 @@ namespace System.Net.Http
 {
     internal static class HttpUtilities
     {
-        internal static Version DefaultRequestVersion =>
-#if uap
-            HttpVersion.Version20;
-#else
-            HttpVersion.Version11;
-#endif
+        internal static Version DefaultRequestVersion => HttpVersion.Version11;
 
         internal static Version DefaultResponseVersion => HttpVersion.Version11;
 
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/SystemProxyInfo.uap.cs b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/SystemProxyInfo.uap.cs
deleted file mode 100644 (file)
index d508a78..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Net.Http
-{
-    internal static partial class SystemProxyInfo
-    {
-        public static IWebProxy ConstructSystemProxy()
-        {
-            // For UAP this is currently not implemented.
-            return new HttpNoProxy();
-        }
-    }
-}
diff --git a/src/libraries/System.Net.Http/src/uap/System/Net/CookieHelper.cs b/src/libraries/System.Net.Http/src/uap/System/Net/CookieHelper.cs
deleted file mode 100644 (file)
index d931a23..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Collections.Generic;
-using System.Net.Internal;
-using InternalCookieException = System.Net.Internal.CookieException;
-
-namespace System.Net
-{
-    internal static class CookieHelper
-    {
-        internal static IEnumerable<string> GetCookiesFromHeader(string setCookieHeader)
-        {
-            List<string> cookieStrings = new List<string>();
-
-            try
-            {
-                CookieParser parser = new CookieParser(setCookieHeader);
-                string cookieString;
-
-                while ((cookieString = parser.GetString()) != null)
-                {
-                    cookieStrings.Add(cookieString);
-                }
-            }
-            catch (InternalCookieException)
-            {
-                // TODO (#7856): We should log this.  But there isn't much we can do about it other
-                // than to drop the rest of the cookies.
-            }
-
-            return cookieStrings;
-        }
-    }
-}
diff --git a/src/libraries/System.Net.Http/src/uap/System/Net/HttpClientHandler.cs b/src/libraries/System.Net.Http/src/uap/System/Net/HttpClientHandler.cs
deleted file mode 100644 (file)
index 2667bc6..0000000
+++ /dev/null
@@ -1,763 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Globalization;
-using System.Net;
-using System.Net.Http.Headers;
-using System.Net.Security;
-using System.Runtime.ExceptionServices;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Runtime.InteropServices.WindowsRuntime;
-using System.Security.Authentication;
-using System.Security.Cryptography;
-using System.Security.Cryptography.X509Certificates;
-using System.Threading;
-using System.Threading.Tasks;
-
-using RTApiInformation = Windows.Foundation.Metadata.ApiInformation;
-using RTHttpBaseProtocolFilter = Windows.Web.Http.Filters.HttpBaseProtocolFilter;
-using RTHttpCacheReadBehavior = Windows.Web.Http.Filters.HttpCacheReadBehavior;
-using RTHttpCacheWriteBehavior = Windows.Web.Http.Filters.HttpCacheWriteBehavior;
-using RTHttpCookieUsageBehavior = Windows.Web.Http.Filters.HttpCookieUsageBehavior;
-using RTHttpRequestMessage = Windows.Web.Http.HttpRequestMessage;
-using RTPasswordCredential = Windows.Security.Credentials.PasswordCredential;
-using RTCertificate = Windows.Security.Cryptography.Certificates.Certificate;
-using RTChainValidationResult = Windows.Security.Cryptography.Certificates.ChainValidationResult;
-using RTHttpServerCustomValidationRequestedEventArgs = Windows.Web.Http.Filters.HttpServerCustomValidationRequestedEventArgs;
-
-namespace System.Net.Http
-{
-    public partial class HttpClientHandler : HttpMessageHandler
-    {
-        private const string RequestMessageLookupKey = "System.Net.Http.HttpRequestMessage";
-        private const string SavedExceptionDispatchInfoLookupKey = "System.Runtime.ExceptionServices.ExceptionDispatchInfo";
-        private static Oid s_serverAuthOid = new Oid("1.3.6.1.5.5.7.3.1", "1.3.6.1.5.5.7.3.1");
-        private static readonly Lazy<bool> s_RTCookieUsageBehaviorSupported =
-            new Lazy<bool>(InitRTCookieUsageBehaviorSupported);
-        internal static bool RTCookieUsageBehaviorSupported => s_RTCookieUsageBehaviorSupported.Value;
-        private static readonly Lazy<bool> s_RTNoCacheSupported =
-            new Lazy<bool>(InitRTNoCacheSupported);
-        private static bool RTNoCacheSupported => s_RTNoCacheSupported.Value;
-        private static readonly Lazy<bool> s_RTServerCustomValidationRequestedSupported =
-            new Lazy<bool>(InitRTServerCustomValidationRequestedSupported);
-        private static bool RTServerCustomValidationRequestedSupported => s_RTServerCustomValidationRequestedSupported.Value;
-
-        #region Fields
-
-        private readonly HttpHandlerToFilter _handlerToFilter;
-        private readonly HttpMessageHandler _diagnosticsPipeline;
-
-        private RTHttpBaseProtocolFilter _rtFilter;
-        private ClientCertificateOption _clientCertificateOptions;
-        private CookieContainer _cookieContainer;
-        private bool _useCookies;
-        private DecompressionMethods _automaticDecompression;
-        private bool _allowAutoRedirect;
-        private int _maxAutomaticRedirections;
-        private ICredentials _defaultProxyCredentials;
-        private ICredentials _credentials;
-        private IWebProxy _proxy;
-        private X509Certificate2Collection _clientCertificates;
-        private IDictionary<string, object> _properties; // Only create dictionary when required.
-        private Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> _serverCertificateCustomValidationCallback;
-
-        #endregion Fields
-
-        #region Properties
-
-        public virtual bool SupportsAutomaticDecompression
-        {
-            get { return true; }
-        }
-
-        public virtual bool SupportsProxy
-        {
-            get { return false; }
-        }
-
-        public virtual bool SupportsRedirectConfiguration
-        {
-            get { return false; }
-        }
-
-        public bool UseCookies
-        {
-            get { return _useCookies; }
-            set
-            {
-                CheckDisposedOrStarted();
-                _useCookies = value;
-            }
-        }
-
-        public CookieContainer CookieContainer
-        {
-            get { return _cookieContainer; }
-            set
-            {
-                if (value == null)
-                {
-                    throw new ArgumentNullException(nameof(value));
-                }
-                if (!UseCookies)
-                {
-                    throw new InvalidOperationException(SR.Format(CultureInfo.InvariantCulture,
-                        SR.net_http_invalid_enable_first, nameof(UseCookies), "true"));
-                }
-                CheckDisposedOrStarted();
-                _cookieContainer = value;
-            }
-        }
-
-        public ClientCertificateOption ClientCertificateOptions
-        {
-            get { return _clientCertificateOptions; }
-            set
-            {
-                if (value != ClientCertificateOption.Manual &&
-                    value != ClientCertificateOption.Automatic)
-                {
-                    throw new ArgumentOutOfRangeException(nameof(value));
-                }
-                CheckDisposedOrStarted();
-                _clientCertificateOptions = value;
-            }
-        }
-
-        public DecompressionMethods AutomaticDecompression
-        {
-            get { return _automaticDecompression; }
-            set
-            {
-                CheckDisposedOrStarted();
-
-                // Automatic decompression is implemented downstack.
-                // HBPF will decompress both gzip and deflate, we will set
-                // accept-encoding for one, the other, or both passed in here.
-                _rtFilter.AutomaticDecompression = (value != DecompressionMethods.None);
-                _automaticDecompression = value;
-            }
-        }
-
-        public bool UseProxy
-        {
-            get { return _rtFilter.UseProxy; }
-            set
-            {
-                CheckDisposedOrStarted();
-                _rtFilter.UseProxy = value;
-            }
-        }
-
-        public IWebProxy Proxy
-        {
-            // We don't actually support setting a different proxy because our Http stack in NETNative
-            // layers on top of the WinRT HttpClient which uses Wininet.  And that API layer simply
-            // uses the proxy information in the registry (and the same that Internet Explorer uses).
-            // However, we can't throw PlatformNotSupportedException because the .NET Desktop stack
-            // does support this and doing so would break apps. So, we'll just let this get/set work
-            // even though we ignore it.  The majority of apps actually use the default proxy anyways
-            // so setting it here would be a no-op.
-            get { return _proxy; }
-            set
-            {
-                CheckDisposedOrStarted();
-                _proxy = value;
-            }
-        }
-
-        public bool PreAuthenticate
-        {
-            get { return true; }
-            set
-            {
-                CheckDisposedOrStarted();
-            }
-        }
-
-        public bool UseDefaultCredentials
-        {
-            get { return false; }
-            set
-            {
-                CheckDisposedOrStarted();
-            }
-        }
-
-        public ICredentials Credentials
-        {
-            get
-            {
-                return _credentials;
-            }
-            set
-            {
-                CheckDisposedOrStarted();
-                if (value != null && value != CredentialCache.DefaultCredentials && !(value is NetworkCredential))
-                {
-                    throw new PlatformNotSupportedException(SR.Format(CultureInfo.InvariantCulture,
-                        SR.net_http_value_not_supported, value, nameof(Credentials)));
-                }
-
-                _credentials = value;
-            }
-        }
-
-        public ICredentials DefaultProxyCredentials
-        {
-            get
-            {
-                return _defaultProxyCredentials;
-            }
-            set
-            {
-                CheckDisposedOrStarted();
-                if (value != null && value != CredentialCache.DefaultCredentials && !(value is NetworkCredential))
-                {
-                    throw new PlatformNotSupportedException(SR.Format(CultureInfo.InvariantCulture,
-                        SR.net_http_value_not_supported, value, nameof(DefaultProxyCredentials)));
-                }
-
-                _defaultProxyCredentials = value;;
-            }
-        }
-
-        public bool AllowAutoRedirect
-        {
-            get { return _allowAutoRedirect; }
-            set
-            {
-                CheckDisposedOrStarted();
-                _allowAutoRedirect = value;
-            }
-        }
-
-        public int MaxAutomaticRedirections
-        {
-            get { return _maxAutomaticRedirections; }
-            set
-            {
-                if (value <= 0)
-                {
-                    throw new ArgumentOutOfRangeException(nameof(value));
-                }
-                CheckDisposedOrStarted();
-            }
-        }
-
-        public int MaxConnectionsPerServer
-        {
-            get { return (int)_rtFilter.MaxConnectionsPerServer; }
-            set
-            {
-                CheckDisposedOrStarted();
-                _rtFilter.MaxConnectionsPerServer = (uint)value;
-            }
-        }
-
-        public int MaxResponseHeadersLength
-        {
-            // Windows.Web.Http is built on WinINet. There is no maximum limit (except for out of memory)
-            // for received response headers. So, returning -1 (indicating no limit) is appropriate.
-            get { return -1; }
-
-            set
-            {
-                CheckDisposedOrStarted();
-            }
-        }
-
-        public X509CertificateCollection ClientCertificates
-        {
-            get
-            {
-                if (_clientCertificateOptions != ClientCertificateOption.Manual)
-                {
-                    throw new InvalidOperationException(SR.Format(
-                        SR.net_http_invalid_enable_first,
-                        nameof(ClientCertificateOptions),
-                        nameof(ClientCertificateOption.Manual)));
-                }
-
-                if (_clientCertificates == null)
-                {
-                    _clientCertificates = new X509Certificate2Collection();
-                }
-
-                return _clientCertificates;
-            }
-        }
-
-        public Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> ServerCertificateCustomValidationCallback
-        {
-            get
-            {
-                return _serverCertificateCustomValidationCallback;
-            }
-            set
-            {
-                CheckDisposedOrStarted();
-                if (value != null)
-                {
-                    if (!RTServerCustomValidationRequestedSupported)
-                    {
-                        throw new PlatformNotSupportedException(SR.Format(CultureInfo.InvariantCulture,
-                            SR.net_http_feature_requires_Windows10Version1607));
-                    }
-                }
-
-                _serverCertificateCustomValidationCallback = value;
-            }
-        }
-
-        public bool CheckCertificateRevocationList
-        {
-            // The WinRT API always checks for certificate revocation. If the revocation status is indeterminate
-            // (such as revocation server is offline), then the WinRT API will indicate "success" and not fail
-            // the request.
-            get { return true; }
-            set
-            {
-                CheckDisposedOrStarted();
-            }
-        }
-
-        public SslProtocols SslProtocols
-        {
-            // The WinRT API does not expose a property to control this. It always uses the system default.
-            get { return SslProtocols.None; }
-            set
-            {
-                CheckDisposedOrStarted();
-            }
-        }
-
-        public IDictionary<string, object> Properties
-        {
-            get
-            {
-                if (_properties == null)
-                {
-                    _properties = new Dictionary<string, object>();
-                }
-
-                return _properties;
-            }
-        }
-
-        #endregion Properties
-
-        #region De/Constructors
-
-        public HttpClientHandler()
-        {
-            _rtFilter = CreateFilter();
-
-            _handlerToFilter = new HttpHandlerToFilter(_rtFilter, this);
-            _handlerToFilter.RequestMessageLookupKey = RequestMessageLookupKey;
-            _handlerToFilter.SavedExceptionDispatchInfoLookupKey = SavedExceptionDispatchInfoLookupKey;
-            _diagnosticsPipeline = new DiagnosticsHandler(_handlerToFilter);
-
-            _clientCertificateOptions = ClientCertificateOption.Manual;
-
-            _useCookies = true; // deal with cookies by default.
-            _cookieContainer = new CookieContainer(); // default container used for dealing with auto-cookies.
-
-            _allowAutoRedirect = true;
-            _maxAutomaticRedirections = 50;
-
-            _automaticDecompression = DecompressionMethods.None;
-        }
-
-        private RTHttpBaseProtocolFilter CreateFilter()
-        {
-            var filter = new RTHttpBaseProtocolFilter();
-
-            // Always turn off WinRT cookie processing if the WinRT API supports turning it off.
-            // Use .NET CookieContainer handling only.
-            if (RTCookieUsageBehaviorSupported)
-            {
-                filter.CookieUsageBehavior = RTHttpCookieUsageBehavior.NoCookies;
-            }
-
-            // Handle redirections at the .NET layer so that we can see cookies on redirect responses
-            // and have control of the number of redirections allowed.
-            filter.AllowAutoRedirect = false;
-
-            filter.AutomaticDecompression = false;
-
-            // We don't support using the UI model in HttpBaseProtocolFilter() especially for auto-handling 401 responses.
-            filter.AllowUI = false;
-
-            // The .NET Desktop System.Net Http APIs (based on HttpWebRequest/HttpClient) uses no caching by default.
-            // To preserve app-compat, we turn off caching in the WinRT HttpClient APIs.
-            filter.CacheControl.ReadBehavior = RTNoCacheSupported ?
-                RTHttpCacheReadBehavior.NoCache : RTHttpCacheReadBehavior.MostRecent;
-            filter.CacheControl.WriteBehavior = RTHttpCacheWriteBehavior.NoCache;
-
-            return filter;
-        }
-
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && !_disposed)
-            {
-                _disposed = true;
-
-                try
-                {
-                    _rtFilter.Dispose();
-                }
-                catch (InvalidComObjectException)
-                {
-                    // We'll ignore this error since it can happen when Dispose() is called from an object's finalizer
-                    // and the WinRT object (rtFilter) has already been disposed by the .NET Native runtime.
-                }
-            }
-
-            base.Dispose(disposing);
-        }
-
-        #endregion De/Constructors
-
-        #region Request Setup
-
-        private async Task ConfigureRequest(HttpRequestMessage request)
-        {
-            ApplyDecompressionSettings(request);
-
-            await ApplyClientCertificateSettings().ConfigureAwait(false);
-        }
-
-        private void ApplyDecompressionSettings(HttpRequestMessage request)
-        {
-            // Decompression: Add the Gzip and Deflate headers if not already present.
-            ApplyDecompressionSetting(request, DecompressionMethods.GZip, "gzip");
-            ApplyDecompressionSetting(request, DecompressionMethods.Deflate, "deflate");
-        }
-
-        private void ApplyDecompressionSetting(HttpRequestMessage request, DecompressionMethods method, string methodName)
-        {
-            if ((AutomaticDecompression & method) == method)
-            {
-                bool found = false;
-                foreach (StringWithQualityHeaderValue encoding in request.Headers.AcceptEncoding)
-                {
-                    if (methodName.Equals(encoding.Value, StringComparison.OrdinalIgnoreCase))
-                    {
-                        found = true;
-                        break;
-                    }
-                }
-
-                if (!found)
-                {
-                    request.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue(methodName));
-                }
-            }
-        }
-
-        private async Task ApplyClientCertificateSettings()
-        {
-            if (ClientCertificateOptions == ClientCertificateOption.Manual)
-            {
-                if (_clientCertificates != null && _clientCertificates.Count > 0)
-                {
-                    X509Certificate2 clientCert = CertificateHelper.GetEligibleClientCertificate(_clientCertificates);
-                    if (clientCert == null)
-                    {
-                        return;
-                    }
-
-                    RTCertificate rtClientCert = await CertificateHelper.ConvertDotNetClientCertToWinRtClientCertAsync(clientCert).ConfigureAwait(false);
-                    if (rtClientCert == null)
-                    {
-                        throw new PlatformNotSupportedException(SR.Format(CultureInfo.InvariantCulture,
-                            SR.net_http_feature_UWPClientCertSupportRequiresCertInPersonalCertificateStore));
-                    }
-
-                    _rtFilter.ClientCertificate = rtClientCert;
-                }
-
-                return;
-            }
-            else
-            {
-                X509Certificate2 clientCert = CertificateHelper.GetEligibleClientCertificate();
-                if (clientCert == null)
-                {
-                    return;
-                }
-
-                // Unlike in the .Manual case above, the conversion to WinRT Certificate should always work;
-                // so we just use an Assert. All the possible client certs were enumerated from that store and
-                // filtered down to a single client cert.
-                RTCertificate rtClientCert = await CertificateHelper.ConvertDotNetClientCertToWinRtClientCertAsync(clientCert).ConfigureAwait(false);
-                Debug.Assert(rtClientCert != null);
-                _rtFilter.ClientCertificate = rtClientCert;
-            }
-        }
-
-        private RTPasswordCredential RTPasswordCredentialFromICredentials(ICredentials creds)
-        {
-            // The WinRT PasswordCredential object does not have a special credentials value for "default credentials".
-            // In general, the UWP HTTP platform automatically manages sending default credentials, if no explicit
-            // credential was specified, based on if the app has EnterpriseAuthentication capability and if the endpoint
-            // is listed in an intranet zone.
-            //
-            // A WinRT PasswordCredential object that is either null or created with the default constructor (i.e. with
-            // empty values for username and password) indicates that there is no explicit credential. And that means
-            // that the default logged-on credentials might be sent to the endpoint.
-            //
-            // There is currently no WinRT API to turn off sending default credentials other than the capability
-            // and intranet zone checks described above. In general, the UWP HTTP model for specifying default
-            // credentials is orthogonal to how the .NET System.Net APIs have been designed.
-            if (creds == null || creds == CredentialCache.DefaultCredentials)
-            {
-                return null;
-            }
-            else
-            {
-                Debug.Assert(creds is NetworkCredential);
-
-                NetworkCredential networkCred = (NetworkCredential)creds;
-
-                // Creating a new WinRT PasswordCredential object with the default constructor ends up
-                // with empty strings for username and password inside the object. However, one can't assign
-                // empty strings to those properties; otherwise, it will throw an error.
-                RTPasswordCredential rtCreds = new RTPasswordCredential();
-                if (!string.IsNullOrEmpty(networkCred.UserName))
-                {
-                    if (!string.IsNullOrEmpty(networkCred.Domain))
-                    {
-                        rtCreds.UserName = networkCred.Domain + "\\" + networkCred.UserName;
-                    }
-                    else
-                    {
-                        rtCreds.UserName = networkCred.UserName;
-                    }
-                }
-
-                if (!string.IsNullOrEmpty(networkCred.Password))
-                {
-                    rtCreds.Password = networkCred.Password;
-                }
-
-                return rtCreds;
-            }
-        }
-
-        private void SetFilterProxyCredential()
-        {
-            // We don't support changing the proxy settings in the UAP version of HttpClient since it's layered on
-            // WinRT HttpClient. But we do support passing in explicit proxy credentials, if specified, which we can
-            // get from the specified or default proxy.
-            ICredentials proxyCredentials = null;
-            if (UseProxy)
-            {
-                if (_proxy != null)
-                {
-                    proxyCredentials = _proxy.Credentials;
-                }
-                else
-                {
-                    proxyCredentials = _defaultProxyCredentials;
-                }
-            }
-
-            _rtFilter.ProxyCredential = RTPasswordCredentialFromICredentials(proxyCredentials);
-        }
-
-        private void SetFilterServerCredential()
-        {
-            _rtFilter.ServerCredential = RTPasswordCredentialFromICredentials(_credentials);
-        }
-
-        #endregion Request Setup
-
-        #region Request Execution
-
-        protected internal override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,
-            CancellationToken cancellationToken)
-        {
-            CheckDisposed();
-            SetOperationStarted();
-
-            HttpResponseMessage response;
-            try
-            {
-                if (string.Equals(request.Method.Method, HttpMethod.Trace.Method, StringComparison.OrdinalIgnoreCase))
-                {
-                    // https://github.com/dotnet/corefx/issues/22161
-                    throw new PlatformNotSupportedException(SR.Format(CultureInfo.InvariantCulture,
-                        SR.net_http_httpmethod_notsupported_error, request.Method.Method));
-                }
-
-                await ConfigureRequest(request).ConfigureAwait(false);
-
-                Task<HttpResponseMessage> responseTask = DiagnosticsHandler.IsEnabled() ?
-                    _diagnosticsPipeline.SendAsync(request, cancellationToken) :
-                    _handlerToFilter.SendAsync(request, cancellationToken);
-
-                response = await responseTask.ConfigureAwait(false);
-            }
-            catch (OperationCanceledException)
-            {
-                throw;
-            }
-            catch (Exception ex)
-            {
-                // Convert back to the expected exception type.
-                throw new HttpRequestException(SR.net_http_client_execution_error, ex);
-            }
-
-            return response;
-        }
-
-        #endregion Request Execution
-
-        #region Helpers
-
-        private void SetOperationStarted()
-        {
-            if (!_operationStarted)
-            {
-                // Since this is the first operation, we set all the necessary WinRT filter properties.
-                SetFilterProxyCredential();
-                SetFilterServerCredential();
-                if (_serverCertificateCustomValidationCallback != null)
-                {
-                    Debug.Assert(RTServerCustomValidationRequestedSupported);
-
-                    // The WinRT layer uses a different model for the certificate callback. The callback is
-                    // considered "extra" validation. We need to explicitly ignore errors so that the callback
-                    // will get called.
-                    //
-                    // In addition, the WinRT layer restricts some errors so that they cannot be ignored, such
-                    // as "Revoked". This will result in behavior differences between UWP and other platforms.
-                    // The following errors cannot be ignored right now in the WinRT layer:
-                    //
-                    //     ChainValidationResult.BasicConstraintsError
-                    //     ChainValidationResult.InvalidCertificateAuthorityPolicy
-                    //     ChainValidationResult.InvalidSignature
-                    //     ChainValidationResult.OtherErrors
-                    //     ChainValidationResult.Revoked
-                    //     ChainValidationResult.UnknownCriticalExtension
-                    _rtFilter.IgnorableServerCertificateErrors.Add(RTChainValidationResult.Expired);
-                    _rtFilter.IgnorableServerCertificateErrors.Add(RTChainValidationResult.IncompleteChain);
-                    _rtFilter.IgnorableServerCertificateErrors.Add(RTChainValidationResult.InvalidName);
-                    _rtFilter.IgnorableServerCertificateErrors.Add(RTChainValidationResult.RevocationFailure);
-                    _rtFilter.IgnorableServerCertificateErrors.Add(RTChainValidationResult.RevocationInformationMissing);
-                    _rtFilter.IgnorableServerCertificateErrors.Add(RTChainValidationResult.Untrusted);
-                    _rtFilter.IgnorableServerCertificateErrors.Add(RTChainValidationResult.WrongUsage);
-                    _rtFilter.ServerCustomValidationRequested += RTServerCertificateCallback;
-                }
-
-                _operationStarted = true;
-            }
-        }
-
-        private static bool InitRTCookieUsageBehaviorSupported()
-        {
-            return RTApiInformation.IsPropertyPresent(
-                "Windows.Web.Http.Filters.HttpBaseProtocolFilter",
-                "CookieUsageBehavior");
-        }
-
-        private static bool InitRTNoCacheSupported()
-        {
-            return RTApiInformation.IsEnumNamedValuePresent(
-                "Windows.Web.Http.Filters.HttpCacheReadBehavior",
-                "NoCache");
-        }
-
-        private static bool InitRTServerCustomValidationRequestedSupported()
-        {
-            return RTApiInformation.IsEventPresent(
-                "Windows.Web.Http.Filters.HttpBaseProtocolFilter",
-                "ServerCustomValidationRequested");
-        }
-
-        internal void RTServerCertificateCallback(RTHttpBaseProtocolFilter sender, RTHttpServerCustomValidationRequestedEventArgs args)
-        {
-            bool success = RTServerCertificateCallbackHelper(
-                args.RequestMessage,
-                args.ServerCertificate,
-                args.ServerIntermediateCertificates,
-                args.ServerCertificateErrors);
-
-            if (!success)
-            {
-                args.Reject();
-            }
-        }
-
-        private bool RTServerCertificateCallbackHelper(
-            RTHttpRequestMessage requestMessage,
-            RTCertificate cert,
-            IReadOnlyList<RTCertificate> intermediateCerts,
-            IReadOnlyList<RTChainValidationResult> certErrors)
-        {
-            // Convert WinRT certificate to .NET certificate.
-            X509Certificate2 serverCert = CertificateHelper.ConvertPublicKeyCertificate(cert);
-
-            // Create .NET X509Chain from the WinRT information. We need to rebuild the chain since WinRT only
-            // gives us an array of intermediate certificates and not a X509Chain object.
-            var serverChain = new X509Chain();
-            SslPolicyErrors sslPolicyErrors = SslPolicyErrors.None;
-            foreach (RTCertificate intermediateCert in intermediateCerts)
-            {
-                serverChain.ChainPolicy.ExtraStore.Add(CertificateHelper.ConvertPublicKeyCertificate(cert));
-            }
-            serverChain.ChainPolicy.RevocationMode = X509RevocationMode.Online; // WinRT always checks revocation.
-            serverChain.ChainPolicy.RevocationFlag = X509RevocationFlag.ExcludeRoot;
-            // Authenticate the remote party: (e.g. when operating in client mode, authenticate the server).
-            serverChain.ChainPolicy.ApplicationPolicy.Add(s_serverAuthOid);
-            if (!serverChain.Build(serverCert))
-            {
-                sslPolicyErrors |= SslPolicyErrors.RemoteCertificateChainErrors;
-            }
-
-            // Determine name-mismatch error from the existing WinRT information since .NET X509Chain.Build does not
-            // return that in the X509Chain.ChainStatus fields.
-            foreach (RTChainValidationResult result in certErrors)
-            {
-                if (result == RTChainValidationResult.InvalidName)
-                {
-                    sslPolicyErrors |= SslPolicyErrors.RemoteCertificateNameMismatch;
-                    break;
-                }
-            }
-
-            // Get the .NET HttpRequestMessage we saved in the property bag of the WinRT HttpRequestMessage.
-            HttpRequestMessage request = (HttpRequestMessage)requestMessage.Properties[RequestMessageLookupKey];
-
-            // Call the .NET callback.
-            bool success = false;
-            try
-            {
-                success = _serverCertificateCustomValidationCallback(request, serverCert, serverChain, sslPolicyErrors);
-            }
-            catch (Exception ex)
-            {
-                // Save the exception info. We will return it later via the SendAsync response processing.
-                requestMessage.Properties.Add(
-                    SavedExceptionDispatchInfoLookupKey,
-                    ExceptionDispatchInfo.Capture(ex));
-            }
-            finally
-            {
-                serverChain.Dispose();
-                serverCert.Dispose();
-            }
-
-            return success;
-        }
-
-        #endregion Helpers
-    }
-}
diff --git a/src/libraries/System.Net.Http/src/uap/System/Net/HttpHandlerToFilter.cs b/src/libraries/System.Net.Http/src/uap/System/Net/HttpHandlerToFilter.cs
deleted file mode 100644 (file)
index b56b743..0000000
+++ /dev/null
@@ -1,475 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Runtime.ExceptionServices;
-using System.Runtime.InteropServices.WindowsRuntime;
-using System.Threading;
-using System.Threading.Tasks;
-
-using Windows.Web.Http.Headers;
-
-using RTHttpMethod = Windows.Web.Http.HttpMethod;
-using RTHttpRequestMessage = Windows.Web.Http.HttpRequestMessage;
-using RTHttpResponseMessage = Windows.Web.Http.HttpResponseMessage;
-using RTHttpBufferContent = Windows.Web.Http.HttpBufferContent;
-using RTHttpStreamContent = Windows.Web.Http.HttpStreamContent;
-using RTHttpVersion = Windows.Web.Http.HttpVersion;
-using RTIHttpContent = Windows.Web.Http.IHttpContent;
-using RTIInputStream = Windows.Storage.Streams.IInputStream;
-using RTHttpBaseProtocolFilter = Windows.Web.Http.Filters.HttpBaseProtocolFilter;
-using RTChainValidationResult = Windows.Security.Cryptography.Certificates.ChainValidationResult;
-
-namespace System.Net.Http
-{
-    internal class HttpHandlerToFilter : HttpMessageHandler
-    {
-        // We need two different WinRT filters because we need to remove credentials during redirection requests
-        // and WinRT doesn't allow changing the filter properties after the first request.
-        private readonly RTHttpBaseProtocolFilter _filter;
-        private Lazy<RTHttpBaseProtocolFilter> _filterWithNoCredentials;
-        private RTHttpBaseProtocolFilter FilterWithNoCredentials => _filterWithNoCredentials.Value;
-
-        private int _filterMaxVersionSet;
-        private HttpClientHandler _handler;
-
-        internal HttpHandlerToFilter(
-            RTHttpBaseProtocolFilter filter,
-            HttpClientHandler handler)
-        {
-            if (filter == null)
-            {
-                throw new ArgumentNullException(nameof(filter));
-            }
-
-            _filter = filter;
-            _filterMaxVersionSet = 0;
-            _handler = handler;
-
-            _filterWithNoCredentials = new Lazy<RTHttpBaseProtocolFilter>(InitFilterWithNoCredentials);
-        }
-
-        internal string RequestMessageLookupKey { get; set; }
-        internal string SavedExceptionDispatchInfoLookupKey { get; set; }
-
-        protected internal override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancel)
-        {
-            int redirects = 0;
-            HttpMethod requestHttpMethod;
-            bool skipRequestContentIfPresent = false;
-            HttpResponseMessage response = null;
-
-            if (request == null)
-            {
-                throw new ArgumentNullException(nameof(request));
-            }
-
-            requestHttpMethod = request.Method;
-
-            while (true)
-            {
-                cancel.ThrowIfCancellationRequested();
-
-                if (response != null)
-                {
-                    response.Dispose();
-                    response = null;
-                }
-
-                RTHttpRequestMessage rtRequest = await ConvertRequestAsync(
-                    request,
-                    requestHttpMethod,
-                    skipRequestContentIfPresent).ConfigureAwait(false);
-
-                RTHttpResponseMessage rtResponse;
-                try
-                {
-                    rtResponse = await (redirects > 0 ? FilterWithNoCredentials : _filter).SendRequestAsync(rtRequest).AsTask(cancel).ConfigureAwait(false);
-                }
-                catch (TaskCanceledException)
-                {
-                    throw;
-                }
-                catch
-                {
-                    if (rtRequest.Properties.TryGetValue(SavedExceptionDispatchInfoLookupKey, out object info))
-                    {
-                        ((ExceptionDispatchInfo)info).Throw();
-                    }
-
-                    throw;
-                }
-
-                response = ConvertResponse(rtResponse);
-
-                ProcessResponseCookies(response, request.RequestUri);
-
-                if (!_handler.AllowAutoRedirect)
-                {
-                    break;
-                }
-
-                if (response.StatusCode != HttpStatusCode.MultipleChoices &&
-                    response.StatusCode != HttpStatusCode.MovedPermanently &&
-                    response.StatusCode != HttpStatusCode.Redirect &&
-                    response.StatusCode != HttpStatusCode.RedirectMethod &&
-                    response.StatusCode != HttpStatusCode.RedirectKeepVerb &&
-                    response.StatusCode != HttpStatusCode.PermanentRedirect)
-                {
-                    break;
-                }
-
-                redirects++;
-                if (redirects > _handler.MaxAutomaticRedirections)
-                {
-                    break;
-                }
-
-                Uri redirectUri = response.Headers.Location;
-                if (redirectUri == null)
-                {
-                    break;
-                }
-
-                if (!redirectUri.IsAbsoluteUri)
-                {
-                    redirectUri = new Uri(request.RequestUri, redirectUri.OriginalString);
-                }
-
-                if (redirectUri.Scheme != Uri.UriSchemeHttp &&
-                    redirectUri.Scheme != Uri.UriSchemeHttps)
-                {
-                    break;
-                }
-
-                if (request.RequestUri.Scheme == Uri.UriSchemeHttps &&
-                    redirectUri.Scheme == Uri.UriSchemeHttp)
-                {
-                    break;
-                }
-
-                // Follow HTTP RFC 7231 rules. In general, 3xx responses
-                // except for 307 and 308 will keep verb except POST becomes GET.
-                // 307 and 308 responses have all verbs stay the same.
-                // https://tools.ietf.org/html/rfc7231#section-6.4
-                if (response.StatusCode != HttpStatusCode.RedirectKeepVerb &&
-                    response.StatusCode != HttpStatusCode.PermanentRedirect &&
-                    requestHttpMethod == HttpMethod.Post)
-                {
-                    requestHttpMethod = HttpMethod.Get;
-                    skipRequestContentIfPresent = true;
-                }
-
-                request.RequestUri = redirectUri;
-            }
-
-            response.RequestMessage = request;
-
-            return response;
-        }
-
-        private RTHttpBaseProtocolFilter InitFilterWithNoCredentials()
-        {
-            RTHttpBaseProtocolFilter filter = new RTHttpBaseProtocolFilter();
-
-            filter.AllowAutoRedirect = _filter.AllowAutoRedirect;
-            filter.AllowUI = _filter.AllowUI;
-            filter.AutomaticDecompression = _filter.AutomaticDecompression;
-            filter.CacheControl.ReadBehavior = _filter.CacheControl.ReadBehavior;
-            filter.CacheControl.WriteBehavior = _filter.CacheControl.WriteBehavior;
-
-            if (HttpClientHandler.RTCookieUsageBehaviorSupported)
-            {
-                filter.CookieUsageBehavior = _filter.CookieUsageBehavior;
-            }
-
-            filter.MaxConnectionsPerServer = _filter.MaxConnectionsPerServer;
-            filter.MaxVersion = _filter.MaxVersion;
-            filter.UseProxy = _filter.UseProxy;
-
-            if (_handler.ServerCertificateCustomValidationCallback != null)
-            {
-                foreach (RTChainValidationResult error in _filter.IgnorableServerCertificateErrors)
-                {
-                    filter.IgnorableServerCertificateErrors.Add(error);
-                }
-
-                filter.ServerCustomValidationRequested += _handler.RTServerCertificateCallback;
-            }
-
-            return filter;
-        }
-
-        // Taken from System.Net.CookieModule.OnReceivedHeaders
-        private void ProcessResponseCookies(HttpResponseMessage response, Uri uri)
-        {
-            if (_handler.UseCookies)
-            {
-                IEnumerable<string> values;
-                if (response.Headers.TryGetValues(HttpKnownHeaderNames.SetCookie, out values))
-                {
-                    foreach (string cookieString in values)
-                    {
-                        if (!string.IsNullOrWhiteSpace(cookieString))
-                        {
-                            try
-                            {
-                                // Parse the cookies so that we can filter some of them out
-                                CookieContainer helper = new CookieContainer();
-                                helper.SetCookies(uri, cookieString);
-                                CookieCollection cookies = helper.GetCookies(uri);
-                                foreach (Cookie cookie in cookies)
-                                {
-                                    // We don't want to put HttpOnly cookies in the CookieContainer if the system
-                                    // doesn't support the RTHttpBaseProtocolFilter CookieUsageBehavior property.
-                                    // Prior to supporting that, the WinRT HttpClient could not turn off cookie
-                                    // processing. So, it would always be storing all cookies in its internal container.
-                                    // Putting HttpOnly cookies in the .NET CookieContainer would cause problems later
-                                    // when the .NET layer tried to add them on outgoing requests and conflicted with
-                                    // the WinRT internal cookie processing.
-                                    //
-                                    // With support for WinRT CookieUsageBehavior, cookie processing is turned off
-                                    // within the WinRT layer. This allows us to process cookies using only the .NET
-                                    // layer. So, we need to add all applicable cookies that are received to the
-                                    // CookieContainer.
-                                    if (HttpClientHandler.RTCookieUsageBehaviorSupported || !cookie.HttpOnly)
-                                    {
-                                        _handler.CookieContainer.Add(uri, cookie);
-                                    }
-                                }
-                            }
-                            catch (Exception)
-                            {
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-        private async Task<RTHttpRequestMessage> ConvertRequestAsync(
-            HttpRequestMessage request,
-            HttpMethod httpMethod,
-            bool skipRequestContentIfPresent)
-        {
-            RTHttpRequestMessage rtRequest = new RTHttpRequestMessage(
-                new RTHttpMethod(httpMethod.Method),
-                request.RequestUri);
-
-            // Add a reference from the WinRT object back to the .NET object.
-            rtRequest.Properties.Add(RequestMessageLookupKey, request);
-
-            // We can only control the Version on the first request message since the WinRT API
-            // has this property designed as a filter/handler property. In addition the overall design
-            // of HTTP/2.0 is such that once the first request is using it, all the other requests
-            // to the same endpoint will use it as well.
-            if (Interlocked.Exchange(ref _filterMaxVersionSet, 1) == 0)
-            {
-                RTHttpVersion maxVersion;
-                if (request.Version == HttpVersion.Version20)
-                {
-                    maxVersion = RTHttpVersion.Http20;
-                }
-                else if (request.Version == HttpVersion.Version11)
-                {
-                    maxVersion = RTHttpVersion.Http11;
-                }
-                else if (request.Version == HttpVersion.Version10)
-                {
-                    maxVersion = RTHttpVersion.Http10;
-                }
-                else
-                {
-                    maxVersion = RTHttpVersion.Http11;
-                }
-
-                // The default for WinRT HttpBaseProtocolFilter.MaxVersion is HttpVersion.Http20.
-                // So, we only have to change it if we don't want HTTP/2.0.
-                if (maxVersion !=  RTHttpVersion.Http20)
-                {
-                    _filter.MaxVersion = maxVersion;
-                }
-            }
-
-            // Headers
-            foreach (KeyValuePair<string, IEnumerable<string>> headerPair in request.Headers)
-            {
-                foreach (string value in headerPair.Value)
-                {
-                    bool success = rtRequest.Headers.TryAppendWithoutValidation(headerPair.Key, value);
-                    Debug.Assert(success);
-                }
-            }
-
-            // Cookies
-            if (_handler.UseCookies)
-            {
-                string cookieHeader = _handler.CookieContainer.GetCookieHeader(request.RequestUri);
-                if (!string.IsNullOrWhiteSpace(cookieHeader))
-                {
-                    bool success = rtRequest.Headers.TryAppendWithoutValidation(HttpKnownHeaderNames.Cookie, cookieHeader);
-                    Debug.Assert(success);
-                }
-            }
-
-            // Properties
-            foreach (KeyValuePair<string, object> propertyPair in request.Properties)
-            {
-                rtRequest.Properties.Add(propertyPair.Key, propertyPair.Value);
-            }
-
-            // Content
-            if (!skipRequestContentIfPresent && request.Content != null)
-            {
-                rtRequest.Content = await CreateRequestContentAsync(request, rtRequest.Headers).ConfigureAwait(false);
-            }
-
-            return rtRequest;
-        }
-
-        private static async Task<RTIHttpContent> CreateRequestContentAsync(HttpRequestMessage request, HttpRequestHeaderCollection rtHeaderCollection)
-        {
-            HttpContent content = request.Content;
-
-            RTIHttpContent rtContent;
-            ArraySegment<byte> buffer;
-
-            // If we are buffered already, it is more efficient to send the data directly using the buffer with the
-            // WinRT HttpBufferContent class than using HttpStreamContent. This also avoids issues caused by
-            // a design limitation in the System.Runtime.WindowsRuntime System.IO.NetFxToWinRtStreamAdapter.
-            if (content.TryGetBuffer(out buffer))
-            {
-                rtContent = new RTHttpBufferContent(buffer.Array.AsBuffer(), (uint)buffer.Offset, (uint)buffer.Count);
-            }
-            else
-            {
-                Stream contentStream = await content.ReadAsStreamAsync().ConfigureAwait(false);
-
-                if (contentStream is RTIInputStream)
-                {
-                    rtContent = new RTHttpStreamContent((RTIInputStream)contentStream);
-                }
-                else if (contentStream is MemoryStream)
-                {
-                    var memStream = contentStream as MemoryStream;
-                    if (memStream.TryGetBuffer(out buffer))
-                    {
-                        rtContent = new RTHttpBufferContent(buffer.Array.AsBuffer(), (uint)buffer.Offset, (uint)buffer.Count);
-                    }
-                    else
-                    {
-                        byte[] byteArray = memStream.ToArray();
-                        rtContent = new RTHttpBufferContent(byteArray.AsBuffer(), 0, (uint) byteArray.Length);
-                    }
-                }
-                else
-                {
-                    rtContent = new RTHttpStreamContent(contentStream.AsInputStream());
-                }
-            }
-
-            // RTHttpBufferContent constructor automatically adds a Content-Length header. RTHttpStreamContent does not.
-            // Clear any 'Content-Length' header added by the RTHttp*Content objects. We need to clear that now
-            // and decide later whether we need 'Content-Length' or 'Transfer-Encoding: chunked' headers based on the
-            // .NET HttpRequestMessage and Content header collections.
-            rtContent.Headers.ContentLength = null;
-
-            // Deal with conflict between 'Content-Length' vs. 'Transfer-Encoding: chunked' semantics.
-            // Desktop System.Net allows both headers to be specified but ends up stripping out
-            // 'Content-Length' and using chunked semantics.  The WinRT APIs throw an exception so
-            // we need to manually strip out the conflicting header to maintain app compatibility.
-            if (request.Headers.TransferEncodingChunked.HasValue && request.Headers.TransferEncodingChunked.Value)
-            {
-                content.Headers.ContentLength = null;
-            }
-            else
-            {
-                // Trigger delayed header generation via TryComputeLength. This code is needed due to an outstanding
-                // bug in HttpContentHeaders.ContentLength. See GitHub Issue #5523.
-                content.Headers.ContentLength = content.Headers.ContentLength;
-            }
-
-            foreach (KeyValuePair<string, IEnumerable<string>> headerPair in content.Headers)
-            {
-                foreach (string value in headerPair.Value)
-                {
-                    if (!rtContent.Headers.TryAppendWithoutValidation(headerPair.Key, value))
-                    {
-                        // rtContent headers are restricted to a white-list of allowed headers, while System.Net.HttpClient's content headers
-                        // will allow custom headers.  If something is not successfully added to the content headers, try adding them to the standard headers.
-                        bool success = rtHeaderCollection.TryAppendWithoutValidation(headerPair.Key, value);
-                        Debug.Assert(success);
-                    }
-                }
-            }
-            return rtContent;
-        }
-
-        private static HttpResponseMessage ConvertResponse(RTHttpResponseMessage rtResponse)
-        {
-            HttpResponseMessage response = new HttpResponseMessage((HttpStatusCode)rtResponse.StatusCode);
-            response.ReasonPhrase = rtResponse.ReasonPhrase;
-
-            // Version
-            if (rtResponse.Version == RTHttpVersion.Http11)
-            {
-                response.Version = HttpVersion.Version11;
-            }
-            else if (rtResponse.Version == RTHttpVersion.Http10)
-            {
-                response.Version = HttpVersion.Version10;
-            }
-            else if (rtResponse.Version == RTHttpVersion.Http20)
-            {
-                response.Version = HttpVersion.Version20;
-            }
-            else
-            {
-                response.Version = new Version(0, 0);
-            }
-
-            bool success;
-
-            // Headers
-            foreach (KeyValuePair<string, string> headerPair in rtResponse.Headers)
-            {
-                if (headerPair.Key.Equals(HttpKnownHeaderNames.SetCookie, StringComparison.OrdinalIgnoreCase))
-                {
-                    // The Set-Cookie header always comes back with all of the cookies concatenated together.
-                    // For example if the response contains the following:
-                    //     Set-Cookie A=1
-                    //     Set-Cookie B=2
-                    // Then we will have a single header KeyValuePair of Key=Set-Cookie, Value=A=1, B=2.
-                    // However clients expect these headers to be separated(i.e.
-                    // httpResponseMessage.Headers.GetValues("Set-Cookie") should return two cookies not one
-                    // concatenated together).
-                    success = response.Headers.TryAddWithoutValidation(headerPair.Key, CookieHelper.GetCookiesFromHeader(headerPair.Value));
-                }
-                else
-                {
-                    success = response.Headers.TryAddWithoutValidation(headerPair.Key, headerPair.Value);
-                }
-
-                Debug.Assert(success);
-            }
-
-            // Content
-            if (rtResponse.Content != null)
-            {
-                var rtResponseStream = rtResponse.Content.ReadAsInputStreamAsync().AsTask().Result;
-                response.Content = new StreamContent(rtResponseStream.AsStreamForRead());
-
-                foreach (KeyValuePair<string, string> headerPair in rtResponse.Content.Headers)
-                {
-                    success = response.Content.Headers.TryAddWithoutValidation(headerPair.Key, headerPair.Value);
-                    Debug.Assert(success);
-                }
-            }
-
-            return response;
-        }
-    }
-}
diff --git a/src/libraries/System.Net.Http/src/uap/System/Net/cookie.cs b/src/libraries/System.Net.Http/src/uap/System/Net/cookie.cs
deleted file mode 100644 (file)
index cfdc4fc..0000000
+++ /dev/null
@@ -1,1894 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Collections;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Text;
-using System.Threading;
-
-// The uap #define is used in some source files to indicate we are compiling classes
-// directly into the UWP System.Net.Http.dll implementation assembly in order to use internal class
-// methods. Internal methods are needed in order to map cookie response headers from the WinRT Windows.Web.Http APIs.
-// Windows.Web.Http is used underneath the System.Net.Http classes on .NET Native. Having other similarly
-// named classes would normally conflict with the public System.Net namespace classes.
-// So, we need to move the classes to a different namespace. Those classes are never
-// exposed up to user code so there isn't a problem.  In the future, we might expose some of the internal methods
-// as new public APIs and then we can remove this duplicate source code inclusion in the binaries.
-#if uap
-namespace System.Net.Internal
-#else
-namespace System.Net
-#endif
-{
-    internal enum CookieVariant
-    {
-        Unknown,
-        Plain,
-        Rfc2109,
-        Rfc2965,
-        Default = Rfc2109
-    }
-
-    //
-    // Cookie class
-    //
-    //  Adheres to RFC 2965
-    //
-    //  Currently, only client-side cookies. The cookie classes know how to
-    //  parse a set-cookie format string, but not a cookie format string
-    //  (e.g. "Cookie: $Version=1; name=value; $Path=/foo; $Secure")
-    //
-
-    /// <devdoc>
-    ///    <para>[To be supplied.]</para>
-    /// </devdoc>
-    public sealed class Cookie
-    {
-        internal const int MaxSupportedVersion = 1;
-        internal const string CommentAttributeName = "Comment";
-        internal const string CommentUrlAttributeName = "CommentURL";
-        internal const string DiscardAttributeName = "Discard";
-        internal const string DomainAttributeName = "Domain";
-        internal const string ExpiresAttributeName = "Expires";
-        internal const string MaxAgeAttributeName = "Max-Age";
-        internal const string PathAttributeName = "Path";
-        internal const string PortAttributeName = "Port";
-        internal const string SecureAttributeName = "Secure";
-        internal const string VersionAttributeName = "Version";
-        internal const string HttpOnlyAttributeName = "HttpOnly";
-
-        internal const string SeparatorLiteral = "; ";
-        internal const string EqualsLiteral = "=";
-        internal const string QuotesLiteral = "\"";
-        internal const string SpecialAttributeLiteral = "$";
-
-        internal static readonly char[] PortSplitDelimiters = new char[] { ' ', ',', '\"' };
-        // Space (' ') should be reserved as well per RFCs, but major web browsers support it and some web sites use it - so we support it too
-        internal static readonly char[] Reserved2Name = new char[] { '\t', '\r', '\n', '=', ';', ',' };
-        internal static readonly char[] Reserved2Value = new char[] { ';', ',' };
-
-        // fields
-
-        private string m_comment = string.Empty;
-        private Uri m_commentUri = null;
-        private CookieVariant m_cookieVariant = CookieVariant.Plain;
-        private bool m_discard = false;
-        private string m_domain = string.Empty;
-        private bool m_domain_implicit = true;
-        private DateTime m_expires = DateTime.MinValue;
-        private string m_name = string.Empty;
-        private string m_path = string.Empty;
-        private bool m_path_implicit = true;
-        private string m_port = string.Empty;
-        private bool m_port_implicit = true;
-        private int[] m_port_list = null;
-        private bool m_secure = false;
-        private bool m_httpOnly = false;
-        private DateTime m_timeStamp = DateTime.Now;
-        private string m_value = string.Empty;
-        private int m_version = 0;
-
-        private string m_domainKey = string.Empty;
-        internal bool IsQuotedVersion = false;
-        internal bool IsQuotedDomain = false;
-
-
-        // constructors
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public Cookie()
-        {
-        }
-
-
-        //public Cookie(string cookie) {
-        //    if ((cookie == null) || (cookie == String.Empty)) {
-        //        throw new ArgumentException("cookie");
-        //    }
-        //    Parse(cookie.Trim());
-        //    Validate();
-        //}
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public Cookie(string name, string value)
-        {
-            Name = name;
-            Value = value;
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public Cookie(string name, string value, string path)
-            : this(name, value)
-        {
-            Path = path;
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public Cookie(string name, string value, string path, string domain)
-            : this(name, value, path)
-        {
-            Domain = domain;
-        }
-
-        // properties
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public string Comment
-        {
-            get
-            {
-                return m_comment;
-            }
-            set
-            {
-                if (value == null)
-                {
-                    value = string.Empty;
-                }
-                m_comment = value;
-            }
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public Uri CommentUri
-        {
-            get
-            {
-                return m_commentUri;
-            }
-            set
-            {
-                m_commentUri = value;
-            }
-        }
-
-
-        public bool HttpOnly
-        {
-            get
-            {
-                return m_httpOnly;
-            }
-            set
-            {
-                m_httpOnly = value;
-            }
-        }
-
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public bool Discard
-        {
-            get
-            {
-                return m_discard;
-            }
-            set
-            {
-                m_discard = value;
-            }
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public string Domain
-        {
-            get
-            {
-                return m_domain;
-            }
-            set
-            {
-                m_domain = (value == null ? string.Empty : value);
-                m_domain_implicit = false;
-                m_domainKey = string.Empty; //this will get it value when adding into the Container.
-            }
-        }
-
-        internal bool DomainImplicit
-        {
-            get
-            {
-                return m_domain_implicit;
-            }
-            set
-            {
-                m_domain_implicit = value;
-            }
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public bool Expired
-        {
-            get
-            {
-                return (m_expires != DateTime.MinValue) && (m_expires.ToLocalTime() <= DateTime.Now);
-            }
-            set
-            {
-                if (value == true)
-                {
-                    m_expires = DateTime.Now;
-                }
-            }
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public DateTime Expires
-        {
-            get
-            {
-                return m_expires;
-            }
-            set
-            {
-                m_expires = value;
-            }
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public string Name
-        {
-            get
-            {
-                return m_name;
-            }
-            set
-            {
-                if (string.IsNullOrEmpty(value) || !InternalSetName(value))
-                {
-                    throw new CookieException(SR.Format(SR.net_cookie_attribute, "Name", value == null ? "<null>" : value));
-                }
-            }
-        }
-
-        internal bool InternalSetName(string value)
-        {
-            if (string.IsNullOrEmpty(value) || value[0] == '$' || value.IndexOfAny(Reserved2Name) != -1 ||  value[0] == ' ' || value[value.Length - 1] == ' ')
-            {
-                m_name = string.Empty;
-                return false;
-            }
-            m_name = value;
-            return true;
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public string Path
-        {
-            get
-            {
-                return m_path;
-            }
-            set
-            {
-                m_path = (value == null ? string.Empty : value);
-                m_path_implicit = false;
-            }
-        }
-
-        internal bool Plain
-        {
-            get
-            {
-                return Variant == CookieVariant.Plain;
-            }
-        }
-
-        internal Cookie Clone()
-        {
-            Cookie clonedCookie = new Cookie(m_name, m_value);
-
-            //
-            // Copy over all the properties from the original cookie
-            //
-            if (!m_port_implicit)
-            {
-                clonedCookie.Port = m_port;
-            }
-            if (!m_path_implicit)
-            {
-                clonedCookie.Path = m_path;
-            }
-            clonedCookie.Domain = m_domain;
-            //
-            // If the domain in the original cookie was implicit, we should preserve that property
-            clonedCookie.DomainImplicit = m_domain_implicit;
-            clonedCookie.m_timeStamp = m_timeStamp;
-            clonedCookie.Comment = m_comment;
-            clonedCookie.CommentUri = m_commentUri;
-            clonedCookie.HttpOnly = m_httpOnly;
-            clonedCookie.Discard = m_discard;
-            clonedCookie.Expires = m_expires;
-            clonedCookie.Version = m_version;
-            clonedCookie.Secure = m_secure;
-
-            //
-            // The variant is set when we set properties like port/version. So,
-            // we should copy over the variant from the original cookie after
-            // we set all other properties
-            clonedCookie.m_cookieVariant = m_cookieVariant;
-
-            return clonedCookie;
-        }
-
-        private static bool IsDomainEqualToHost(string domain, string host)
-        {
-            //
-            // +1 in the host length is to account for the leading dot in domain
-            return (host.Length + 1 == domain.Length) &&
-                (string.Compare(host, 0, domain, 1, host.Length, StringComparison.OrdinalIgnoreCase) == 0);
-        }
-
-        //
-        // According to spec we must assume default values for attributes but still
-        // keep in mind that we must not include them into the requests.
-        // We also check the validity of all attributes based on the version and variant (read RFC)
-        //
-        // To work properly this function must be called after cookie construction with
-        // default (response) URI AND set_default == true
-        //
-        // Afterwards, the function can be called many times with other URIs and
-        // set_default == false to check whether this cookie matches given uri
-        //
-
-        internal bool VerifySetDefaults(CookieVariant variant, Uri uri, bool isLocalDomain, string localDomain, bool set_default, bool isThrow)
-        {
-            string host = uri.Host;
-            int port = uri.Port;
-            string path = uri.AbsolutePath;
-            bool valid = true;
-
-            if (set_default)
-            {
-                // Set Variant. If version is zero => reset cookie to Version0 style
-                if (Version == 0)
-                {
-                    variant = CookieVariant.Plain;
-                }
-                else if (Version == 1 && variant == CookieVariant.Unknown)
-                {
-                    //since we don't expose Variant to an app, set it to Default
-                    variant = CookieVariant.Default;
-                }
-                m_cookieVariant = variant;
-            }
-
-            //Check the name
-            if (string.IsNullOrEmpty(m_name) || m_name[0] == '$' || m_name.IndexOfAny(Reserved2Name) != -1 ||  m_name[0] == ' ' || m_name[m_name.Length - 1] == ' ')
-            {
-                if (isThrow)
-                {
-                    throw new CookieException(SR.Format(SR.net_cookie_attribute, "Name", m_name == null ? "<null>" : m_name));
-                }
-                return false;
-            }
-
-            //Check the value
-            if (m_value == null ||
-                (!(m_value.Length > 2 && m_value[0] == '\"' && m_value[m_value.Length - 1] == '\"') && m_value.IndexOfAny(Reserved2Value) != -1))
-            {
-                if (isThrow)
-                {
-                    throw new CookieException(SR.Format(SR.net_cookie_attribute, "Value", m_value == null ? "<null>" : m_value));
-                }
-                return false;
-            }
-
-            //Check Comment syntax
-            if (Comment != null && !(Comment.Length > 2 && Comment[0] == '\"' && Comment[Comment.Length - 1] == '\"')
-                && (Comment.IndexOfAny(Reserved2Value) != -1))
-            {
-                if (isThrow)
-                    throw new CookieException(SR.Format(SR.net_cookie_attribute, CommentAttributeName, Comment));
-                return false;
-            }
-
-            //Check Path syntax
-            if (Path != null && !(Path.Length > 2 && Path[0] == '\"' && Path[Path.Length - 1] == '\"')
-                && (Path.IndexOfAny(Reserved2Value) != -1))
-            {
-                if (isThrow)
-                {
-                    throw new CookieException(SR.Format(SR.net_cookie_attribute, PathAttributeName, Path));
-                }
-                return false;
-            }
-
-            //Check/set domain
-            // if domain is implicit => assume a) uri is valid, b) just set domain to uri hostname
-            if (set_default && m_domain_implicit == true)
-            {
-                m_domain = host;
-            }
-            else
-            {
-                if (!m_domain_implicit)
-                {
-                    // Forwarding note: If Uri.Host is of IP address form then the only supported case
-                    // is for IMPLICIT domain property of a cookie.
-                    // The below code (explicit cookie.Domain value) will try to parse Uri.Host IP string
-                    // as a fqdn and reject the cookie
-
-                    //aliasing since we might need the KeyValue (but not the original one)
-                    string domain = m_domain;
-
-                    //Syntax check for Domain charset plus empty string
-                    if (!DomainCharsTest(domain))
-                    {
-                        if (isThrow)
-                        {
-                            throw new CookieException(SR.Format(SR.net_cookie_attribute, DomainAttributeName, domain == null ? "<null>" : domain));
-                        }
-                        return false;
-                    }
-
-                    //domain must start with '.' if set explicitly
-                    if (domain[0] != '.')
-                    {
-                        if (!(variant == CookieVariant.Rfc2965 || variant == CookieVariant.Plain))
-                        {
-                            if (isThrow)
-                            {
-                                throw new CookieException(SR.Format(SR.net_cookie_attribute, DomainAttributeName, m_domain));
-                            }
-                            return false;
-                        }
-                        domain = '.' + domain;
-                    }
-
-                    int host_dot = host.IndexOf('.');
-
-                    // First quick check is for pushing a cookie into the local domain
-                    if (isLocalDomain && string.Equals(localDomain, domain, StringComparison.OrdinalIgnoreCase))
-                    {
-                        valid = true;
-                    }
-                    else if (domain.IndexOf('.', 1, domain.Length - 2) == -1)
-                    {
-                        // A single label domain is valid only if the domain is exactly the same as the host specified in the URI
-                        if (!IsDomainEqualToHost(domain, host))
-                        {
-                            valid = false;
-                        }
-                    }
-                    else if (variant == CookieVariant.Plain)
-                    {
-                        // We distinguish between Version0 cookie and other versions on domain issue
-                        // According to Version0 spec a domain must be just a substring of the hostname
-
-                        if (!IsDomainEqualToHost(domain, host))
-                        {
-                            if (host.Length <= domain.Length ||
-                                string.Compare(host, host.Length - domain.Length, domain, 0, domain.Length, StringComparison.OrdinalIgnoreCase) != 0)
-                            {
-                                valid = false;
-                            }
-                        }
-                    }
-                    else if (host_dot == -1 ||
-                             domain.Length != host.Length - host_dot ||
-                             string.Compare(host, host_dot, domain, 0, domain.Length, StringComparison.OrdinalIgnoreCase) != 0)
-                    {
-                        //starting the first dot, the host must match the domain
-
-                        // for null hosts, the host must match the domain exactly
-                        if (!IsDomainEqualToHost(domain, host))
-                        {
-                            valid = false;
-                        }
-                    }
-
-                    if (valid)
-                    {
-                        m_domainKey = domain.ToLowerInvariant();
-                    }
-                }
-                else
-                {
-                    // for implicitly set domain AND at the set_default==false time
-                    // we simply got to match uri.Host against m_domain
-                    if (!string.Equals(host, m_domain, StringComparison.OrdinalIgnoreCase))
-                    {
-                        valid = false;
-                    }
-                }
-                if (!valid)
-                {
-                    if (isThrow)
-                    {
-                        throw new CookieException(SR.Format(SR.net_cookie_attribute, DomainAttributeName, m_domain));
-                    }
-                    return false;
-                }
-            }
-
-
-            //Check/Set Path
-
-            if (set_default && m_path_implicit == true)
-            {
-                //assuming that uri path is always valid and contains at least one '/'
-                switch (m_cookieVariant)
-                {
-                    case CookieVariant.Plain:
-                        m_path = path;
-                        break;
-                    case CookieVariant.Rfc2109:
-                        m_path = path.Substring(0, path.LastIndexOf('/')); //may be empty
-                        break;
-
-                    case CookieVariant.Rfc2965:
-                    default:                //hope future versions will have same 'Path' semantic?
-                        m_path = path.Substring(0, path.LastIndexOf('/') + 1);
-                        break;
-                }
-            }
-            else
-            {
-                //check current path (implicit/explicit) against given uri
-                if (!path.StartsWith(CookieParser.CheckQuoted(m_path)))
-                {
-                    if (isThrow)
-                    {
-                        throw new CookieException(SR.Format(SR.net_cookie_attribute, PathAttributeName, m_path));
-                    }
-                    return false;
-                }
-            }
-
-            // set the default port if Port attribute was present but had no value
-            if (set_default && (m_port_implicit == false && m_port.Length == 0))
-            {
-                m_port_list = new int[1] { port };
-            }
-
-            if (m_port_implicit == false)
-            {
-                // Port must match against the one from the uri
-                valid = false;
-                foreach (int p in m_port_list)
-                {
-                    if (p == port)
-                    {
-                        valid = true;
-                        break;
-                    }
-                }
-                if (!valid)
-                {
-                    if (isThrow)
-                    {
-                        throw new CookieException(SR.Format(SR.net_cookie_attribute, PortAttributeName, m_port));
-                    }
-                    return false;
-                }
-            }
-            return true;
-        }
-
-        //Very primitive test to make sure that the name does not have illegal characters
-        // As per RFC 952 (relaxed on first char could be a digit and string can have '_')
-        private static bool DomainCharsTest(string name)
-        {
-            if (name == null || name.Length == 0)
-            {
-                return false;
-            }
-            for (int i = 0; i < name.Length; ++i)
-            {
-                char ch = name[i];
-                if (!(
-                      (ch >= '0' && ch <= '9') ||
-                      (ch == '.' || ch == '-') ||
-                      (ch >= 'a' && ch <= 'z') ||
-                      (ch >= 'A' && ch <= 'Z') ||
-                      (ch == '_')
-                    ))
-                    return false;
-            }
-            return true;
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public string Port
-        {
-            get
-            {
-                return m_port;
-            }
-            set
-            {
-                m_port_implicit = false;
-                if ((value == null || value.Length == 0))
-                {
-                    //"Port" is present but has no value.
-                    m_port = string.Empty;
-                }
-                else
-                {
-                    // Parse port list
-                    if (value[0] != '\"' || value[value.Length - 1] != '\"')
-                    {
-                        throw new CookieException(SR.Format(SR.net_cookie_attribute, PortAttributeName, value));
-                    }
-                    string[] ports = value.Split(PortSplitDelimiters);
-
-                    List<int> portList = new List<int>();
-                    int port;
-
-                    for (int i = 0; i < ports.Length; ++i)
-                    {
-                        // Skip spaces
-                        if (ports[i] != string.Empty)
-                        {
-                            if (!int.TryParse(ports[i], out port))
-                                throw new CookieException(SR.Format(SR.net_cookie_attribute, PortAttributeName, value));
-                            // valid values for port 0 - 0xFFFF
-                            if ((port < 0) || (port > 0xFFFF))
-                                throw new CookieException(SR.Format(SR.net_cookie_attribute, PortAttributeName, value));
-                            portList.Add(port);
-                        }
-                    }
-                    m_port_list = portList.ToArray();
-                    m_port = value;
-                    m_version = MaxSupportedVersion;
-                    m_cookieVariant = CookieVariant.Rfc2965;
-                }
-            }
-        }
-
-
-        internal int[] PortList
-        {
-            get
-            {
-                //It must be null if Port Attribute was omitted in the response
-                return m_port_list;
-            }
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public bool Secure
-        {
-            get
-            {
-                return m_secure;
-            }
-            set
-            {
-                m_secure = value;
-            }
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public DateTime TimeStamp
-        {
-            get
-            {
-                return m_timeStamp;
-            }
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public string Value
-        {
-            get
-            {
-                return m_value;
-            }
-            set
-            {
-                m_value = (value == null ? string.Empty : value);
-            }
-        }
-
-        internal CookieVariant Variant
-        {
-            get
-            {
-                return m_cookieVariant;
-            }
-            set
-            {
-                // only set by HttpListenerRequest::Cookies_get()
-#if !uap
-                if (NetEventSource.IsEnabled) NetEventSource.Info(this, $"value:{value}");
-#endif
-                m_cookieVariant = value;
-            }
-        }
-
-        // m_domainKey member is set internally in VerifySetDefaults()
-        // If it is not set then verification function was not called
-        // and this should never happen
-        internal string DomainKey
-        {
-            get
-            {
-                return m_domain_implicit ? Domain : m_domainKey;
-            }
-        }
-
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public int Version
-        {
-            get
-            {
-                return m_version;
-            }
-            set
-            {
-                if (value < 0)
-                {
-                    throw new ArgumentOutOfRangeException(nameof(value));
-                }
-                m_version = value;
-                if (value > 0 && m_cookieVariant < CookieVariant.Rfc2109)
-                {
-                    m_cookieVariant = CookieVariant.Rfc2109;
-                }
-            }
-        }
-
-        // methods
-
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public override bool Equals(object comparand)
-        {
-            if (!(comparand is Cookie))
-            {
-                return false;
-            }
-
-            Cookie other = (Cookie)comparand;
-
-            return (string.Equals(Name, other.Name, StringComparison.OrdinalIgnoreCase))
-                    && (string.Equals(Value, other.Value, StringComparison.Ordinal))
-                    && (string.Equals(Path, other.Path, StringComparison.Ordinal))
-                    && (string.Equals(Domain, other.Domain, StringComparison.OrdinalIgnoreCase))
-                    && (Version == other.Version)
-                    ;
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public override int GetHashCode()
-        {
-            //
-            //string hashString = Name + "=" + Value + ";" + Path + "; " + Domain + "; " + Version;
-            //int hash = 0;
-            //
-            //foreach (char ch in hashString) {
-            //    hash = unchecked(hash << 1 ^ (int)ch);
-            //}
-            //return hash;
-            return (Name + "=" + Value + ";" + Path + "; " + Domain + "; " + Version).GetHashCode();
-        }
-
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public override string ToString()
-        {
-            var sb = new StringBuilder();
-            ToString(sb);
-            return sb.ToString();
-        }
-
-        internal void ToString(StringBuilder sb)
-        {
-            int beforeLength = sb.Length;
-
-            // Add the Cookie version if necessary.
-            if (Version != 0)
-            {
-                sb.Append(SpecialAttributeLiteral + VersionAttributeName + EqualsLiteral); // const strings
-                if (IsQuotedVersion) sb.Append('"');
-                sb.Append(m_version.ToString(NumberFormatInfo.InvariantInfo));
-                if (IsQuotedVersion) sb.Append('"');
-                sb.Append(SeparatorLiteral);
-            }
-
-            // Add the Cookie Name=Value pair.
-            sb.Append(Name).Append(EqualsLiteral).Append(Value);
-
-            if (!Plain)
-            {
-                // Add the Path if necessary.
-                if (!m_path_implicit && m_path.Length > 0)
-                {
-                    sb.Append(SeparatorLiteral + SpecialAttributeLiteral + PathAttributeName + EqualsLiteral); // const strings
-                    sb.Append(m_path);
-                }
-
-                // Add the Domain if necessary.
-                if (!m_domain_implicit && m_domain.Length > 0)
-                {
-                    sb.Append(SeparatorLiteral + SpecialAttributeLiteral + DomainAttributeName + EqualsLiteral); // const strings
-                    if (IsQuotedDomain) sb.Append('"');
-                    sb.Append(m_domain);
-                    if (IsQuotedDomain) sb.Append('"');
-                }
-            }
-
-            // Add the Port if necessary.
-            if (!m_port_implicit)
-            {
-                sb.Append(SeparatorLiteral + SpecialAttributeLiteral + PortAttributeName); // const strings
-                if (m_port.Length > 0)
-                {
-                    sb.Append(EqualsLiteral);
-                    sb.Append(m_port);
-                }
-            }
-
-            // Check to see whether the only thing we added was "=", and if so,
-            // remove it so that we leave the StringBuilder unchanged in contents.
-            int afterLength = sb.Length;
-            if (afterLength == (1 + beforeLength) && sb[beforeLength] == '=')
-            {
-                sb.Length = beforeLength;
-            }
-        }
-
-        internal string ToServerString()
-        {
-            string result = Name + EqualsLiteral + Value;
-            if (m_comment != null && m_comment.Length > 0)
-            {
-                result += SeparatorLiteral + CommentAttributeName + EqualsLiteral + m_comment;
-            }
-            if (m_commentUri != null)
-            {
-                result += SeparatorLiteral + CommentUrlAttributeName + EqualsLiteral + QuotesLiteral + m_commentUri.ToString() + QuotesLiteral;
-            }
-            if (m_discard)
-            {
-                result += SeparatorLiteral + DiscardAttributeName;
-            }
-            if (!m_domain_implicit && m_domain != null && m_domain.Length > 0)
-            {
-                result += SeparatorLiteral + DomainAttributeName + EqualsLiteral + m_domain;
-            }
-            if (Expires != DateTime.MinValue)
-            {
-                int seconds = (int)(Expires.ToLocalTime() - DateTime.Now).TotalSeconds;
-                if (seconds < 0)
-                {
-                    // This means that the cookie has already expired. Set Max-Age to 0
-                    // so that the client will discard the cookie immediately
-                    seconds = 0;
-                }
-                result += SeparatorLiteral + MaxAgeAttributeName + EqualsLiteral + seconds.ToString(NumberFormatInfo.InvariantInfo);
-            }
-            if (!m_path_implicit && m_path != null && m_path.Length > 0)
-            {
-                result += SeparatorLiteral + PathAttributeName + EqualsLiteral + m_path;
-            }
-            if (!Plain && !m_port_implicit && m_port != null && m_port.Length > 0)
-            {
-                // QuotesLiteral are included in m_port
-                result += SeparatorLiteral + PortAttributeName + EqualsLiteral + m_port;
-            }
-            if (m_version > 0)
-            {
-                result += SeparatorLiteral + VersionAttributeName + EqualsLiteral + m_version.ToString(NumberFormatInfo.InvariantInfo);
-            }
-            return result == EqualsLiteral ? null : result;
-        }
-
-        //private void Validate() {
-        //    if ((m_name == String.Empty) && (m_value == String.Empty)) {
-        //        throw new CookieException();
-        //    }
-        //    if ((m_name != String.Empty) && (m_name[0] == '$')) {
-        //        throw new CookieException();
-        //    }
-        //}
-
-#if DEBUG
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        internal void Dump()
-        {
-#if !uap
-            if (NetEventSource.IsEnabled)
-                NetEventSource.Info(this,
-                              "Cookie: " + ToString() + "->\n"
-                            + "\tComment    = " + Comment + "\n"
-                            + "\tCommentUri = " + CommentUri + "\n"
-                            + "\tDiscard    = " + Discard + "\n"
-                            + "\tDomain     = " + Domain + "\n"
-                            + "\tExpired    = " + Expired + "\n"
-                            + "\tExpires    = " + Expires + "\n"
-                            + "\tName       = " + Name + "\n"
-                            + "\tPath       = " + Path + "\n"
-                            + "\tPort       = " + Port + "\n"
-                            + "\tSecure     = " + Secure + "\n"
-                            + "\tTimeStamp  = " + TimeStamp + "\n"
-                            + "\tValue      = " + Value + "\n"
-                            + "\tVariant    = " + Variant + "\n"
-                            + "\tVersion    = " + Version + "\n"
-                            + "\tHttpOnly    = " + HttpOnly + "\n"
-                            );
-#endif
-        }
-#endif
-    }
-
-    internal enum CookieToken
-    {
-        // state types
-
-        Nothing,
-        NameValuePair,  // X=Y
-        Attribute,      // X
-        EndToken,       // ';'
-        EndCookie,      // ','
-        End,            // EOLN
-        Equals,
-
-        // value types
-
-        Comment,
-        CommentUrl,
-        CookieName,
-        Discard,
-        Domain,
-        Expires,
-        MaxAge,
-        Path,
-        Port,
-        Secure,
-        HttpOnly,
-        Unknown,
-        Version
-    }
-
-    //
-    // CookieTokenizer
-    //
-    //  Used to split a single or multi-cookie (header) string into individual
-    //  tokens
-    //
-
-    internal class CookieTokenizer
-    {
-        // fields
-
-        private bool m_eofCookie;
-        private int m_index;
-        private int m_length;
-        private string m_name;
-        private bool m_quoted;
-        private int m_start;
-        private CookieToken m_token;
-        private int m_tokenLength;
-        private string m_tokenStream;
-        private string m_value;
-        private int m_cookieStartIndex;
-        private int m_cookieLength;
-
-        // constructors
-
-        internal CookieTokenizer(string tokenStream)
-        {
-            m_length = tokenStream.Length;
-            m_tokenStream = tokenStream;
-        }
-
-        // properties
-
-        internal bool EndOfCookie
-        {
-            get
-            {
-                return m_eofCookie;
-            }
-            set
-            {
-                m_eofCookie = value;
-            }
-        }
-
-        internal bool Eof
-        {
-            get
-            {
-                return m_index >= m_length;
-            }
-        }
-
-        internal string Name
-        {
-            get
-            {
-                return m_name;
-            }
-            set
-            {
-                m_name = value;
-            }
-        }
-
-        internal bool Quoted
-        {
-            get
-            {
-                return m_quoted;
-            }
-            set
-            {
-                m_quoted = value;
-            }
-        }
-
-        internal CookieToken Token
-        {
-            get
-            {
-                return m_token;
-            }
-            set
-            {
-                m_token = value;
-            }
-        }
-
-        internal string Value
-        {
-            get
-            {
-                return m_value;
-            }
-            set
-            {
-                m_value = value;
-            }
-        }
-
-        // methods
-
-        //
-        // GetCookieString
-        //
-        //  Gets the full string of the cookie
-        //
-
-        internal string GetCookieString()
-        {
-            return m_tokenStream.Substring(m_cookieStartIndex, m_cookieLength).Trim();
-        }
-
-        //
-        // Extract
-        //
-        //  extract the current token
-        //
-
-        internal string Extract()
-        {
-            string tokenString = string.Empty;
-
-            if (m_tokenLength != 0)
-            {
-                tokenString = m_tokenStream.Substring(m_start, m_tokenLength);
-                if (!Quoted)
-                {
-                    tokenString = tokenString.Trim();
-                }
-            }
-            return tokenString;
-        }
-
-        //
-        // FindNext
-        //
-        //  Find the start and length of the next token. The token is terminated
-        //  by one of:
-        //
-        //      - end-of-line
-        //      - end-of-cookie: unquoted comma separates multiple cookies
-        //      - end-of-token: unquoted semi-colon
-        //      - end-of-name: unquoted equals
-        //
-        // Inputs:
-        //  <argument>  ignoreComma
-        //      true if parsing doesn't stop at a comma. This is only true when
-        //      we know we're parsing an original cookie that has an expires=
-        //      attribute, because the format of the time/date used in expires
-        //      is:
-        //          Wdy, dd-mmm-yyyy HH:MM:SS GMT
-        //
-        //  <argument>  ignoreEquals
-        //      true if parsing doesn't stop at an equals sign. The LHS of the
-        //      first equals sign is an attribute name. The next token may
-        //      include one or more equals signs. E.g.,
-        //
-        //          SESSIONID=ID=MSNx45&q=33
-        //
-        // Outputs:
-        //  <member>    m_index
-        //      incremented to the last position in m_tokenStream contained by
-        //      the current token
-        //
-        //  <member>    m_start
-        //      incremented to the start of the current token
-        //
-        //  <member>    m_tokenLength
-        //      set to the length of the current token
-        //
-        // Assumes:
-        //  Nothing
-        //
-        // Returns:
-        //  type of CookieToken found:
-        //
-        //      End         - end of the cookie string
-        //      EndCookie   - end of current cookie in (potentially) a
-        //                    multi-cookie string
-        //      EndToken    - end of name=value pair, or end of an attribute
-        //      Equals      - end of name=
-        //
-        // Throws:
-        //  Nothing
-        //
-
-        internal CookieToken FindNext(bool ignoreComma, bool ignoreEquals)
-        {
-            m_tokenLength = 0;
-            m_start = m_index;
-            while ((m_index < m_length) && char.IsWhiteSpace(m_tokenStream[m_index]))
-            {
-                ++m_index;
-                ++m_start;
-            }
-
-            CookieToken token = CookieToken.End;
-            int increment = 1;
-
-            if (!Eof)
-            {
-                if (m_tokenStream[m_index] == '"')
-                {
-                    Quoted = true;
-                    ++m_index;
-                    bool quoteOn = false;
-                    while (m_index < m_length)
-                    {
-                        char currChar = m_tokenStream[m_index];
-                        if (!quoteOn && currChar == '"')
-                            break;
-                        if (quoteOn)
-                            quoteOn = false;
-                        else if (currChar == '\\')
-                            quoteOn = true;
-                        ++m_index;
-                    }
-                    if (m_index < m_length)
-                    {
-                        ++m_index;
-                    }
-                    m_tokenLength = m_index - m_start;
-                    increment = 0;
-                    // if we are here, reset ignoreComma
-                    // In effect, we ignore everything after quoted string till next delimiter
-                    ignoreComma = false;
-                }
-                while ((m_index < m_length)
-                       && (m_tokenStream[m_index] != ';')
-                       && (ignoreEquals || (m_tokenStream[m_index] != '='))
-                       && (ignoreComma || (m_tokenStream[m_index] != ',')))
-                {
-                    // Fixing 2 things:
-                    // 1) ignore day of week in cookie string
-                    // 2) revert ignoreComma once meet it, so won't miss the next cookie)
-                    if (m_tokenStream[m_index] == ',')
-                    {
-                        m_start = m_index + 1;
-                        m_tokenLength = -1;
-                        ignoreComma = false;
-                    }
-                    ++m_index;
-                    m_tokenLength += increment;
-                }
-                if (!Eof)
-                {
-                    switch (m_tokenStream[m_index])
-                    {
-                        case ';':
-                            token = CookieToken.EndToken;
-                            break;
-
-                        case '=':
-                            token = CookieToken.Equals;
-                            break;
-
-                        default:
-                            m_cookieLength = m_index - m_cookieStartIndex;
-                            token = CookieToken.EndCookie;
-                            break;
-                    }
-                    ++m_index;
-                }
-
-                if (Eof)
-                {
-                    m_cookieLength = m_index - m_cookieStartIndex;
-                }
-            }
-            return token;
-        }
-
-        //
-        // Next
-        //
-        //  Get the next cookie name/value or attribute
-        //
-        //  Cookies come in the following formats:
-        //
-        //      1. Version0
-        //          Set-Cookie: [<name>][=][<value>]
-        //                      [; expires=<date>]
-        //                      [; path=<path>]
-        //                      [; domain=<domain>]
-        //                      [; secure]
-        //          Cookie: <name>=<value>
-        //
-        //          Notes: <name> and/or <value> may be blank
-        //                 <date> is the RFC 822/1123 date format that
-        //                 incorporates commas, e.g.
-        //                 "Wednesday, 09-Nov-99 23:12:40 GMT"
-        //
-        //      2. RFC 2109
-        //          Set-Cookie: 1#{
-        //                          <name>=<value>
-        //                          [; comment=<comment>]
-        //                          [; domain=<domain>]
-        //                          [; max-age=<seconds>]
-        //                          [; path=<path>]
-        //                          [; secure]
-        //                          ; Version=<version>
-        //                      }
-        //          Cookie: $Version=<version>
-        //                  1#{
-        //                      ; <name>=<value>
-        //                      [; path=<path>]
-        //                      [; domain=<domain>]
-        //                  }
-        //
-        //      3. RFC 2965
-        //          Set-Cookie2: 1#{
-        //                          <name>=<value>
-        //                          [; comment=<comment>]
-        //                          [; commentURL=<comment>]
-        //                          [; discard]
-        //                          [; domain=<domain>]
-        //                          [; max-age=<seconds>]
-        //                          [; path=<path>]
-        //                          [; ports=<portlist>]
-        //                          [; secure]
-        //                          ; Version=<version>
-        //                       }
-        //          Cookie: $Version=<version>
-        //                  1#{
-        //                      ; <name>=<value>
-        //                      [; path=<path>]
-        //                      [; domain=<domain>]
-        //                      [; port="<port>"]
-        //                  }
-        //          [Cookie2: $Version=<version>]
-        //
-        // Inputs:
-        //  <argument>  first
-        //      true if this is the first name/attribute that we have looked for
-        //      in the cookie stream
-        //
-        // Outputs:
-        //
-        // Assumes:
-        //  Nothing
-        //
-        // Returns:
-        //  type of CookieToken found:
-        //
-        //      - Attribute
-        //          - token was single-value. May be empty. Caller should check
-        //            Eof or EndCookie to determine if any more action needs to
-        //            be taken
-        //
-        //      - NameValuePair
-        //          - Name and Value are meaningful. Either may be empty
-        //
-        // Throws:
-        //  Nothing
-        //
-
-        internal CookieToken Next(bool first, bool parseResponseCookies)
-        {
-            Reset();
-
-            if (first)
-            {
-                m_cookieStartIndex = m_index;
-                m_cookieLength = 0;
-            }
-
-            CookieToken terminator = FindNext(false, false);
-            if (terminator == CookieToken.EndCookie)
-            {
-                EndOfCookie = true;
-            }
-
-            if ((terminator == CookieToken.End) || (terminator == CookieToken.EndCookie))
-            {
-                if ((Name = Extract()).Length != 0)
-                {
-                    Token = TokenFromName(parseResponseCookies);
-                    return CookieToken.Attribute;
-                }
-                return terminator;
-            }
-            Name = Extract();
-            if (first)
-            {
-                Token = CookieToken.CookieName;
-            }
-            else
-            {
-                Token = TokenFromName(parseResponseCookies);
-            }
-            if (terminator == CookieToken.Equals)
-            {
-                terminator = FindNext(!first && (Token == CookieToken.Expires), true);
-                if (terminator == CookieToken.EndCookie)
-                {
-                    EndOfCookie = true;
-                }
-                Value = Extract();
-                return CookieToken.NameValuePair;
-            }
-            else
-            {
-                return CookieToken.Attribute;
-            }
-        }
-
-        //
-        // Reset
-        //
-        //  set up this tokenizer for finding the next name/value pair or
-        //  attribute, or end-of-[token, cookie, or line]
-        //
-
-        internal void Reset()
-        {
-            m_eofCookie = false;
-            m_name = string.Empty;
-            m_quoted = false;
-            m_start = m_index;
-            m_token = CookieToken.Nothing;
-            m_tokenLength = 0;
-            m_value = string.Empty;
-        }
-
-        private struct RecognizedAttribute
-        {
-            private string m_name;
-            private CookieToken m_token;
-
-            internal RecognizedAttribute(string name, CookieToken token)
-            {
-                m_name = name;
-                m_token = token;
-            }
-
-            internal CookieToken Token
-            {
-                get
-                {
-                    return m_token;
-                }
-            }
-
-            internal bool IsEqualTo(string value)
-            {
-                return string.Equals(m_name, value, StringComparison.OrdinalIgnoreCase);
-            }
-        }
-
-        //
-        // recognized attributes in order of expected commonality
-        //
-
-        private static RecognizedAttribute[] RecognizedAttributes = {
-            new RecognizedAttribute(Cookie.PathAttributeName, CookieToken.Path),
-            new RecognizedAttribute(Cookie.MaxAgeAttributeName, CookieToken.MaxAge),
-            new RecognizedAttribute(Cookie.ExpiresAttributeName, CookieToken.Expires),
-            new RecognizedAttribute(Cookie.VersionAttributeName, CookieToken.Version),
-            new RecognizedAttribute(Cookie.DomainAttributeName, CookieToken.Domain),
-            new RecognizedAttribute(Cookie.SecureAttributeName, CookieToken.Secure),
-            new RecognizedAttribute(Cookie.DiscardAttributeName, CookieToken.Discard),
-            new RecognizedAttribute(Cookie.PortAttributeName, CookieToken.Port),
-            new RecognizedAttribute(Cookie.CommentAttributeName, CookieToken.Comment),
-            new RecognizedAttribute(Cookie.CommentUrlAttributeName, CookieToken.CommentUrl),
-            new RecognizedAttribute(Cookie.HttpOnlyAttributeName, CookieToken.HttpOnly),
-        };
-
-        private static RecognizedAttribute[] RecognizedServerAttributes = {
-            new RecognizedAttribute('$' + Cookie.PathAttributeName, CookieToken.Path),
-            new RecognizedAttribute('$' + Cookie.VersionAttributeName, CookieToken.Version),
-            new RecognizedAttribute('$' + Cookie.DomainAttributeName, CookieToken.Domain),
-            new RecognizedAttribute('$' + Cookie.PortAttributeName, CookieToken.Port),
-            new RecognizedAttribute('$' + Cookie.HttpOnlyAttributeName, CookieToken.HttpOnly),
-        };
-
-        internal CookieToken TokenFromName(bool parseResponseCookies)
-        {
-            if (!parseResponseCookies)
-            {
-                for (int i = 0; i < RecognizedServerAttributes.Length; ++i)
-                {
-                    if (RecognizedServerAttributes[i].IsEqualTo(Name))
-                    {
-                        return RecognizedServerAttributes[i].Token;
-                    }
-                }
-            }
-            else
-            {
-                for (int i = 0; i < RecognizedAttributes.Length; ++i)
-                {
-                    if (RecognizedAttributes[i].IsEqualTo(Name))
-                    {
-                        return RecognizedAttributes[i].Token;
-                    }
-                }
-            }
-            return CookieToken.Unknown;
-        }
-    }
-
-    //
-    // CookieParser
-    //
-    //  Takes a cookie header, makes cookies
-    //
-
-    internal class CookieParser
-    {
-        // fields
-
-        private CookieTokenizer m_tokenizer;
-        private Cookie m_savedCookie;
-
-        // constructors
-
-        internal CookieParser(string cookieString)
-        {
-            m_tokenizer = new CookieTokenizer(cookieString);
-        }
-
-        // properties
-
-        // methods
-
-        //  Gets the next cookie string
-        //
-        // Inputs:
-        //  Nothing
-        //
-        // Outputs:
-        //  Nothing
-        //
-        // Assumes:
-        //  Nothing
-        //
-        // Returns:
-        //  The string for the cookie
-        //
-        // Throws:
-        //  Nothing
-        //
-
-        internal string GetString() {
-            bool first = true;
-
-            if (m_tokenizer.Eof)
-            {
-                return null;
-            }
-
-            do {
-                m_tokenizer.Next(first, true);
-                first = false;
-            } while (!m_tokenizer.Eof && !m_tokenizer.EndOfCookie);
-
-            return m_tokenizer.GetCookieString();
-        }
-
-        //
-        // Get
-        //
-        //  Gets the next cookie
-        //
-        // Inputs:
-        //  Nothing
-        //
-        // Outputs:
-        //  Nothing
-        //
-        // Assumes:
-        //  Nothing
-        //
-        // Returns:
-        //  new cookie object, or null if there's no more
-        //
-        // Throws:
-        //  Nothing
-        //
-
-        internal Cookie Get()
-        {
-            Cookie cookie = null;
-
-            // only first occurrence of an attribute value must be counted
-            bool commentSet = false;
-            bool commentUriSet = false;
-            bool domainSet = false;
-            bool expiresSet = false;
-            bool pathSet = false;
-            bool portSet = false; //special case as it may have no value in header
-            bool versionSet = false;
-            bool secureSet = false;
-            bool discardSet = false;
-
-            do
-            {
-                CookieToken token = m_tokenizer.Next(cookie == null, true);
-                if (cookie == null && (token == CookieToken.NameValuePair || token == CookieToken.Attribute))
-                {
-                    cookie = new Cookie();
-                    if (cookie.InternalSetName(m_tokenizer.Name) == false)
-                    {
-                        //will be rejected
-                        cookie.InternalSetName(string.Empty);
-                    }
-                    cookie.Value = m_tokenizer.Value;
-                }
-                else
-                {
-                    switch (token)
-                    {
-                        case CookieToken.NameValuePair:
-                            switch (m_tokenizer.Token)
-                            {
-                                case CookieToken.Comment:
-                                    if (!commentSet)
-                                    {
-                                        commentSet = true;
-                                        cookie.Comment = m_tokenizer.Value;
-                                    }
-                                    break;
-
-                                case CookieToken.CommentUrl:
-                                    if (!commentUriSet)
-                                    {
-                                        commentUriSet = true;
-                                        Uri parsed;
-                                        if (Uri.TryCreate(CheckQuoted(m_tokenizer.Value), UriKind.Absolute, out parsed))
-                                        {
-                                            cookie.CommentUri = parsed;
-                                        }
-                                    }
-                                    break;
-
-                                case CookieToken.Domain:
-                                    if (!domainSet)
-                                    {
-                                        domainSet = true;
-                                        cookie.Domain = CheckQuoted(m_tokenizer.Value);
-                                        cookie.IsQuotedDomain = m_tokenizer.Quoted;
-                                    }
-                                    break;
-
-                                case CookieToken.Expires:
-                                    if (!expiresSet)
-                                    {
-                                        expiresSet = true;
-
-                                        DateTime expires;
-                                        if (DateTime.TryParse(CheckQuoted(m_tokenizer.Value),
-                                            CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out expires))
-                                        {
-                                            cookie.Expires = expires;
-                                        }
-                                        else
-                                        {
-                                            //this cookie will be rejected
-                                            cookie.InternalSetName(string.Empty);
-                                        }
-                                    }
-                                    break;
-
-                                case CookieToken.MaxAge:
-                                    if (!expiresSet)
-                                    {
-                                        expiresSet = true;
-                                        int parsed;
-                                        if (int.TryParse(CheckQuoted(m_tokenizer.Value), out parsed))
-                                        {
-                                            cookie.Expires = DateTime.Now.AddSeconds((double)parsed);
-                                        }
-                                        else
-                                        {
-                                            //this cookie will be rejected
-                                            cookie.InternalSetName(string.Empty);
-                                        }
-                                    }
-                                    break;
-
-                                case CookieToken.Path:
-                                    if (!pathSet)
-                                    {
-                                        pathSet = true;
-                                        cookie.Path = m_tokenizer.Value;
-                                    }
-                                    break;
-
-                                case CookieToken.Port:
-                                    if (!portSet)
-                                    {
-                                        portSet = true;
-                                        try
-                                        {
-                                            cookie.Port = m_tokenizer.Value;
-                                        }
-                                        catch
-                                        {
-                                            //this cookie will be rejected
-                                            cookie.InternalSetName(string.Empty);
-                                        }
-                                    }
-                                    break;
-
-                                case CookieToken.Version:
-                                    if (!versionSet)
-                                    {
-                                        versionSet = true;
-                                        int parsed;
-                                        if (int.TryParse(CheckQuoted(m_tokenizer.Value), out parsed))
-                                        {
-                                            cookie.Version = parsed;
-                                            cookie.IsQuotedVersion = m_tokenizer.Quoted;
-                                        }
-                                        else
-                                        {
-                                            //this cookie will be rejected
-                                            cookie.InternalSetName(string.Empty);
-                                        }
-                                    }
-                                    break;
-                            }
-                            break;
-
-                        case CookieToken.Attribute:
-                            switch (m_tokenizer.Token)
-                            {
-                                case CookieToken.Discard:
-                                    if (!discardSet)
-                                    {
-                                        discardSet = true;
-                                        cookie.Discard = true;
-                                    }
-                                    break;
-
-                                case CookieToken.Secure:
-                                    if (!secureSet)
-                                    {
-                                        secureSet = true;
-                                        cookie.Secure = true;
-                                    }
-                                    break;
-
-                                case CookieToken.HttpOnly:
-                                    cookie.HttpOnly = true;
-                                    break;
-
-                                case CookieToken.Port:
-                                    if (!portSet)
-                                    {
-                                        portSet = true;
-                                        cookie.Port = string.Empty;
-                                    }
-                                    break;
-                            }
-                            break;
-                    }
-                }
-            } while (!m_tokenizer.Eof && !m_tokenizer.EndOfCookie);
-            return cookie;
-        }
-
-        // twin parsing method, different enough that it's better to split it into
-        // a different method
-        internal Cookie GetServer()
-        {
-            Cookie cookie = m_savedCookie;
-            m_savedCookie = null;
-
-            // only first occurrence of an attribute value must be counted
-            bool domainSet = false;
-            bool pathSet = false;
-            bool portSet = false; //special case as it may have no value in header
-
-            do
-            {
-                bool first = cookie == null || cookie.Name == null || cookie.Name.Length == 0;
-                CookieToken token = m_tokenizer.Next(first, false);
-
-                if (first && (token == CookieToken.NameValuePair || token == CookieToken.Attribute))
-                {
-                    if (cookie == null)
-                    {
-                        cookie = new Cookie();
-                    }
-                    if (cookie.InternalSetName(m_tokenizer.Name) == false)
-                    {
-                        //will be rejected
-                        cookie.InternalSetName(string.Empty);
-                    }
-                    cookie.Value = m_tokenizer.Value;
-                }
-                else
-                {
-                    switch (token)
-                    {
-                        case CookieToken.NameValuePair:
-                            switch (m_tokenizer.Token)
-                            {
-                                case CookieToken.Domain:
-                                    if (!domainSet)
-                                    {
-                                        domainSet = true;
-                                        cookie.Domain = CheckQuoted(m_tokenizer.Value);
-                                        cookie.IsQuotedDomain = m_tokenizer.Quoted;
-                                    }
-                                    break;
-
-                                case CookieToken.Path:
-                                    if (!pathSet)
-                                    {
-                                        pathSet = true;
-                                        cookie.Path = m_tokenizer.Value;
-                                    }
-                                    break;
-
-                                case CookieToken.Port:
-                                    if (!portSet)
-                                    {
-                                        portSet = true;
-                                        try
-                                        {
-                                            cookie.Port = m_tokenizer.Value;
-                                        }
-                                        catch (CookieException)
-                                        {
-                                            //this cookie will be rejected
-                                            cookie.InternalSetName(string.Empty);
-                                        }
-                                    }
-                                    break;
-
-                                case CookieToken.Version:
-                                    // this is a new cookie, this token is for the next cookie.
-                                    m_savedCookie = new Cookie();
-                                    int parsed;
-                                    if (int.TryParse(m_tokenizer.Value, out parsed))
-                                    {
-                                        m_savedCookie.Version = parsed;
-                                    }
-                                    return cookie;
-
-                                case CookieToken.Unknown:
-                                    // this is a new cookie, the token is for the next cookie.
-                                    m_savedCookie = new Cookie();
-                                    if (m_savedCookie.InternalSetName(m_tokenizer.Name) == false)
-                                    {
-                                        //will be rejected
-                                        m_savedCookie.InternalSetName(string.Empty);
-                                    }
-                                    m_savedCookie.Value = m_tokenizer.Value;
-                                    return cookie;
-                            }
-                            break;
-
-                        case CookieToken.Attribute:
-                            switch (m_tokenizer.Token)
-                            {
-                                case CookieToken.Port:
-                                    if (!portSet)
-                                    {
-                                        portSet = true;
-                                        cookie.Port = string.Empty;
-                                    }
-                                    break;
-                            }
-                            break;
-                    }
-                }
-            } while (!m_tokenizer.Eof && !m_tokenizer.EndOfCookie);
-            return cookie;
-        }
-
-        internal static string CheckQuoted(string value)
-        {
-            if (value.Length < 2 || value[0] != '\"' || value[value.Length - 1] != '\"')
-                return value;
-
-            return value.Length == 2 ? string.Empty : value.Substring(1, value.Length - 2);
-        }
-    }
-}
diff --git a/src/libraries/System.Net.Http/src/uap/System/Net/cookieexception.cs b/src/libraries/System.Net.Http/src/uap/System/Net/cookieexception.cs
deleted file mode 100644 (file)
index c497d0c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Diagnostics.CodeAnalysis;
-
-// The uap #define is used in some source files to indicate we are compiling classes
-// directly into the UWP System.Net.Http.dll implementation assembly in order to use internal class
-// methods. Internal methods are needed in order to map cookie response headers from the WinRT Windows.Web.Http APIs.
-// Windows.Web.Http is used underneath the System.Net.Http classes on .NET Native. Having other similarly
-// named classes would normally conflict with the public System.Net namespace classes.
-// So, we need to move the classes to a different namespace. Those classes are never
-// exposed up to user code so there isn't a problem.  In the future, we might expose some of the internal methods
-// as new public APIs and then we can remove this duplicate source code inclusion in the binaries.
-#if uap
-namespace System.Net.Internal
-#else
-namespace System.Net
-#endif
-{
-    /// <devdoc>
-    ///    <para>[To be supplied.]</para>
-    /// </devdoc>
-    public class CookieException : FormatException
-    {
-        /// <devdoc>
-        ///    <para>[To be supplied.]</para>
-        /// </devdoc>
-        public CookieException() : base()
-        {
-        }
-
-        internal CookieException(string message) : base(message)
-        {
-        }
-
-        internal CookieException(string message, Exception inner) : base(message, inner)
-        {
-        }
-    }
-}
index 3f19907..adabcc0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 3b21510..da76658 100644 (file)
@@ -13,7 +13,6 @@ namespace System.Net.Http.Functional.Tests
 {
     using Configuration = System.Net.Test.Common.Configuration;
 
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP will send default credentials based on manifest settings")]
     [PlatformSpecific(TestPlatforms.Windows)]
     public abstract class DefaultCredentialsTest : HttpClientHandlerTestBase
     {
index 8138749..1ca4286 100644 (file)
@@ -747,7 +747,6 @@ namespace System.Net.Http.Functional.Tests
             }, UseSocketsHttpHandler.ToString(), UseHttp2.ToString()).Dispose();
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP HTTP stack doesn't support .Proxy property")]
         [OuterLoop("Uses external server")]
         [Fact]
         public void SendAsync_ExpectedDiagnosticSynchronousExceptionActivityLogging()
@@ -1136,7 +1135,7 @@ namespace System.Net.Http.Functional.Tests
                         // Getting the Task first from the .SendAsync() call also tests
                         // that the exception comes from the async Task path.
                         Task t = handler.SendAsync(null);
-                        if (PlatformDetection.IsUap)
+                        if (PlatformDetection.IsInAppContainer)
                         {
                             await Assert.ThrowsAsync<HttpRequestException>(() => t);
                         }
index 2239e49..614232e 100644 (file)
@@ -23,7 +23,6 @@ namespace System.Net.Http.Functional.Tests
             from contentMode in Enum.GetValues(typeof(LoopbackServer.ContentMode)).Cast<LoopbackServer.ContentMode>()
             select new object[] { responseHeadersRead, contentMode };
 
-        [ActiveIssue(30052, TargetFrameworkMonikers.Uap)]
         [Theory]
         [MemberData(nameof(ResponseHeadersRead_SynchronizationContextNotUsedByHandler_MemberData))]
         public async Task ResponseHeadersRead_SynchronizationContextNotUsedByHandler(bool responseHeadersRead, LoopbackServer.ContentMode contentMode)
index a33586b..6e7ee4c 100644 (file)
@@ -18,7 +18,6 @@ namespace System.Net.Http.Functional.Tests
 {
     using Configuration = System.Net.Test.Common.Configuration;
 
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Tests would need to be rewritten due to behavior differences with WinRT")]
     public abstract class HttpClientHandler_Authentication_Test : HttpClientHandlerTestBase
     {
         private const string Username = "testusername";
index 7050020..a161fa3 100644 (file)
@@ -144,7 +144,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(30063, TargetFrameworkMonikers.Uap)] // fails due to TE header
         [Theory]
         [InlineData(300)]
         [InlineData(301)]
@@ -320,7 +319,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(32647, TargetFrameworkMonikers.Uap)]
         [OuterLoop("Uses external server")]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
         public async Task GetAsync_AllowAutoRedirectTrue_RedirectToUriWithParams_RequestMsgUriSet(Configuration.Http.RemoteServer remoteServer)
@@ -343,7 +341,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not currently supported on UAP")]
         [OuterLoop("Uses external server")]
         [Theory]
         [InlineData(3, 2)]
@@ -448,7 +445,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Doesn't handle fragments according to https://tools.ietf.org/html/rfc7231#section-7.1.2")]
         [Theory]
         [InlineData("#origFragment", "", "#origFragment", false)]
         [InlineData("#origFragment", "", "#origFragment", true)]
@@ -518,7 +514,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(32647, TargetFrameworkMonikers.Uap)]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
         [OuterLoop("Uses external server")]
         public async Task GetAsync_CredentialIsNetworkCredentialUriRedirect_StatusCodeUnauthorized(Configuration.Http.RemoteServer remoteServer)
@@ -538,7 +533,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(32647, TargetFrameworkMonikers.Uap)]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
         [OuterLoop("Uses external server")]
         public async Task HttpClientHandler_CredentialIsNotCredentialCacheAfterRedirect_StatusCodeOK(Configuration.Http.RemoteServer remoteServer)
@@ -586,9 +580,9 @@ namespace System.Net.Http.Functional.Tests
             credentialCache.Add(uri, "Basic", _credential);
 
             HttpClientHandler handler = CreateHttpClientHandler();
-            if (PlatformDetection.IsUap)
+            if (PlatformDetection.IsInAppContainer)
             {
-                // UAP does not support CredentialCache for Credentials.
+                // UWP does not support CredentialCache for Credentials.
                 Assert.Throws<PlatformNotSupportedException>(() => handler.Credentials = credentialCache);
             }
             else
@@ -605,7 +599,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(29802, TargetFrameworkMonikers.Uap)]
         [OuterLoop("Uses external server")]
         [Theory, MemberData(nameof(RemoteServersAndRedirectStatusCodes))]
         public async Task DefaultHeaders_SetCredentials_ClearedOnRedirect(Configuration.Http.RemoteServer remoteServer, int statusCode)
index 121e497..a4fd74c 100644 (file)
@@ -127,7 +127,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Test needs to be rewritten to work on UAP due to WinRT differences")]
         [Theory]
         [MemberData(nameof(TwoBoolsAndCancellationMode))]
         public async Task GetAsync_CancelDuringResponseBodyReceived_Buffered_TaskCanceledQuickly(bool chunkedTransfer, bool connectionClose, CancellationMode mode)
@@ -185,7 +184,6 @@ namespace System.Net.Http.Functional.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // [ActiveIssue(38547)]
         [MemberData(nameof(ThreeBools))]
         public async Task GetAsync_CancelDuringResponseBodyReceived_Unbuffered_TaskCanceledQuickly(bool chunkedTransfer, bool connectionClose, bool readOrCopyToAsync)
         {
@@ -248,7 +246,6 @@ namespace System.Net.Http.Functional.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "cancellation timing is different on UAP, sensitive to race conditions")]
         [InlineData(CancellationMode.CancelPendingRequests, false)]
         [InlineData(CancellationMode.DisposeHttpClient, false)]
         [InlineData(CancellationMode.CancelPendingRequests, true)]
@@ -326,7 +323,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WinRT stack can't set MaxConnectionsPerServer < 2")]
         [ConditionalFact]
         public async Task MaxConnectionsPerServer_WaitingConnectionsAreCancelable()
         {
@@ -519,12 +515,6 @@ namespace System.Net.Http.Functional.Tests
         [MemberData(nameof(PostAsync_Cancel_CancellationTokenPassedToContent_MemberData))]
         public async Task PostAsync_Cancel_CancellationTokenPassedToContent(HttpContent content, CancellationTokenSource cancellationTokenSource)
         {
-            if (IsUapHandler)
-            {
-                // HttpHandlerToFilter doesn't flow the token into the request body.
-                return;
-            }
-
             await LoopbackServerFactory.CreateClientAndServerAsync(
                 async uri =>
                 {
index 20e6c86..f29205a 100644 (file)
@@ -123,58 +123,52 @@ namespace System.Net.Http.Functional.Tests
                 return;
             }
 
-            // UAP HTTP stack caches connections per-process. This causes interference when these tests run in
-            // the same process as the other tests. Each test needs to be isolated to its own process.
-            // See dicussion: https://github.com/dotnet/corefx/issues/21945
-            RemoteExecutor.Invoke((certIndexString, expectedStatusCodeString, useSocketsHttpHandlerString, useHttp2String) =>
-            {
-                X509Certificate2 clientCert = null;
+            string useSocketsHttpHandlerString = UseSocketsHttpHandler.ToString();
+            string useHttp2String = UseHttp2.ToString();
+            X509Certificate2 clientCert = null;
 
-                // Get client certificate. RemoteInvoke doesn't allow easy marshaling of complex types.
-                // So we have to select the certificate at this point in the test execution.
-                if (certIndexString == "1")
-                {
-                    // This is a valid client cert since it has an EKU with a ClientAuthentication OID.
-                    clientCert = Configuration.Certificates.GetClientCertificate();
-                }
-                else if (certIndexString == "2")
-                {
-                    // This is a valid client cert since it has no EKU thus all usages are permitted.
-                    clientCert = Configuration.Certificates.GetNoEKUCertificate();
-                }
-                else if (certIndexString == "3")
-                {
-                    // This is an invalid client cert since it has an EKU but is missing ClientAuthentication OID.
-                    clientCert = Configuration.Certificates.GetServerCertificate();
-                }
+            // Get client certificate. RemoteInvoke doesn't allow easy marshaling of complex types.
+            // So we have to select the certificate at this point in the test execution.
+            if (certIndex == 1)
+            {
+                // This is a valid client cert since it has an EKU with a ClientAuthentication OID.
+                clientCert = Configuration.Certificates.GetClientCertificate();
+            }
+            else if (certIndex == 2)
+            {
+                // This is a valid client cert since it has no EKU thus all usages are permitted.
+                clientCert = Configuration.Certificates.GetNoEKUCertificate();
+            }
+            else if (certIndex == 3)
+            {
+                // This is an invalid client cert since it has an EKU but is missing ClientAuthentication OID.
+                clientCert = Configuration.Certificates.GetServerCertificate();
+            }
 
-                Assert.NotNull(clientCert);
+            Assert.NotNull(clientCert);
 
-                var statusCode = (HttpStatusCode)Enum.Parse(typeof(HttpStatusCode), expectedStatusCodeString);
-                HttpClientHandler handler = CreateHttpClientHandler(useSocketsHttpHandlerString, useHttp2String);
-                handler.ClientCertificates.Add(clientCert);
-                using (HttpClient client = CreateHttpClient(handler, useHttp2String))
-                {
-                    var request = new HttpRequestMessage();
-                    request.RequestUri = new Uri(Configuration.Http.EchoClientCertificateRemoteServer);
+            HttpClientHandler handler = CreateHttpClientHandler(useSocketsHttpHandlerString, useHttp2String);
+            handler.ClientCertificates.Add(clientCert);
+            using (HttpClient client = CreateHttpClient(handler, useHttp2String))
+            {
+                var request = new HttpRequestMessage();
+                request.RequestUri = new Uri(Configuration.Http.EchoClientCertificateRemoteServer);
 
-                    // Issue #35239. Force HTTP/1.1.
-                    request.Version = new Version(1,1);
-                    HttpResponseMessage response = client.SendAsync(request).GetAwaiter().GetResult(); // need a 4-arg overload of RemoteInvoke that returns a Task
-                    Assert.Equal(statusCode, response.StatusCode);
+                // Issue #35239. Force HTTP/1.1.
+                request.Version = new Version(1,1);
+                HttpResponseMessage response = client.SendAsync(request).GetAwaiter().GetResult(); // need a 4-arg overload of RemoteInvoke that returns a Task
+                Assert.Equal(expectedStatusCode, response.StatusCode);
 
-                    if (statusCode == HttpStatusCode.OK)
-                    {
-                        string body = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); // need a 4-arg overload of RemoteInvoke that returns a Task
-                        byte[] bytes = Convert.FromBase64String(body);
-                        var receivedCert = new X509Certificate2(bytes);
-                        Assert.Equal(clientCert, receivedCert);
-                    }
+                if (expectedStatusCode == HttpStatusCode.OK)
+                {
+                    string body = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); // need a 4-arg overload of RemoteInvoke that returns a Task
+                    byte[] bytes = Convert.FromBase64String(body);
+                    var receivedCert = new X509Certificate2(bytes);
+                    Assert.Equal(clientCert, receivedCert);
                 }
-            }, certIndex.ToString(), expectedStatusCode.ToString(), UseSocketsHttpHandler.ToString(), UseHttp2.ToString()).Dispose();
+            }
         }
 
-        [ActiveIssue(30056, TargetFrameworkMonikers.Uap)]
         [OuterLoop("Uses GC and waits for finalizers")]
         [Theory]
         [InlineData(6, false)]
@@ -254,7 +248,6 @@ namespace System.Net.Http.Functional.Tests
         }
 
         [ActiveIssue(37336)]
-        [ActiveIssue(30056, TargetFrameworkMonikers.Uap)]
         [Theory]
         [InlineData(ClientCertificateOption.Manual)]
         [InlineData(ClientCertificateOption.Automatic)]
index 8a3cef9..5276758 100644 (file)
@@ -143,7 +143,6 @@ namespace System.Net.Http.Functional.Tests
                 });
         }
 
-        [ActiveIssue(30051, TargetFrameworkMonikers.Uap)]
         [Fact]
         public async Task GetAsync_AddMultipleCookieHeaders_CookiesSent()
         {
@@ -238,7 +237,6 @@ namespace System.Net.Http.Functional.Tests
             });
         }
 
-        [ActiveIssue(30051, TargetFrameworkMonikers.Uap)]
         [ConditionalFact]
         public async Task GetAsync_SetCookieContainerAndMultipleCookieHeaders_BothCookiesSent()
         {
@@ -429,7 +427,6 @@ namespace System.Net.Http.Functional.Tests
             });
         }
 
-        [ActiveIssue(30051, TargetFrameworkMonikers.Uap)] // fails to remove cookie
         [Fact]
         public async Task GetAsync_ReceiveSetCookieHeader_CookieRemoved()
         {
@@ -453,7 +450,6 @@ namespace System.Net.Http.Functional.Tests
             });
         }
 
-        [ActiveIssue(30051, TargetFrameworkMonikers.Uap)] // only adds one cookie
         [Fact]
         public async Task GetAsync_ReceiveInvalidSetCookieHeader_ValidCookiesAdded()
         {
@@ -547,7 +543,6 @@ namespace System.Net.Http.Functional.Tests
             });
         }
 
-        [ActiveIssue(30050, TargetFrameworkMonikers.Uap)]
         [Fact]
         public async Task GetAsyncWithBasicAuth_ReceiveSetCookie_CookieSent()
         {
index c45a17d..a3245b3 100644 (file)
@@ -47,7 +47,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP HTTP stack doesn't support .Proxy property")]
         [Fact]
         public async Task ProxyExplicitlyProvided_DefaultCredentials_Ignored()
         {
index f37e909..6174245 100644 (file)
@@ -15,7 +15,6 @@ namespace System.Net.Http.Functional.Tests
 {
     using Configuration = System.Net.Test.Common.Configuration;
 
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP connection management behavior is different due to WinRT")]
     public abstract class HttpClientHandler_MaxConnectionsPerServer_Test : HttpClientHandlerTestBase
     {
         public HttpClientHandler_MaxConnectionsPerServer_Test(ITestOutputHelper output) : base(output) { }
index 1ee1e37..2e2c52e 100644 (file)
@@ -18,7 +18,6 @@ namespace System.Net.Http.Functional.Tests
     {
         public HttpClientHandler_MaxResponseHeadersLength_Test(ITestOutputHelper output) : base(output) { }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not currently supported on UAP")]
         [Theory]
         [InlineData(0)]
         [InlineData(-1)]
@@ -30,7 +29,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not currently supported on UAP")]
         [Theory]
         [InlineData(1)]
         [InlineData(65)]
@@ -59,7 +57,6 @@ namespace System.Net.Http.Functional.Tests
             server => server.AcceptConnectionSendResponseAndCloseAsync());
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not currently supported on UAP")]
         [OuterLoop] // TODO: Issue #11345
         [Fact]
         public async Task InfiniteSingleHeader_ThrowsException()
@@ -105,7 +102,6 @@ namespace System.Net.Http.Functional.Tests
             });
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not currently supported on UAP")]
         [OuterLoop] // TODO: Issue #11345
         [Theory, MemberData(nameof(ResponseWithManyHeadersData))]
         public async Task ThresholdExceeded_ThrowsException(string responseHeaders, int? maxResponseHeadersLength, bool shouldSucceed)
index 813e41a..cb9816a 100644 (file)
@@ -18,7 +18,6 @@ namespace System.Net.Http.Functional.Tests
 {
     using Configuration = System.Net.Test.Common.Configuration;
 
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP HTTP stack doesn't support .Proxy property")]
     public abstract class HttpClientHandler_Proxy_Test : HttpClientHandlerTestBase
     {
         public HttpClientHandler_Proxy_Test(ITestOutputHelper output) : base(output) { }
index 44cc237..357d986 100644 (file)
@@ -27,19 +27,7 @@ namespace System.Net.Http.Functional.Tests
         public HttpClientHandler_ServerCertificates_Test(ITestOutputHelper output) : base(output) { }
 
         [Fact]
-        [SkipOnTargetFramework(~TargetFrameworkMonikers.Uap)]
-        public void Ctor_ExpectedDefaultPropertyValues_UapPlatform()
-        {
-            using (HttpClientHandler handler = CreateHttpClientHandler())
-            {
-                Assert.Null(handler.ServerCertificateCustomValidationCallback);
-                Assert.True(handler.CheckCertificateRevocationList);
-            }
-        }
-
-        [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
-        public void Ctor_ExpectedDefaultValues_NotUapPlatform()
+        public void Ctor_ExpectedDefaultValues()
         {
             using (HttpClientHandler handler = CreateHttpClientHandler())
             {
@@ -86,7 +74,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP won't send requests through a custom proxy")]
         [OuterLoop("Uses external server")]
         [Fact]
         public async Task UseCallback_HaveCredsAndUseAuthenticatedCustomProxyAndPostToSecureServer_Success()
@@ -134,7 +121,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP won't send requests through a custom proxy")]
         [OuterLoop("Uses external server")]
         [Fact]
         public async Task UseCallback_HaveNoCredsAndUseAuthenticatedCustomProxyAndPostToSecureServer_ProxyAuthenticationRequiredStatusCode()
@@ -318,7 +304,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP doesn't allow revocation checking to be turned off")]
         [OuterLoop("Uses external server")]
         [ConditionalFact(nameof(ClientSupportsDHECipherSuites))]
         public async Task NoCallback_RevokedCertificate_NoRevocationChecking_Succeeds()
@@ -398,7 +383,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(30054, TargetFrameworkMonikers.Uap)]
         [OuterLoop("Uses external server")]
         [Theory]
         [MemberData(nameof(CertificateValidationServersAndExpectedPolicies))]
@@ -413,24 +397,7 @@ namespace System.Net.Http.Functional.Tests
 
             try
             {
-                if (PlatformDetection.IsUap)
-                {
-                    // UAP HTTP stack caches connections per-process. This causes interference when these tests run in
-                    // the same process as the other tests. Each test needs to be isolated to its own process.
-                    // See dicussion: https://github.com/dotnet/corefx/issues/21945
-                    RemoteExecutor.Invoke((remoteUrl, remoteExpectedErrors, useSocketsHttpHandlerString, useHttp2String) =>
-                    {
-                        UseCallback_BadCertificate_ExpectedPolicyErrors_Helper(
-                            remoteUrl,
-                            useSocketsHttpHandlerString,
-                            useHttp2String,
-                            (SslPolicyErrors)Enum.Parse(typeof(SslPolicyErrors), remoteExpectedErrors)).Wait();
-                    }, url, expectedErrors.ToString(), UseSocketsHttpHandler.ToString(), UseHttp2.ToString()).Dispose();
-                }
-                else
-                {
-                    await UseCallback_BadCertificate_ExpectedPolicyErrors_Helper(url, UseSocketsHttpHandler.ToString(), UseHttp2.ToString(), expectedErrors);
-                }
+                await UseCallback_BadCertificate_ExpectedPolicyErrors_Helper(url, UseSocketsHttpHandler.ToString(), UseHttp2.ToString(), expectedErrors);
             }
             catch (HttpRequestException e) when (e.InnerException?.GetType().Name == "WinHttpException" &&
                 e.InnerException.HResult == SEC_E_BUFFER_TOO_SMALL &&
@@ -491,46 +458,38 @@ namespace System.Net.Http.Functional.Tests
 
                 // Validate the ChannelBinding object exists.
                 ChannelBinding channelBinding = content.ChannelBinding;
-                if (PlatformDetection.IsUap)
-                {
-                    // UAP currently doesn't expose channel binding information.
-                    Assert.Null(channelBinding);
-                }
-                else
-                {
-                    Assert.NotNull(channelBinding);
+                Assert.NotNull(channelBinding);
 
-                    // Validate the ChannelBinding's validity.
-                    if (BackendSupportsCustomCertificateHandling)
+                // Validate the ChannelBinding's validity.
+                if (BackendSupportsCustomCertificateHandling)
+                {
+                    Assert.False(channelBinding.IsInvalid, "Expected valid binding");
+                    Assert.NotEqual(IntPtr.Zero, channelBinding.DangerousGetHandle());
+
+                    // Validate the ChannelBinding's description.
+                    string channelBindingDescription = channelBinding.ToString();
+                    Assert.NotNull(channelBindingDescription);
+                    Assert.NotEmpty(channelBindingDescription);
+                    Assert.True((channelBindingDescription.Length + 1) % 3 == 0, $"Unexpected length {channelBindingDescription.Length}");
+                    for (int i = 0; i < channelBindingDescription.Length; i++)
                     {
-                        Assert.False(channelBinding.IsInvalid, "Expected valid binding");
-                        Assert.NotEqual(IntPtr.Zero, channelBinding.DangerousGetHandle());
-
-                        // Validate the ChannelBinding's description.
-                        string channelBindingDescription = channelBinding.ToString();
-                        Assert.NotNull(channelBindingDescription);
-                        Assert.NotEmpty(channelBindingDescription);
-                        Assert.True((channelBindingDescription.Length + 1) % 3 == 0, $"Unexpected length {channelBindingDescription.Length}");
-                        for (int i = 0; i < channelBindingDescription.Length; i++)
+                        char c = channelBindingDescription[i];
+                        if (i % 3 == 2)
                         {
-                            char c = channelBindingDescription[i];
-                            if (i % 3 == 2)
-                            {
-                                Assert.Equal(' ', c);
-                            }
-                            else
-                            {
-                                Assert.True((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F'), $"Expected hex, got {c}");
-                            }
+                            Assert.Equal(' ', c);
+                        }
+                        else
+                        {
+                            Assert.True((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F'), $"Expected hex, got {c}");
                         }
                     }
-                    else
-                    {
-                        // Backend doesn't support getting the details to create the CBT.
-                        Assert.True(channelBinding.IsInvalid, "Expected invalid binding");
-                        Assert.Equal(IntPtr.Zero, channelBinding.DangerousGetHandle());
-                        Assert.Null(channelBinding.ToString());
-                    }
+                }
+                else
+                {
+                    // Backend doesn't support getting the details to create the CBT.
+                    Assert.True(channelBinding.IsInvalid, "Expected invalid binding");
+                    Assert.Equal(IntPtr.Zero, channelBinding.DangerousGetHandle());
+                    Assert.Null(channelBinding.ToString());
                 }
             }
         }
index 2e8ab8b..b908350 100644 (file)
@@ -17,7 +17,6 @@ namespace System.Net.Http.Functional.Tests
 {
     using Configuration = System.Net.Test.Common.Configuration;
 
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "SslProtocols not supported on UAP")]
     public abstract partial class HttpClientHandler_SslProtocols_Test : HttpClientHandlerTestBase
     {
         public HttpClientHandler_SslProtocols_Test(ITestOutputHelper output) : base(output) { }
index 8c6e18e..225925d 100644 (file)
@@ -96,9 +96,8 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         [Fact]
-        public void Ctor_ExpectedDefaultPropertyValues_NotUapPlatform()
+        public void Ctor_ExpectedDefaultPropertyValues()
         {
             using (HttpClientHandler handler = CreateHttpClientHandler())
             {
@@ -115,21 +114,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsUap))]
-        public void Ctor_ExpectedDefaultPropertyValues_UapPlatform()
-        {
-            using (HttpClientHandler handler = CreateHttpClientHandler())
-            {
-                Assert.True(handler.CheckCertificateRevocationList);
-                Assert.Equal(0, handler.MaxRequestContentBufferSize);
-                Assert.Equal(-1, handler.MaxResponseHeadersLength);
-                Assert.True(handler.PreAuthenticate);
-                Assert.Equal(SslProtocols.None, handler.SslProtocols);
-                Assert.False(handler.SupportsProxy);
-                Assert.False(handler.SupportsRedirectConfiguration);
-            }
-        }
-
         [Fact]
         public void Credentials_SetGet_Roundtrips()
         {
@@ -171,7 +155,6 @@ namespace System.Net.Http.Functional.Tests
         }
 
         [OuterLoop("Uses external servers")]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP will send default credentials based on other criteria.")]
         [Theory]
         [InlineData(false)]
         [InlineData(true)]
@@ -236,7 +219,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(22158, TargetFrameworkMonikers.Uap)]
         [ConditionalFact]
         public async Task GetAsync_IPv6LinkLocalAddressUri_Success()
         {
@@ -317,7 +299,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP HTTP stack doesn't support .Proxy property")]
         [Theory]
         [InlineData("[::1234]")]
         [InlineData("[::1234]:8080")]
@@ -344,7 +325,6 @@ namespace System.Net.Http.Functional.Tests
             Assert.True(connectionAccepted);
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP HTTP stack doesn't support .Proxy property")]
         [Theory]
         [InlineData("1.2.3.4")]
         [InlineData("1.2.3.4:8080")]
@@ -380,7 +360,6 @@ namespace System.Net.Http.Functional.Tests
             yield return new object[] { "[::1234]" };
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP HTTP stack doesn't support .Proxy property")]
         [Theory]
         [OuterLoop("Uses external server")]
         [MemberData(nameof(DestinationHost_MemberData))]
@@ -408,7 +387,6 @@ namespace System.Net.Http.Functional.Tests
             Assert.True(connectionAccepted);
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP HTTP stack doesn't support .Proxy property")]
         [Fact]
         [OuterLoop("Uses external server")]
         public async Task ProxyTunnelRequest_PortSpecified_NotStrippedOffInUri()
@@ -437,7 +415,6 @@ namespace System.Net.Http.Functional.Tests
             Assert.True(connectionAccepted);
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP HTTP stack doesn't support .Proxy property")]
         [Theory]
         [InlineData(true)]
         [InlineData(false)]
@@ -494,7 +471,6 @@ namespace System.Net.Http.Functional.Tests
             from useSsl in new[] { true, false }
             select new object[] { address, useSsl };
 
-        [ActiveIssue(30056, TargetFrameworkMonikers.Uap)]
         [ConditionalTheory]
         [MemberData(nameof(SecureAndNonSecure_IPBasedUri_MemberData))]
         public async Task GetAsync_SecureAndNonSecureIPBasedUri_CorrectlyFormatted(IPAddress address, bool useSsl)
@@ -530,7 +506,6 @@ namespace System.Net.Http.Functional.Tests
             Assert.True(connectionAccepted);
         }
 
-        [ActiveIssue(32647, TargetFrameworkMonikers.Uap)]
         [OuterLoop("Uses external server")]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
         public async Task GetAsync_ServerNeedsBasicAuthAndSetDefaultCredentials_StatusCodeUnauthorized(Configuration.Http.RemoteServer remoteServer)
@@ -565,22 +540,16 @@ namespace System.Net.Http.Functional.Tests
 
         [OuterLoop("Uses external server")]
         [Fact]
-        public void GetAsync_ServerNeedsAuthAndNoCredential_StatusCodeUnauthorized()
+        public async Task GetAsync_ServerNeedsAuthAndNoCredential_StatusCodeUnauthorized()
         {
-            // UAP HTTP stack caches connections per-process. This causes interference when these tests run in
-            // the same process as the other tests. Each test needs to be isolated to its own process.
-            // See dicussion: https://github.com/dotnet/corefx/issues/21945
-            RemoteExecutor.Invoke(async (useSocketsHttpHandlerString, useHttp2String) =>
+            using (HttpClient client = CreateHttpClient(UseSocketsHttpHandler.ToString(), UseHttp2.ToString()))
             {
-                using (HttpClient client = CreateHttpClient(useSocketsHttpHandlerString, useHttp2String))
+                Uri uri = Configuration.Http.RemoteHttp11Server.BasicAuthUriForCreds(userName: Username, password: Password);
+                using (HttpResponseMessage response = await client.GetAsync(uri))
                 {
-                    Uri uri = Configuration.Http.RemoteHttp11Server.BasicAuthUriForCreds(userName: Username, password: Password);
-                    using (HttpResponseMessage response = await client.GetAsync(uri))
-                    {
-                        Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
-                    }
+                    Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
                 }
-            }, UseSocketsHttpHandler.ToString(), UseHttp2.ToString()).Dispose();
+            }
         }
 
         [Theory]
@@ -608,7 +577,6 @@ namespace System.Net.Http.Functional.Tests
         }
 
         [OuterLoop("Uses external server")]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         [Theory]
         [MemberData(nameof(RemoteServersAndHeaderEchoUrisMemberData))]
         public async Task GetAsync_RequestHeadersAddCustomHeaders_HeaderAndEmptyValueSent(Configuration.Http.RemoteServer remoteServer, Uri uri)
@@ -719,7 +687,6 @@ namespace System.Net.Http.Functional.Tests
 
         public static IEnumerable<object[]> RemoteServersAndHeaderEchoUrisMemberData() => RemoteServersAndHeaderEchoUris().Select(x => new object[] { x.remoteServer, x.uri });
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP HTTP ignores invalid headers")]
         [Theory]
         [InlineData(":")]
         [InlineData("\x1234: \x5678")]
@@ -751,7 +718,7 @@ namespace System.Net.Http.Functional.Tests
         [InlineData(true, true)]
         public async Task GetAsync_IncompleteData_ThrowsHttpRequestException(bool failDuringHeaders, bool getString)
         {
-            if (IsWinHttpHandler || IsUapHandler)
+            if (IsWinHttpHandler)
             {
                 // [ActiveIssue(39136)]
                 return;
@@ -939,7 +906,7 @@ namespace System.Net.Http.Functional.Tests
                         Assert.Equal("en.wikipedia.org:8080", requestData.GetSingleHeaderValue("Host"));
                         Assert.Equal("trailers, deflate", requestData.GetSingleHeaderValue("TE"));
                         Assert.Equal("HTTPS/1.3, IRC/6.9, RTA/x11, websocket", requestData.GetSingleHeaderValue("Upgrade"));
-                        if (!IsNetfxHandler && !PlatformDetection.IsUap)
+                        if (!IsNetfxHandler && !PlatformDetection.IsInAppContainer)
                         {
                             Assert.Equal("keep-alive", requestData.GetSingleHeaderValue("Proxy-Connection"));
                         }
@@ -954,7 +921,6 @@ namespace System.Net.Http.Functional.Tests
             from dribble in new[] { false, true }
             select new object[] { newline, fold, dribble };
 
-        [ActiveIssue(30060, TargetFrameworkMonikers.Uap)]
         [ConditionalTheory]
         [MemberData(nameof(GetAsync_ManyDifferentResponseHeaders_ParsedCorrectly_MemberData))]
         public async Task GetAsync_ManyDifferentResponseHeaders_ParsedCorrectly(string newline, string fold, bool dribble)
@@ -1136,7 +1102,6 @@ namespace System.Net.Http.Functional.Tests
             });
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Test hangs due to bugs in WinRT HTTP stack")]
         [Theory]
         [InlineData("")] // missing size
         [InlineData("    ")] // missing size
@@ -1623,7 +1588,7 @@ namespace System.Net.Http.Functional.Tests
         [InlineData(1000)]
         public async Task GetAsync_StatusCodeOutOfRange_ExpectedException(int statusCode)
         {
-            if (PlatformDetection.IsUap && statusCode == 99)
+            if (PlatformDetection.IsInAppContainer && statusCode == 99)
             {
                 // UAP platform allows this status code due to historical reasons.
                 return;
@@ -1928,7 +1893,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(29802, TargetFrameworkMonikers.Uap)]
         [Fact]
         public async Task GetAsync_ExpectContinueTrue_NoContent_StillSendsHeader()
         {
@@ -2196,7 +2160,6 @@ namespace System.Net.Http.Functional.Tests
             });
         }
 
-        [ActiveIssue(30061, TargetFrameworkMonikers.Uap)]
         [Theory]
         [InlineData(false)]
         [InlineData(true)]
@@ -2221,7 +2184,7 @@ namespace System.Net.Http.Functional.Tests
                         readFunc: (buffer, offset, count) => throw error,
                         readAsyncFunc: (buffer, offset, count, cancellationToken) => syncFailure ? throw error : Task.Delay(1).ContinueWith<int>(_ => throw error)));
 
-                    if (PlatformDetection.IsUap)
+                    if (PlatformDetection.IsInAppContainer)
                     {
                         HttpRequestException requestException = await Assert.ThrowsAsync<HttpRequestException>(() => client.PostAsync(uri, content));
                         Assert.Same(error, requestException.InnerException);
@@ -2255,7 +2218,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(22191, TargetFrameworkMonikers.Uap)]
         [OuterLoop("Takes several seconds")]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
         public async Task PostAsync_RedirectWith307_LargePayload(Configuration.Http.RemoteServer remoteServer)
@@ -2384,7 +2346,7 @@ namespace System.Net.Http.Functional.Tests
                     new HttpMethod(method),
                     serverUri) { Version = VersionFromUseHttp2 };
 
-                if (PlatformDetection.IsUap && method == "TRACE")
+                if (PlatformDetection.IsInAppContainer && method == "TRACE")
                 {
                     HttpRequestException ex = await Assert.ThrowsAsync<HttpRequestException>(() => client.SendAsync(request));
                     Assert.IsType<PlatformNotSupportedException>(ex.InnerException);
@@ -2429,7 +2391,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [ActiveIssue(30057, TargetFrameworkMonikers.Uap)]
         [OuterLoop("Uses external server")]
         [Theory]
         [InlineData("12345678910", 0)]
@@ -2470,7 +2431,7 @@ namespace System.Net.Http.Functional.Tests
             string method,
             Uri serverUri)
         {
-            if (PlatformDetection.IsUap && method == "TRACE")
+            if (PlatformDetection.IsInAppContainer && method == "TRACE")
             {
                 // UAP platform doesn't allow a content body with this HTTP verb.
                 // It will throw an exception HttpRequestException/COMException
@@ -2510,7 +2471,6 @@ namespace System.Net.Http.Functional.Tests
 #endregion
 
 #region Version tests
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP does not allow HTTP/1.0 requests.")]
         [OuterLoop("Uses external server")]
         [Fact]
         public async Task SendAsync_RequestVersion10_ServerReceivesVersion10Request()
index 55d7330..25a996d 100644 (file)
@@ -23,10 +23,9 @@ namespace System.Net.Http.Functional.Tests
         protected virtual bool UseSocketsHttpHandler => true;
         protected virtual bool UseHttp2 => false;
 
-        protected bool IsWinHttpHandler => !UseSocketsHttpHandler && PlatformDetection.IsWindows && !PlatformDetection.IsUap;
+        protected bool IsWinHttpHandler => !UseSocketsHttpHandler && PlatformDetection.IsWindows;
         protected bool IsCurlHandler => !UseSocketsHttpHandler && !PlatformDetection.IsWindows;
         protected bool IsNetfxHandler => false;
-        protected bool IsUapHandler => PlatformDetection.IsWindows && PlatformDetection.IsUap;
 
         public HttpClientHandlerTestBase(ITestOutputHelper output)
         {
@@ -72,7 +71,7 @@ namespace System.Net.Http.Functional.Tests
         {
             HttpClientHandler handler;
 
-            if (PlatformDetection.IsUap || useSocketsHttpHandler)
+            if (PlatformDetection.IsInAppContainer || useSocketsHttpHandler)
             {
                 handler = new HttpClientHandler();
             }
index 09aaac0..fb9973f 100644 (file)
@@ -101,7 +101,7 @@ namespace System.Net.Http.Functional.Tests
         {
             using (var client = new HttpClient())
             {
-                Assert.Equal(PlatformDetection.IsUap ? new Version(2, 0) : new Version(1, 1), client.DefaultRequestVersion);
+                Assert.Equal(PlatformDetection.IsInAppContainer ? new Version(2, 0) : new Version(1, 1), client.DefaultRequestVersion);
                 Assert.Same(client.DefaultRequestVersion, client.DefaultRequestVersion);
             }
         }
index 30d84ce..a0958c9 100644 (file)
@@ -20,7 +20,6 @@ namespace System.Net.Http.Functional.Tests
 
         public HttpProtocolTests(ITestOutputHelper output) : base(output) { }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Uap does not support 1.0")]
         [Fact]
         public async Task GetAsync_RequestVersion10_Success()
         {
@@ -207,7 +206,6 @@ namespace System.Net.Http.Functional.Tests
             }, new LoopbackServer.Options { StreamWrapper = GetStream });
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Uap ignores response version if not 1.0 or 1.1")]
         [Theory]
         [InlineData(0)]
         [InlineData(1)]
@@ -246,7 +244,6 @@ namespace System.Net.Http.Functional.Tests
             }, new LoopbackServer.Options { StreamWrapper = GetStream_ClientDisconnectOk });
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Uap ignores response version if not 1.0 or 1.1")]
         [Theory]
         [InlineData(2, 0)]
         [InlineData(2, 1)]
@@ -405,7 +402,7 @@ namespace System.Net.Http.Functional.Tests
             yield return "HTTP/X.Y.Z 200 OK";
 
             // Only pass on .NET Core Windows & SocketsHttpHandler.
-            if (PlatformDetection.IsNetCore && !PlatformDetection.IsUap && PlatformDetection.IsWindows)
+            if (PlatformDetection.IsNetCore && !PlatformDetection.IsInAppContainer && PlatformDetection.IsWindows)
             {
                 yield return "HTTP/0.1 200 OK";
                 yield return "HTTP/3.5 200 OK";
@@ -427,17 +424,13 @@ namespace System.Net.Http.Functional.Tests
                 yield return "HTTP/1.1  ";
             }
 
-            // Skip these test cases on UAP since the behavior is different.
-            if (!PlatformDetection.IsUap)
-            {
-                yield return "HTTP/1.1 200OK";
-                yield return "HTTP/1.1 20c";
-                yield return "HTTP/1.1 23";
-                yield return "HTTP/1.1 2bc";
-            }
+            yield return "HTTP/1.1 200OK";
+            yield return "HTTP/1.1 20c";
+            yield return "HTTP/1.1 23";
+            yield return "HTTP/1.1 2bc";
 
-            // Skip these test cases on UAP & CurlHandler since the behavior is different.
-            if (!PlatformDetection.IsUap && PlatformDetection.IsWindows)
+            // Skip these test cases on CurlHandler since the behavior is different.
+            if (PlatformDetection.IsWindows)
             {
                 yield return "NOTHTTP/1.1";
                 yield return "HTTP 1.1 200 OK";
@@ -603,7 +596,6 @@ namespace System.Net.Http.Functional.Tests
             });
         }
 
-        [ActiveIssue(29802, TargetFrameworkMonikers.Uap)]
         [Theory]
         [InlineData("get", "GET")]
         [InlineData("head", "HEAD")]
index 2586e2e..0ca80ea 100644 (file)
@@ -15,7 +15,7 @@ namespace System.Net.Http.Functional.Tests
 {
     public class HttpRequestMessageTest : HttpClientHandlerTestBase
     {
-        private readonly Version _expectedRequestMessageVersion = PlatformDetection.IsUap ? new Version(2,0) : new Version(1, 1);
+        private readonly Version _expectedRequestMessageVersion = PlatformDetection.IsInAppContainer ? new Version(2,0) : new Version(1, 1);
 
         public HttpRequestMessageTest(ITestOutputHelper output) : base(output) { }
 
@@ -224,7 +224,7 @@ namespace System.Net.Http.Functional.Tests
         [InlineData("HEAD")]
         public async Task HttpRequest_BodylessMethod_NoContentLength(string method)
         {
-            if (IsWinHttpHandler || IsNetfxHandler || IsUapHandler)
+            if (IsWinHttpHandler || IsNetfxHandler)
             {
                 // Some platform handlers differ but we don't take it as failure.
                 return;
index 44e98ae..49d5527 100644 (file)
@@ -17,7 +17,7 @@ namespace System.Net.Http.Functional.Tests
     {
         private static readonly string s_simpleContent = "Hello World\r\n";
 
-        // Retry logic is supported by SocketsHttpHandler, CurlHandler, uap, and netfx.  Only WinHttp does not support.
+        // Retry logic is supported by SocketsHttpHandler, CurlHandler and netfx.  Only WinHttp does not support.
         private bool IsRetrySupported => !IsWinHttpHandler;
 
         public HttpRetryProtocolTests(ITestOutputHelper output) : base(output) { }
@@ -63,7 +63,6 @@ namespace System.Net.Http.Functional.Tests
             });
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WinRT HTTP stack doesn't support Expect: 100-continue")]
         [Fact]
         public async Task PostAsyncExpect100Continue_FailsAfterContentSendStarted_Throws()
         {
index d2e1b52..a92d955 100644 (file)
@@ -16,7 +16,6 @@ namespace System.Net.Http.Functional.Tests
 
         public IdnaProtocolTests(ITestOutputHelper output) : base(output) { }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP does not support custom proxies.")]
         [Theory]
         [MemberData(nameof(InternationalHostNames))]
         public async Task InternationalUrl_UsesIdnaEncoding_Success(string hostname)
index 88acf62..8bc11da 100644 (file)
@@ -24,7 +24,6 @@ namespace System.Net.Http.Functional.Tests
 
         public PostScenarioTest(ITestOutputHelper output) : base(output) { }
 
-        [ActiveIssue(30057, TargetFrameworkMonikers.Uap)]
         [OuterLoop("Uses external servers")]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
         public async Task PostRewindableStreamContentMultipleTimes_StreamContentFullySent(Configuration.Http.RemoteServer remoteServer)
@@ -128,7 +127,6 @@ namespace System.Net.Http.Functional.Tests
 
         [OuterLoop("Uses external servers")]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WinRT behaves differently and will use 'Content-Length' semantics")]
         public async Task PostUsingNoSpecifiedSemantics_UsesChunkedSemantics(Configuration.Http.RemoteServer remoteServer)
         {
             await PostHelper(remoteServer, ExpectedContent, new StringContent(ExpectedContent),
@@ -162,7 +160,6 @@ namespace System.Net.Http.Functional.Tests
                 useContentLengthUpload: true, useChunkedEncodingUpload: false);
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WinRT based handler has PreAuthenticate always true")]
         [OuterLoop("Uses external servers")]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
         public async Task PostRewindableContentUsingAuth_NoPreAuthenticate_Success(Configuration.Http.RemoteServer remoteServer)
@@ -180,7 +177,6 @@ namespace System.Net.Http.Functional.Tests
             await PostUsingAuthHelper(remoteServer, ExpectedContent, content, credential, false);
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WinRT based handler has PreAuthenticate always true")]
         [OuterLoop("Uses external servers")]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
         public async Task PostNonRewindableContentUsingAuth_NoPreAuthenticate_ThrowsHttpRequestException(Configuration.Http.RemoteServer remoteServer)
@@ -191,7 +187,6 @@ namespace System.Net.Http.Functional.Tests
                 PostUsingAuthHelper(remoteServer, ExpectedContent, content, credential, preAuthenticate: false));
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WinRT based handler has PreAuthenticate always true")]
         [OuterLoop("Uses external servers")]
         [Theory, MemberData(nameof(RemoteServersMemberData))]
         public async Task PostNonRewindableContentUsingAuth_PreAuthenticate_Success(Configuration.Http.RemoteServer remoteServer)
index cc2d97a..8df08a7 100644 (file)
@@ -222,7 +222,6 @@ namespace System.Net.Http.Functional.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WinRT based Http stack ignores these errors")]
         [Theory]
         [InlineData(TransferType.ContentLength, TransferError.ContentLengthTooLarge)]
         [InlineData(TransferType.Chunked, TransferError.MissingChunkTerminator)]
index 81173e5..48e6810 100644 (file)
@@ -12,7 +12,6 @@ using Xunit.Abstractions;
 namespace System.Net.Http.Functional.Tests
 {
     [ActiveIssue(26539)]    // Flaky test
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "HttpsTestServer not compatible on UAP")]
     public abstract class SchSendAuxRecordHttpTest : HttpClientHandlerTestBase
     {
         public SchSendAuxRecordHttpTest(ITestOutputHelper output) : base(output) { }
index 13a1c75..db72b15 100644 (file)
@@ -1727,7 +1727,6 @@ namespace System.Net.Http.Functional.Tests
             public bool IsBypassed(Uri host) => true;
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP does not support custom proxies.")]
         [Fact]
         public async Task ProxyAuth_SameConnection_Succeeds()
         {
index bf572f8..fbcdc44 100644 (file)
@@ -4,7 +4,7 @@
     <DefineConstants>$(DefineConstants);SYSNETHTTP_NO_OPENSSL</DefineConstants>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonPath)\Interop\Unix\Interop.Libraries.cs" Condition="'$(TargetsUnix)' == 'true'">
     <Compile Include="ThrowingContent.cs" />
     <Compile Include="Watchdog.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup>
     <Compile Include="CustomContent.netcore.cs" />
     <Compile Include="HPackTest.cs" />
     <Compile Include="HttpClientTest.netcoreapp.cs" />
       <Link>Common\System\Net\Http\HuffmanEncoder.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Reference Include="Windows" />
-    <Compile Include="MultiInterfaceNonRewindableReadOnlyStream.cs" />
-    <Compile Include="MultiInterfaceReadOnlyStream.cs" />
-    <Compile Include="MultiInterfaceStreamContent.cs" />
-    <Compile Include="PostScenarioUWPTest.cs" />
-    <Compile Include="XUnitAssemblyAttributes.cs" />
-  </ItemGroup>
   <ItemGroup>
     <PackageReference Include="System.Net.TestData" Version="$(SystemNetTestDataPackageVersion)" />
   </ItemGroup>
index 57e7980..e3aa7af 100644 (file)
@@ -129,7 +129,7 @@ namespace System.Net.Http.Functional.Tests
             FieldInfo socketsHttpHandlerField = typeof(HttpClientHandler).GetField("_socketsHttpHandler", BindingFlags.NonPublic | BindingFlags.Instance);
             if (socketsHttpHandlerField == null)
             {
-                // Not using .NET Core implementation, i.e. could be .NET Framework or UAP.
+                // Not using .NET Core implementation, i.e. could be .NET Framework.
                 return;
             }
 
diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/XUnitAssemblyAttributes.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/XUnitAssemblyAttributes.cs
deleted file mode 100644 (file)
index c2e666b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Xunit;
-
-// [ActiveIssue(35002)]: Disable parallel execution of System.Net.Http.FunctionalTests on UAP test runs
-[assembly: CollectionBehavior(CollectionBehavior.CollectionPerAssembly, DisableTestParallelization = true)]
index d8cf6ba..1bf23a4 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.1.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index faa4d03..d89e840 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.HttpListener.cs" />
index 095c430..dd006cd 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 03ae075..0aa3ebd 100644 (file)
@@ -2,9 +2,8 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <ForceManagedImplementation>false</ForceManagedImplementation>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
-  <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
     <Reference Include="Microsoft.Win32.Primitives" />
     <Reference Include="System.Collections" />
     </Compile>
     <Compile Include="System\Net\Windows\CookieExtensions.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' AND '$(ForceManagedImplementation)' != 'true' AND '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true' AND '$(ForceManagedImplementation)' != 'true'">
     <Compile Include="System\Net\Windows\HttpListener.Windows.cs" />
     <Compile Include="System\Net\Windows\HttpListenerContext.Windows.cs" />
     <Compile Include="System\Net\Windows\HttpListenerRequest.Windows.cs" />
       <Link>Common\Interop\Windows\SspiCli\SSPIWrapper.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsUnix)' == 'true' OR '$(ForceManagedImplementation)' == 'true' OR ('$(TargetsWindows)' == 'true' AND '$(TargetGroup)' == 'uap')">
+  <ItemGroup Condition="'$(TargetsUnix)' == 'true' OR '$(ForceManagedImplementation)' == 'true'">
     <Compile Include="System\Net\Managed\HttpEndPointListener.cs" />
     <Compile Include="System\Net\Managed\HttpEndPointManager.cs" />
     <Compile Include="System\Net\Managed\HttpConnection.cs" />
index a343cb0..90c6fd3 100644 (file)
@@ -16,13 +16,7 @@ namespace System.Net
         {
             if (s_toServerStringFunc == null)
             {
-                BindingFlags flags = BindingFlags.Instance;
-#if uap
-                flags |= BindingFlags.Public;
-#else
-                flags |= BindingFlags.NonPublic;
-#endif
-                s_toServerStringFunc = (Func<Cookie, string>)typeof(Cookie).GetMethod("ToServerString", flags).CreateDelegate(typeof(Func<Cookie, string>));
+                s_toServerStringFunc = (Func<Cookie, string>)typeof(Cookie).GetMethod("ToServerString", BindingFlags.Instance | BindingFlags.NonPublic).CreateDelegate(typeof(Func<Cookie, string>));
             }
 
             Debug.Assert(s_toServerStringFunc != null, "Reflection failed for Cookie.ToServerString().");
@@ -35,13 +29,7 @@ namespace System.Net
         {
             if (s_cloneFunc == null)
             {
-                BindingFlags flags = BindingFlags.Instance;
-#if uap
-                flags |= BindingFlags.Public;
-#else
-                flags |= BindingFlags.NonPublic;
-#endif
-                s_cloneFunc = (Func<Cookie, Cookie>)typeof(Cookie).GetMethod("Clone", flags).CreateDelegate(typeof(Func<Cookie, Cookie>));
+                s_cloneFunc = (Func<Cookie, Cookie>)typeof(Cookie).GetMethod("Clone", BindingFlags.Instance | BindingFlags.NonPublic).CreateDelegate(typeof(Func<Cookie, Cookie>));
             }
 
             Debug.Assert(s_cloneFunc != null, "Reflection failed for Cookie.Clone().");
@@ -63,13 +51,7 @@ namespace System.Net
         {
             if (s_getVariantFunc == null)
             {
-                BindingFlags flags = BindingFlags.Instance;
-#if uap
-                flags |= BindingFlags.Public;
-#else
-                flags |= BindingFlags.NonPublic;
-#endif
-                s_getVariantFunc = (Func<Cookie, CookieVariant>)typeof(Cookie).GetProperty("Variant", flags).GetGetMethod(true).CreateDelegate(typeof(Func<Cookie, CookieVariant>));
+                s_getVariantFunc = (Func<Cookie, CookieVariant>)typeof(Cookie).GetProperty("Variant", BindingFlags.Instance | BindingFlags.NonPublic).GetGetMethod(true).CreateDelegate(typeof(Func<Cookie, CookieVariant>));
             }
 
             Debug.Assert(s_getVariantFunc != null, "Reflection failed for Cookie.Variant.");
@@ -87,13 +69,7 @@ namespace System.Net
         {
             if (s_internalAddFunc == null)
             {
-                BindingFlags flags = BindingFlags.Instance;
-#if uap
-                flags |= BindingFlags.Public;
-#else
-                flags |= BindingFlags.NonPublic;
-#endif
-                s_internalAddFunc = (Func<CookieCollection, Cookie, bool, int>)typeof(CookieCollection).GetMethod("InternalAdd", flags).CreateDelegate(typeof(Func<CookieCollection, Cookie, bool, int>));
+                s_internalAddFunc = (Func<CookieCollection, Cookie, bool, int>)typeof(CookieCollection).GetMethod("InternalAdd", BindingFlags.Instance | BindingFlags.NonPublic).CreateDelegate(typeof(Func<CookieCollection, Cookie, bool, int>));
             }
 
             Debug.Assert(s_internalAddFunc != null, "Reflection failed for CookieCollection.InternalAdd().");
index de5d432..7a72d5d 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp-Windows_NT;
       netcoreapp-OSX;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 3696540..edc0cb9 100644 (file)
@@ -10,7 +10,6 @@ using Xunit;
 namespace System.Net.Tests
 {
     [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // httpsys component missing in Nano.
-    [ActiveIssue(18784, TargetFrameworkMonikers.Uap)]
     public class HttpListenerResponseHeadersTests : HttpListenerResponseTestBase
     {
         private static string s_longString = new string('a', ushort.MaxValue + 1);
index 811fdc6..74da065 100644 (file)
@@ -14,7 +14,6 @@ namespace System.Net.Tests
     [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // httpsys component missing in Nano.
     public class HttpListenerWebSocketTests : IDisposable
     {
-        public static bool PartialMessagesSupported => PlatformDetection.ClientWebSocketPartialMessagesSupported;
         public static bool IsNotWindows7 { get; } = !PlatformDetection.IsWindows7;
         public static bool IsNotWindows7AndIsWindowsImplementation => IsNotWindows7 && Helpers.IsWindowsImplementation;
 
@@ -36,7 +35,7 @@ namespace System.Net.Tests
             Client.Dispose();
         }
 
-        [ConditionalTheory(nameof(PartialMessagesSupported), nameof(IsNotWindows7))]
+        [ConditionalTheory(nameof(IsNotWindows7))]
         [InlineData(WebSocketMessageType.Text, false)]
         [InlineData(WebSocketMessageType.Binary, false)]
         [InlineData(WebSocketMessageType.Text, true)]
@@ -86,7 +85,6 @@ namespace System.Net.Tests
             await Assert.ThrowsAsync<ObjectDisposedException>(() => context.WebSocket.SendAsync(new ArraySegment<byte>(new byte[10]), WebSocketMessageType.Text, false, new CancellationToken()));
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "WebSocket partial send is not supported on UAP. (#22053)")]
         [ConditionalTheory(nameof(IsNotWindows7))]
         [InlineData(WebSocketMessageType.Text, false)]
         [InlineData(WebSocketMessageType.Binary, false)]
index ca761db..88b2b46 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <StringResourcesPath>../src/Resources/Strings.resx</StringResourcesPath>
-    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="GetContextHelper.cs" />
index d8cf6ba..1bf23a4 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.1.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a879809..fd42a2d 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.Mail.cs" />
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 208e1f1..7d9d9f7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2380601..db31ac9 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AlternateViewCollectionTest.cs" />
index 591dde5..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 8eacc1d..1860965 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <StringResourcesPath>../../src/Resources/Strings.resx</StringResourcesPath>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Base64EncodingTest.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 69f4edc..b3e76ad 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.NameResolution.cs" />
index 095c430..dd006cd 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 3ee88c6..1a9e6a1 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Net.NameResolution</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Net\Dns.cs" />
@@ -40,8 +40,7 @@
   </ItemGroup>
   <ItemGroup Condition=" '$(TargetsWindows)' == 'true'">
     <Compile Include="System\Net\NameResolutionPal.Windows.cs" />
-    <Compile Include="System\Net\NameResolutionPal.Win32.cs" Condition="'$(TargetGroup)' != 'uap'" />
-    <Compile Include="System\Net\NameResolutionPal.Uap.cs" Condition="'$(TargetGroup)' == 'uap'" />
+    <Compile Include="System\Net\NameResolutionPal.Win32.cs" />
     <!-- Debug only -->
     <Compile Include="$(CommonPath)\System\Net\DebugSafeHandle.cs">
       <Link>Common\System\Net\DebugSafeHandle.cs</Link>
     <Compile Include="$(CommonPath)\Interop\Windows\WinSock\Interop.GetAddrInfoExW.cs">
       <Link>Interop\Windows\WinSock\Interop.GetAddrInfoExW.cs</Link>
     </Compile>
-    <Compile Include="$(CommonPath)\CoreLib\Microsoft\Win32\SafeHandles\SafeLibraryHandle.cs" Condition="'$(TargetGroup)' != 'uap'">
+    <Compile Include="$(CommonPath)\CoreLib\Microsoft\Win32\SafeHandles\SafeLibraryHandle.cs">
       <Link>Common\CoreLib\Microsoft\Win32\SafeHandles\SafeLibraryHandle.cs</Link>
     </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.GetProcAddress.cs" Condition="'$(TargetGroup)' != 'uap'">
+    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.GetProcAddress.cs">
       <Link>Interop\Windows\Kernel32\Interop.GetProcAddress.cs</Link>
     </Compile>
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.LoadLibraryEx.cs" Condition="'$(TargetGroup)' != 'uap'">
+    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.LoadLibraryEx.cs">
       <Link>Interop\Windows\Kernel32\Interop.LoadLibraryEx.cs</Link>
     </Compile>
     <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.FreeLibrary.cs">
diff --git a/src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionPal.Uap.cs b/src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionPal.Uap.cs
deleted file mode 100644 (file)
index 7f752ba..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-namespace System.Net
-{
-    internal static partial class NameResolutionPal
-    {
-        private static bool GetAddrInfoExSupportsOverlapped() => false;
-    }
-}
index 3c373cd..ad8296d 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 003780f..a8c7299 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="GetHostByAddressTest.cs" />
index 174a698..3e34b79 100644 (file)
     <Compile Include="..\..\src\System\Net\NameResolutionPal.Windows.cs">
       <Link>ProductionCode\System\Net\NameResolutionPal.Windows.cs</Link>
     </Compile>
-    <Compile Include="..\..\src\System\Net\NameResolutionPal.Uap.cs" Condition="'$(TargetGroup)' == 'uap'">
-      <Link>ProductionCode\System\Net\NameResolutionPal.Uap.cs</Link>
-    </Compile>
-    <Compile Include="..\..\src\System\Net\NameResolutionPal.Win32.cs" Condition="'$(TargetGroup)' == 'netcoreapp'">
+    <Compile Include="..\..\src\System\Net\NameResolutionPal.Win32.cs">
       <Link>ProductionCode\System\Net\NameResolutionPal.Win32.cs</Link>
     </Compile>
     <Compile Include="$(CommonPath)\System\Net\InternalException.cs">
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ba35527..60c6f52 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.NetworkInformation.cs" />
index e30f219..d23e9c1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Linux;
       netcoreapp-OSX;
       netcoreapp-FreeBSD;
index dacbb8b..3757877 100644 (file)
@@ -4,7 +4,7 @@
     <OutputType>Library</OutputType>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn Condition=" '$(TargetsFreeBSD)' == 'true'">$(NoWarn);CA1823</NoWarn>
-    <Configurations>netcoreapp-FreeBSD-Debug;netcoreapp-FreeBSD-Release;netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-FreeBSD-Debug;netcoreapp-FreeBSD-Release;netcoreapp-Linux-Debug;netcoreapp-Linux-Release;netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Net\NetworkInformation\DuplicateAddressDetectionState.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 688f9c1..1d6bb3b 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <StringResourcesPath>../../src/Resources/Strings.resx</StringResourcesPath>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <!-- Shared code with src assembly -->
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9b9fcc4..5036866 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.Ping.cs" />
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index d1726c9..a105795 100644 (file)
@@ -3,10 +3,7 @@
     <AssemblyName>System.Net.Ping</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetGroup)' == 'uap'">
-    <NoWarn>$(NoWarn);414</NoWarn>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Net\NetworkInformation\IPStatus.cs" />
       <Link>Common\Interop\Unix\System.Native\Interop.SocketAddress.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' And '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="System\Net\NetworkInformation\Ping.Windows.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' And '$(TargetGroup)' == 'uap'">
-    <Compile Include="System\Net\NetworkInformation\Ping.Windows.Uap.cs" />
-  </ItemGroup>
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <!-- System.Net Common -->
     <Compile Include="$(CommonPath)\System\Net\SocketAddressPal.Windows.cs">
diff --git a/src/libraries/System.Net.Ping/src/System/Net/NetworkInformation/Ping.Windows.Uap.cs b/src/libraries/System.Net.Ping/src/System/Net/NetworkInformation/Ping.Windows.Uap.cs
deleted file mode 100644 (file)
index 53d9508..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Globalization;
-using System.Net.Sockets;
-using System.Threading;
-using System.Threading.Tasks;
-
-namespace System.Net.NetworkInformation
-{
-    public partial class Ping
-    {
-        private PingReply SendPingCore(IPAddress address, byte[] buffer, int timeout, PingOptions options)
-        {
-            // Win32 Icmp* APIs fail with E_ACCESSDENIED when called from UWP due to Windows OS limitations.
-            throw new PlatformNotSupportedException(SR.Format(CultureInfo.InvariantCulture,
-                        SR.net_ping_not_supported_uwp));
-        }
-
-        // Any exceptions that escape synchronously will be caught by the caller and wrapped in a PingException.
-        // We do not need to or want to capture such exceptions into the returned task.
-        private Task<PingReply> SendPingAsyncCore(IPAddress address, byte[] buffer, int timeout, PingOptions options)
-        {
-            // Win32 Icmp* APIs fail with E_ACCESSDENIED when called from UWP due to Windows OS limitations.
-            throw new PlatformNotSupportedException(SR.Format(CultureInfo.InvariantCulture,
-                        SR.net_ping_not_supported_uwp));
-        }
-    }
-}
index f329ed5..1e8dd5d 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a7be544..43c3657 100644 (file)
@@ -15,7 +15,6 @@ using Xunit.Abstractions;
 
 namespace System.Net.NetworkInformation.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Ping class not supported on UWP. See dotnet/corefx #19583")]
     public class PingTest
     {
         public readonly ITestOutputHelper _output;
@@ -196,7 +195,6 @@ namespace System.Net.NetworkInformation.Tests
         }
 
         [Fact]
-        [ActiveIssue(19583, TargetFrameworkMonikers.Uap)]
         public void SendPingWithIPAddressAndTimeout()
         {
             IPAddress localIpAddress = TestSettings.GetLocalIPAddress();
@@ -210,7 +208,6 @@ namespace System.Net.NetworkInformation.Tests
         }
 
         [Fact]
-        [ActiveIssue(19583, TargetFrameworkMonikers.Uap)]
         public async Task SendPingAsyncWithIPAddressAndTimeout()
         {
             IPAddress localIpAddress = await TestSettings.GetLocalIPAddressAsync();
index f3e8652..28c6ac5 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
   </PropertyGroup>
   <!-- Test APIs introduced after 1.0 -->
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f30be65..2932f48 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.Primitives.cs" />
index 1ad17d8..1c0ceb0 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
     </BuildConfigurations>
index 053e2e8..3006216 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Net.Primitives</AssemblyName>
     <OutputType>Library</OutputType>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup>
     <!-- SYSTEM_NET_PRIMITIVES_DLL is required to allow source-level code sharing for types defined within the
index 7652ab7..8587dcd 100644 (file)
@@ -67,33 +67,9 @@ namespace System.Net
 
         private string m_domainKey = string.Empty; // Do not rename (binary serialization)
 
-        /*
-            TODO: #13607
-            VSO 449560
-            Reflecting on internal method won't work on AOT without rd.xml and DisableReflection
-            block in toolchain.Networking team will be working on exposing methods from S.Net.Primitive
-            public, this is a temporary workaround till that happens.
-        */
-#if uap
-        public
-#else
-        internal
-#endif
-        bool IsQuotedVersion = false;
-
-        /*
-            TODO: #13607
-            VSO 449560
-            Reflecting on internal method won't work on AOT without rd.xml and DisableReflection
-            block in toolchain.Networking team will be working on exposing methods from S.Net.Primitive
-            public, this is a temporary workaround till that happens.
-        */
-#if uap
-        public
-#else
-        internal
-#endif
-        bool IsQuotedDomain = false;
+        internal bool IsQuotedVersion = false;
+
+        internal bool IsQuotedDomain = false;
 
 #if DEBUG
         static Cookie()
@@ -241,20 +217,7 @@ namespace System.Net
                 }
             }
         }
-
-        /*
-            TODO: #13607
-            VSO 449560
-            Reflecting on internal method won't work on AOT without rd.xml and DisableReflection
-            block in toolchain.Networking team will be working on exposing methods from S.Net.Primitive
-            public, this is a temporary workaround till that happens.
-        */
-#if uap
-        public
-#else
-        internal
-#endif
-        bool InternalSetName(string value)
+        internal bool InternalSetName(string value)
         {
             if (string.IsNullOrEmpty(value) || value[0] == '$' || value.IndexOfAny(ReservedToName) != -1 || value[0] == ' ' || value[value.Length - 1] == ' ')
             {
@@ -286,19 +249,7 @@ namespace System.Net
             }
         }
 
-        /*
-            TODO: #13607
-            VSO 449560
-            Reflecting on internal method won't work on AOT without rd.xml and DisableReflection
-            block in toolchain.Networking team will be working on exposing methods from S.Net.Primitive
-            public, this is a temporary workaround till that happens.
-        */
-#if uap
-        public
-#else
-        internal
-#endif
-        Cookie Clone()
+        internal Cookie Clone()
         {
             Cookie clonedCookie = new Cookie(m_name, m_value);
 
@@ -703,19 +654,7 @@ namespace System.Net
             }
         }
 
-        /*
-            TODO: #13607
-            VSO 449560
-            Reflecting on internal method won't work on AOT without rd.xml and DisableReflection
-            block in toolchain.Networking team will be working on exposing methods from S.Net.Primitive
-            public, this is a temporary workaround till that happens.
-        */
-#if uap
-        public
-#else
-        internal
-#endif
-        CookieVariant Variant
+        internal CookieVariant Variant
         {
             get
             {
@@ -844,19 +783,7 @@ namespace System.Net
             }
         }
 
-        /*
-            TODO: #13607
-            VSO 449560
-            Reflecting on internal method won't work on AOT without rd.xml and DisableReflection
-            block in toolchain.Networking team will be working on exposing methods from S.Net.Primitive
-            public, this is a temporary workaround till that happens.
-        */
-#if uap
-        public
-#else
-        internal
-#endif
-        string ToServerString()
+        internal string ToServerString()
         {
             string result = Name + EqualsLiteral + Value;
             if (m_comment != null && m_comment.Length > 0)
index 01e19e5..a3ccc82 100644 (file)
@@ -194,19 +194,7 @@ namespace System.Net
         // If isStrict == true, replace the cookie if found same with newest Variant.
         // Returns 1 if added, 0 if replaced or rejected.
 
-        /*
-            TODO: #13607
-            VSO 449560
-            Reflecting on internal method won't work on AOT without rd.xml and DisableReflection
-            block in toolchain.Networking team will be working on exposing methods from S.Net.Primitive
-            public, this is a temporary workaround till that happens.
-        */
-#if uap
-        public
-#else
-        internal
-#endif
-        int InternalAdd(Cookie cookie, bool isStrict)
+        internal int InternalAdd(Cookie cookie, bool isStrict)
         {
             int ret = 1;
             if (isStrict)
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index a673a72..65e31e8 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CookieTest.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index bbc5415..f36204c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.Requests.cs" />
index 421f137..1c0ceb0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5823fae..114029e 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>System.Net.Requests</RootNamespace>
     <AssemblyName>System.Net.Requests</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="FxCopBaseline.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3612268..b170994 100644 (file)
@@ -308,7 +308,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task ContentLength_Get_ExpectSameAsGetResponseStream(bool useSsl)
@@ -1001,7 +1000,6 @@ namespace System.Net.Tests
             Assert.Equal(HttpVersion.Version11, request.ProtocolVersion);
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UAP does not allow HTTP/1.0 requests.")]
         [OuterLoop]
         [Theory]
         [InlineData(false)]
@@ -1258,7 +1256,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task GetResponseAsync_GetResponseStream_ContainsHost(bool useSsl)
@@ -1306,7 +1303,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task GetResponseAsync_PostRequestStream_ContainsData(bool useSsl)
@@ -1352,7 +1348,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task GetResponseAsync_UseDefaultCredentials_ExpectSuccess(bool useSsl)
@@ -1392,7 +1387,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task HaveResponse_GetResponseAsync_ExpectTrue(bool useSsl)
@@ -1411,7 +1405,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task Headers_GetResponseHeaders_ContainsExpectedValue(bool useSsl)
@@ -1511,7 +1504,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task ResponseUri_GetResponseAsync_ExpectSameUri(bool useSsl)
@@ -1535,7 +1527,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task SimpleScenario_UseGETVerb_Success(bool useSsl)
@@ -1552,7 +1543,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task SimpleScenario_UsePOSTVerb_Success(bool useSsl)
@@ -1575,7 +1565,6 @@ namespace System.Net.Tests
         }
 
         [Theory]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Loopback server with TLS has problems on UWP")]
         [InlineData(true)]
         [InlineData(false)]
         public async Task ContentType_AddHeaderWithNoContent_SendRequest_HeaderGetsSent(bool useSsl)
@@ -1608,7 +1597,6 @@ namespace System.Net.Tests
         }
 
         [Theory, MemberData(nameof(MixedWebRequestParameters))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void GetResponseAsync_ParametersAreNotCachable_CreateNewClient(HttpWebRequestParameters requestParameters, bool connectionReusedParameter)
         {
             RemoteExecutor.Invoke(async (serializedParameters, connectionReusedString) =>
@@ -1658,7 +1646,6 @@ namespace System.Net.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void GetResponseAsync_ParametersAreCachableButDifferent_CreateNewClient()
         {
             RemoteExecutor.Invoke(async () =>
index 218d4fe..cecca4d 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <StringResourcesPath>../src/Resources/Strings.resx</StringResourcesPath>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e54d316..6bcbc00 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.Security.cs" />
index 36c8145..7778219 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp-OSX;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index e41f160..701b822 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Net.Security</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <!-- This is needed so that code for TlsCipherSuite will have no namespace (causes compile errors) when used within T4 template  -->
     <DefineConstants>$(DefineConstants);PRODUCT</DefineConstants>
   </PropertyGroup>
index 585a03b..d2c7d64 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
       netcoreapp-OSX;
index 5daf3b9..390082b 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
     <AllowUnsafeBlocks Condition="'$(TargetsUnix)' == 'true'">true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <Choose>
     <!-- Disable the whole workitem on Windows arm64 until https://github.com/dotnet/core-eng/issues/5118 is fixed. -->
index cabc694..704a0ae 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp-OSX;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 239ac76..4785f96 100644 (file)
@@ -10,7 +10,7 @@
     <NoWarn>436</NoWarn>
     <!-- Disable: CLSCompliant attribute is not needed -->
     <NoWarn>$(NoWarn);3021</NoWarn>
-    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="SslApplicationProtocolTests.cs" />
index d8cf6ba..1bf23a4 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.1.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 118f1bc..3dc7b9c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.ServicePoint.cs" />
index 034ce4c..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index ab29464..d687995 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CA5364</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1250719..1cf0152 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ServicePointManagerTest.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 17abd16..3904382 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.Sockets.cs" />
index 1ad17d8..1c0ceb0 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
     </BuildConfigurations>
index 03cf26a..587ce63 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Net.Sockets</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup>
     <!-- SYSTEM_NET_SOCKETS_DLL is required to allow source-level code sharing for types defined within the
index 3c373cd..ad8296d 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index d6e980d..d9ae511 100644 (file)
@@ -594,7 +594,6 @@ namespace System.Net.Sockets.Tests
             }
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // [ActiveIssue(20893)]
         [ConditionalTheory(nameof(LocalhostIsBothIPv4AndIPv6))]
         [MemberData(nameof(DualMode_Connect_IPAddress_DualMode_Data))]
         public void DualModeConnectAsync_Static_DnsEndPointToHost_Helper(IPAddress listenOn, bool dualModeServer)
index 0e1c350..a679a1b 100644 (file)
@@ -889,7 +889,7 @@ namespace System.Net.Sockets.Tests
                         Assert.True(
                             error is ObjectDisposedException ||
                             error is SocketException ||
-                            (error is SEHException && PlatformDetection.IsUap),
+                            (error is SEHException && PlatformDetection.IsInAppContainer),
                             error.ToString());
                     }
                 }
@@ -928,7 +928,7 @@ namespace System.Net.Sockets.Tests
                         Assert.True(
                             error is ObjectDisposedException ||
                             error is SocketException ||
-                            (error is SEHException && PlatformDetection.IsUap),
+                            (error is SEHException && PlatformDetection.IsInAppContainer),
                             error.ToString());
                     }
                 }
index c08f393..e98f515 100644 (file)
@@ -65,7 +65,6 @@ namespace System.Net.Sockets.Tests
             }
         }
 
-        [ActiveIssue(31609, TargetFrameworkMonikers.Uap)]
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // Skip on Nano: dotnet/corefx #29929
         public async Task MulticastInterface_Set_AnyInterface_Succeeds()
         {
@@ -75,7 +74,6 @@ namespace System.Net.Sockets.Tests
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // Skip on Nano: dotnet/corefx #29929
         [PlatformSpecific(TestPlatforms.Windows)] // see comment below
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // UWP Apps are normally blocked to send network traffic on loopback.
         public async Task MulticastInterface_Set_Loopback_Succeeds()
         {
             // On Windows, we can apparently assume interface 1 is "loopback." On other platforms, this is not a
@@ -130,7 +128,6 @@ namespace System.Net.Sockets.Tests
             }
         }
 
-        [ActiveIssue(31609, TargetFrameworkMonikers.Uap)]
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // Skip on Nano: dotnet/corefx #29929
         [PlatformSpecific(~TestPlatforms.OSX)]
         public async Task MulticastInterface_Set_IPv6_AnyInterface_Succeeds()
@@ -190,7 +187,6 @@ namespace System.Net.Sockets.Tests
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // Skip on Nano: dotnet/corefx #29929
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // UWP Apps are normally blocked to send network traffic on loopback.
         public async Task MulticastInterface_Set_IPv6_Loopback_Succeeds()
         {
             // On Windows, we can apparently assume interface 1 is "loopback." On other platforms, this is not a
index cbe2194..e4faca7 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Accept.cs" />
index 20cb040..ad8296d 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 273455b..2e5790e 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <!-- Manual test, don't run on CI -->
     <ArchiveTest>false</ArchiveTest>
   </PropertyGroup>
index d8cf6ba..1bf23a4 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.1.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5bba65f..992ca86 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.WebClient.cs" />
index 034ce4c..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index e404e08..b1f8458 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 62f37de..41491ed 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4264d05..ab6c09a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
     <!-- Disable 8610 (Nullability of reference type doesn't match overridden member) warning so it doesn't turn into an error -->
     <NoWarn>$(NoWarn);8610</NoWarn>
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index fac070f..3b3daec 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Net.WebHeaderCollection</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 440f71f..835f9d8 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="WebHeaderCollectionTest.cs" />
index d8cf6ba..1bf23a4 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.1.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 50487a6..01a6a23 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.WebProxy.cs" />
index 034ce4c..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 6fedd41..ee84582 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 63b16c6..d2f8aa4 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="WebProxyTest.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index fc8333c..fa82c41 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.WebSockets.Client.cs" />
index 1ad17d8..1c0ceb0 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
     </BuildConfigurations>
index 82be680..53c9d6a 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Net\WebSockets\ClientWebSocket.cs" />
     <Compile Include="$(CommonPath)\System\Net\WebSockets\WebSocketValidate.cs">
       <Link>Common\System\Net\WebSockets\WebSocketValidate.cs</Link>
     </Compile>
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Compile Include="System\Net\WebSockets\WebSocketHandle.Windows.cs" />
-    <Compile Include="$(CommonPath)\System\Net\Security\CertificateHelper.cs">
-      <Link>Common\System\Net\Security\CertificateHelper.cs</Link>
-    </Compile>
-    <Compile Include="$(CommonPath)\System\Net\Security\CertificateHelper.Uap.cs">
-      <Link>Common\System\Net\Security\CertificateHelper.Uap.cs</Link>
-    </Compile>
-    <Compile Include="System\Net\WebSockets\WebSocketHandle.WinRT.cs" />
-    <Compile Include="System\Net\WebSockets\WinRTWebSocket.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap'">
     <Compile Include="System\Net\WebSockets\WebSocketHandle.Managed.cs" />
     <Compile Include="$(CommonPath)\System\Net\HttpKnownHeaderNames.cs">
       <Link>Common\System\Net\HttpKnownHeaderNames.cs</Link>
       <Link>Common\System\Net\SecurityProtocol.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Reference Include="Windows" />
-    <Reference Include="mscorlib" />
-    <Reference Include="System.Runtime.InteropServices.WindowsRuntime" />
-    <Reference Include="System.Runtime.WindowsRuntime" />
-  </ItemGroup>
   <ItemGroup>
     <Reference Include="Microsoft.Win32.Primitives" />
     <Reference Include="System.Collections" />
@@ -69,8 +50,6 @@
     <Reference Include="System.Text.Encoding" />
     <Reference Include="System.Threading" />
     <Reference Include="System.Threading.Tasks" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'uap'">
     <Reference Include="System.Buffers" />
     <Reference Include="System.Net.Http" />
     <Reference Include="System.Net.NameResolution" />
diff --git a/src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/WebSocketHandle.WinRT.cs b/src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/WebSocketHandle.WinRT.cs
deleted file mode 100644 (file)
index ce24234..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Diagnostics.CodeAnalysis;
-using System.Diagnostics;
-using System.Net;
-using System.Security.Cryptography.X509Certificates;
-using System.Threading;
-using System.Threading.Tasks;
-
-using Microsoft.Win32.SafeHandles;
-
-using Windows.Web;
-using RTWebSocketError = Windows.Networking.Sockets.WebSocketError;
-
-namespace System.Net.WebSockets
-{
-    internal readonly partial struct WebSocketHandle
-    {
-        private readonly WinRTWebSocket _webSocket;
-
-        public static WebSocketHandle Create()
-        {
-            return new WebSocketHandle(new WinRTWebSocket());
-        }
-
-        public static void CheckPlatformSupport()
-        {
-        }
-
-        private WebSocketHandle(WinRTWebSocket webSocket)
-        {
-            _webSocket = webSocket;
-        }
-
-        public async Task ConnectAsyncCore(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options)
-        {
-            if (options.RemoteCertificateValidationCallback != null)
-            {
-                throw new PlatformNotSupportedException(SR.net_WebSockets_RemoteValidationCallbackNotSupported);
-            }
-
-            try
-            {
-                await _webSocket.ConnectAsync(uri, cancellationToken, options).ConfigureAwait(false);
-            }
-            catch (Exception ex) when (!(ex is OperationCanceledException && cancellationToken.IsCancellationRequested))
-            {
-                WebErrorStatus status = RTWebSocketError.GetStatus(ex.HResult);
-                var inner = new Exception(status.ToString(), ex);
-                WebSocketException wex = new WebSocketException(WebSocketError.Faulted, SR.net_webstatus_ConnectFailure, inner);
-                if (NetEventSource.IsEnabled) NetEventSource.Error(_webSocket, wex);
-                throw wex;
-            }
-        }
-    }
-}
diff --git a/src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/WinRTWebSocket.cs b/src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/WinRTWebSocket.cs
deleted file mode 100644 (file)
index 3524812..0000000
+++ /dev/null
@@ -1,592 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Globalization;
-using System.Net.Security;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices.WindowsRuntime;
-using System.Security.Cryptography.X509Certificates;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-
-using Windows.Foundation.Metadata;
-using Windows.Networking.Sockets;
-using Windows.Storage.Streams;
-using Windows.Web;
-
-using RTCertificate = Windows.Security.Cryptography.Certificates.Certificate;
-using RTCertificateQuery = Windows.Security.Cryptography.Certificates.CertificateQuery;
-using RTCertificateStores = Windows.Security.Cryptography.Certificates.CertificateStores;
-using RTWebSocketError = Windows.Networking.Sockets.WebSocketError;
-
-namespace System.Net.WebSockets
-{
-    internal class WinRTWebSocket : WebSocket
-    {
-        #region Constants
-        private const string HeaderNameCookie = "Cookie";
-        #endregion
-
-        private static readonly Lazy<bool> s_MessageWebSocketClientCertificateSupported =
-            new Lazy<bool>(InitMessageWebSocketClientCertificateSupported);
-        private static bool MessageWebSocketClientCertificateSupported => s_MessageWebSocketClientCertificateSupported.Value;
-        private static readonly Lazy<bool> s_MessageWebSocketReceiveModeSupported =
-            new Lazy<bool>(InitMessageWebSocketReceiveModeSupported);
-        private static bool MessageWebSocketReceiveModeSupported => s_MessageWebSocketReceiveModeSupported.Value;
-
-        private WebSocketCloseStatus? _closeStatus = null;
-        private string _closeStatusDescription = null;
-        private string _subProtocol = null;
-        private bool _disposed = false;
-
-        private object _stateLock = new object();
-        private int _pendingWriteOperation;
-        private MessageWebSocket _messageWebSocket;
-        private DataWriter _messageWriter;
-
-        private WebSocketState _state = WebSocketState.None;
-        private TaskCompletionSource<ArraySegment<byte>> _receiveAsyncBufferTcs;
-        private TaskCompletionSource<WebSocketReceiveResult> _webSocketReceiveResultTcs;
-        private TaskCompletionSource<WebSocketReceiveResult> _closeWebSocketReceiveResultTcs;
-
-        public WinRTWebSocket()
-        {
-            _state = WebSocketState.None;
-        }
-
-        #region Properties
-        public override WebSocketCloseStatus? CloseStatus
-        {
-            get
-            {
-                return _closeStatus;
-            }
-        }
-
-        public override string CloseStatusDescription
-        {
-            get
-            {
-                return _closeStatusDescription;
-            }
-        }
-
-        public override WebSocketState State
-        {
-            get
-            {
-                return _state;
-            }
-        }
-
-        public override string SubProtocol
-        {
-            get
-            {
-                return _subProtocol;
-            }
-        }
-        #endregion
-
-        private static readonly WebSocketState[] s_validConnectStates = {WebSocketState.None};
-        private static readonly WebSocketState[] s_validConnectingStates = {WebSocketState.Connecting};
-
-        public async Task ConnectAsync(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options)
-        {
-            InterlockedCheckAndUpdateState(WebSocketState.Connecting, s_validConnectStates);
-            CheckValidState(s_validConnectingStates);
-
-            _messageWebSocket = new MessageWebSocket();
-            foreach (var header in options.RequestHeaders)
-            {
-                _messageWebSocket.SetRequestHeader((string)header, options.RequestHeaders[(string)header]);
-            }
-
-            string cookies = options.Cookies == null ? null : options.Cookies.GetCookieHeader(uri);
-            if (!string.IsNullOrEmpty(cookies))
-            {
-                _messageWebSocket.SetRequestHeader(HeaderNameCookie, cookies);
-            }
-
-            var websocketControl = _messageWebSocket.Control;
-            foreach (var subProtocol in options.RequestedSubProtocols)
-            {
-                websocketControl.SupportedProtocols.Add(subProtocol);
-            }
-
-            if (options.ClientCertificates.Count > 0)
-            {
-                if (!MessageWebSocketClientCertificateSupported)
-                {
-                    throw new PlatformNotSupportedException(SR.Format(CultureInfo.InvariantCulture,
-                        SR.net_WebSockets_UWPClientCertSupportRequiresWindows10GreaterThan1703));
-                }
-
-                X509Certificate2 dotNetClientCert = CertificateHelper.GetEligibleClientCertificate(options.ClientCertificates);
-                if (dotNetClientCert != null)
-                {
-                    RTCertificate winRtClientCert = await CertificateHelper.ConvertDotNetClientCertToWinRtClientCertAsync(dotNetClientCert).ConfigureAwait(false);
-                    if (winRtClientCert == null)
-                    {
-                        throw new PlatformNotSupportedException(SR.Format(
-                                    CultureInfo.InvariantCulture,
-                                    SR.net_WebSockets_UWPClientCertSupportRequiresCertInPersonalCertificateStore));
-                    }
-
-                    websocketControl.ClientCertificate = winRtClientCert;
-                }
-            }
-
-            // Try to opt into PartialMessage receive mode so that we can hand partial data back to the app as it arrives.
-            // If the MessageWebSocketControl.ReceiveMode API surface is not available, the MessageWebSocket.MessageReceived
-            // event will only get triggered when an entire WebSocket message has been received. This results in large memory
-            // footprint and prevents "streaming" scenarios (e.g., WCF) from working properly.
-            if (MessageWebSocketReceiveModeSupported)
-            {
-                // Always enable partial message receive mode if the WinRT API supports it.
-                _messageWebSocket.Control.ReceiveMode = MessageWebSocketReceiveMode.PartialMessage;
-            }
-
-            try
-            {
-                _receiveAsyncBufferTcs = new TaskCompletionSource<ArraySegment<byte>>();
-                _closeWebSocketReceiveResultTcs = new TaskCompletionSource<WebSocketReceiveResult>();
-                _messageWebSocket.MessageReceived += OnMessageReceived;
-                _messageWebSocket.Closed += OnCloseReceived;
-                await _messageWebSocket.ConnectAsync(uri).AsTask(cancellationToken).ConfigureAwait(false);
-                _subProtocol = _messageWebSocket.Information.Protocol;
-                _messageWriter = new DataWriter(_messageWebSocket.OutputStream);
-            }
-            catch (Exception)
-            {
-                UpdateState(WebSocketState.Closed);
-                throw;
-            }
-
-            UpdateState(WebSocketState.Open);
-        }
-
-        public override void Abort()
-        {
-            AbortInternal();
-        }
-
-        private void AbortInternal(Exception customException = null)
-        {
-            lock (_stateLock)
-            {
-                if ((_state != WebSocketState.None) && (_state != WebSocketState.Connecting))
-                {
-                    UpdateState(WebSocketState.Aborted);
-                }
-                else
-                {
-                    // ClientWebSocket Desktop behavior: a ws that was not connected will not switch state to Aborted.
-                    UpdateState(WebSocketState.Closed);
-                }
-            }
-
-            CancelAllOperations(customException);
-            Dispose();
-        }
-
-        private void CancelAllOperations(Exception customException)
-        {
-            if (_receiveAsyncBufferTcs != null)
-            {
-                // This exception will be received by OnMessageReceived and won't be exposed
-                // to user code.
-                var exception = new OperationCanceledException("Aborted");
-                _receiveAsyncBufferTcs.TrySetException(exception);
-            }
-
-            if (_webSocketReceiveResultTcs != null)
-            {
-                if (customException != null)
-                {
-                    _webSocketReceiveResultTcs.TrySetException(customException);
-                }
-                else
-                {
-                    var exception = new WebSocketException(
-                        WebSocketError.InvalidState,
-                        SR.Format(
-                            SR.net_WebSockets_InvalidState_ClosedOrAborted,
-                            "System.Net.WebSockets.InternalClientWebSocket",
-                            "Aborted"));
-
-                    _webSocketReceiveResultTcs.TrySetException(exception);
-                }
-            }
-
-            if (_closeWebSocketReceiveResultTcs != null)
-            {
-                if (customException != null)
-                {
-                    _closeWebSocketReceiveResultTcs.TrySetException(customException);
-                }
-                else
-                {
-                    var exception = new WebSocketException(
-                        WebSocketError.InvalidState,
-                        SR.Format(
-                            SR.net_WebSockets_InvalidState_ClosedOrAborted,
-                            "System.Net.WebSockets.InternalClientWebSocket",
-                            "Aborted"));
-
-                    _closeWebSocketReceiveResultTcs.TrySetException(exception);
-                }
-            }
-        }
-
-        private static readonly WebSocketState[] s_validCloseStates = { WebSocketState.Open, WebSocketState.CloseReceived, WebSocketState.CloseSent, WebSocketState.Closed };
-        public override async Task CloseAsync(WebSocketCloseStatus closeStatus, string statusDescription,
-            CancellationToken cancellationToken)
-        {
-            cancellationToken.ThrowIfCancellationRequested();
-            bool callClose = false;
-            lock (_stateLock)
-            {
-                callClose = (_state != WebSocketState.CloseSent) && (_state != WebSocketState.Closed);
-            }
-
-            InterlockedCheckAndUpdateCloseState(WebSocketState.CloseSent, s_validCloseStates);
-
-            using (CancellationTokenRegistration ctr = ThrowOrRegisterCancellation(cancellationToken))
-            {
-                if (callClose)
-                {
-                    _messageWebSocket.Close((ushort) closeStatus, statusDescription ?? string.Empty);
-                }
-
-                var result = await _closeWebSocketReceiveResultTcs.Task.ConfigureAwait(false);
-                _closeStatus = result.CloseStatus;
-                _closeStatusDescription = result.CloseStatusDescription;
-                InterlockedCheckAndUpdateCloseState(WebSocketState.CloseReceived, s_validCloseStates);
-            }
-        }
-
-        private static readonly WebSocketState[] s_validCloseOutputStates = { WebSocketState.Open, WebSocketState.CloseReceived, WebSocketState.CloseSent };
-        public override Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription,
-            CancellationToken cancellationToken)
-        {
-            CheckValidState(s_validCloseOutputStates);
-            _messageWebSocket.Close((ushort)closeStatus, statusDescription ?? string.Empty);
-            InterlockedCheckAndUpdateCloseState(WebSocketState.CloseSent, s_validCloseOutputStates);
-            return Task.CompletedTask;
-        }
-
-        private void OnCloseReceived(IWebSocket sender, WebSocketClosedEventArgs args)
-        {
-            var recvResult = new WebSocketReceiveResult(0, WebSocketMessageType.Close, true, (WebSocketCloseStatus)args.Code,
-                args.Reason);
-            _closeWebSocketReceiveResultTcs.TrySetResult(recvResult);
-        }
-
-        public override void Dispose()
-        {
-            if (!_disposed)
-            {
-                lock (_stateLock)
-                {
-                    if (!_disposed)
-                    {
-                        _disposed = true;
-                        if (_messageWebSocket != null)
-                        {
-                            _messageWebSocket.Dispose();
-                        }
-
-                        if (_messageWriter != null)
-                        {
-                            _messageWriter.Dispose();
-                        }
-                    }
-                }
-            }
-        }
-
-        private static readonly WebSocketState[] s_validReceiveStates = { WebSocketState.Open, WebSocketState.CloseSent };
-        public override async Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer,
-            CancellationToken cancellationToken)
-        {
-            InterlockedCheckValidStates(s_validReceiveStates);
-
-            using (CancellationTokenRegistration ctr = ThrowOrRegisterCancellation(cancellationToken))
-            {
-                _webSocketReceiveResultTcs = new TaskCompletionSource<WebSocketReceiveResult>();
-                _receiveAsyncBufferTcs.TrySetResult(buffer);
-
-                Task<WebSocketReceiveResult> completedTask = await Task.WhenAny(
-                    _webSocketReceiveResultTcs.Task,
-                    _closeWebSocketReceiveResultTcs.Task).ConfigureAwait(false);
-
-                WebSocketReceiveResult result = completedTask.GetAwaiter().GetResult();
-
-                if (result.MessageType == WebSocketMessageType.Close)
-                {
-                    _closeStatus = result.CloseStatus;
-                    _closeStatusDescription = result.CloseStatusDescription;
-                    InterlockedCheckAndUpdateCloseState(WebSocketState.CloseReceived, s_validCloseOutputStates);
-                }
-                else
-                {
-                    _webSocketReceiveResultTcs = new TaskCompletionSource<WebSocketReceiveResult>();
-                }
-
-                return result;
-            }
-        }
-
-        private void OnMessageReceived(MessageWebSocket sender, MessageWebSocketMessageReceivedEventArgs args)
-        {
-            // GetDataReader() throws an exception when either:
-            // (1) The underlying TCP connection is closed prematurely (e.g., FIN/RST received without sending/receiving a WebSocket Close frame).
-            // (2) The server sends invalid data (e.g., corrupt HTTP headers or a message exceeding the MaxMessageSize).
-            //
-            // In both cases, the appropriate thing to do is to close the socket, as we have reached an unexpected state in
-            // the WebSocket protocol.
-            try
-            {
-                using (DataReader reader = args.GetDataReader())
-                {
-                    uint dataAvailable;
-                    while ((dataAvailable = reader.UnconsumedBufferLength) > 0)
-                    {
-                        ArraySegment<byte> buffer;
-                        try
-                        {
-                            buffer = _receiveAsyncBufferTcs.Task.GetAwaiter().GetResult();
-                        }
-                        catch (OperationCanceledException) // Caused by Abort call on WebSocket
-                        {
-                            return;
-                        }
-
-                        _receiveAsyncBufferTcs = new TaskCompletionSource<ArraySegment<byte>>();
-                        WebSocketMessageType messageType;
-                        if (args.MessageType == SocketMessageType.Binary)
-                        {
-                            messageType = WebSocketMessageType.Binary;
-                        }
-                        else
-                        {
-                            messageType = WebSocketMessageType.Text;
-                        }
-
-                        bool endOfMessage = false;
-                        uint readCount = Math.Min(dataAvailable, (uint) buffer.Count);
-
-                        if (readCount > 0)
-                        {
-                            IBuffer dataBuffer = reader.ReadBuffer(readCount);
-
-                            // Safe to cast readCount to int as the maximum value that readCount can be is buffer.Count.
-                            dataBuffer.CopyTo(0, buffer.Array, buffer.Offset, (int) readCount);
-                        }
-
-                        if (dataAvailable == readCount)
-                        {
-                            endOfMessage = !IsPartialMessageEvent(args);
-                        }
-
-                        WebSocketReceiveResult recvResult = new WebSocketReceiveResult((int) readCount, messageType,
-                            endOfMessage);
-                        _webSocketReceiveResultTcs.TrySetResult(recvResult);
-                    }
-                }
-            }
-            catch (Exception exc)
-            {
-                // WinRT WebSockets always throw exceptions of type System.Exception. However, we can determine whether
-                // or not we're dealing with a known error by using WinRT's WebSocketError.GetStatus method.
-                WebErrorStatus status = RTWebSocketError.GetStatus(exc.HResult);
-                WebSocketError actualError = WebSocketError.Faulted;
-                switch (status)
-                {
-                    case WebErrorStatus.ConnectionAborted:
-                    case WebErrorStatus.ConnectionReset:
-                    case WebErrorStatus.Disconnected:
-                        actualError = WebSocketError.ConnectionClosedPrematurely;
-                        break;
-                }
-
-                // Propagate a custom exception to any pending ReceiveAsync/CloseAsync operations and close the socket.
-                WebSocketException customException = new WebSocketException(actualError, exc);
-                AbortInternal(customException);
-            }
-        }
-
-        private static readonly WebSocketState[] s_validSendStates = { WebSocketState.Open, WebSocketState.CloseReceived };
-        public override async Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage,
-            CancellationToken cancellationToken)
-        {
-            InterlockedCheckValidStates(s_validSendStates);
-
-            if (cancellationToken.IsCancellationRequested)
-            {
-                Abort();
-                cancellationToken.ThrowIfCancellationRequested();
-            }
-
-            var pendingWrite = Interlocked.CompareExchange(ref _pendingWriteOperation, 1, 0);
-            if (pendingWrite == 1)
-            {
-                var exception = new InvalidOperationException(SR.Format(SR.net_Websockets_AlreadyOneOutstandingOperation, "SendAsync"));
-                Abort();
-                throw exception;
-            }
-
-            try
-            {
-                _messageWriter.WriteBuffer(buffer.Array.AsBuffer(buffer.Offset, buffer.Count));
-                if (endOfMessage)
-                {
-                    _messageWebSocket.Control.MessageType = messageType == WebSocketMessageType.Binary
-                        ? SocketMessageType.Binary
-                        : SocketMessageType.Utf8;
-                    await _messageWriter.StoreAsync().AsTask(cancellationToken).ConfigureAwait(false);
-                }
-            }
-            catch (Exception)
-            {
-                cancellationToken.ThrowIfCancellationRequested();
-                throw;
-            }
-            finally
-            {
-                Interlocked.CompareExchange(ref _pendingWriteOperation, 0, 1);
-            }
-        }
-
-        private CancellationTokenRegistration ThrowOrRegisterCancellation(CancellationToken cancellationToken)
-        {
-            if (cancellationToken.IsCancellationRequested)
-            {
-                Abort();
-                cancellationToken.ThrowIfCancellationRequested();
-            }
-
-            CancellationTokenRegistration cancellationRegistration =
-                cancellationToken.Register(s =>
-                {
-                    var thisRef = (WinRTWebSocket)s;
-
-                    // Propagate a custom exception to any pending ReceiveAsync/CloseAsync operations and close the socket.
-                    var customException = new OperationCanceledException(nameof(WebSocketState.Aborted));
-                    thisRef.AbortInternal(customException);
-                }, this);
-
-            return cancellationRegistration;
-        }
-
-        #region State // Code related to state management
-        // TODO (#7896): Refactor state into encapsulated class
-        public void InterlockedCheckValidStates(WebSocketState[] validStates)
-        {
-            lock (_stateLock)
-            {
-                CheckValidState(validStates);
-            }
-        }
-
-        private void InterlockedCheckAndUpdateState(
-            WebSocketState newState,
-            params WebSocketState[] validStates)
-        {
-            lock (_stateLock)
-            {
-                CheckValidState(validStates);
-                UpdateState(newState);
-            }
-        }
-
-        private void InterlockedCheckAndUpdateCloseState(WebSocketState newState, params WebSocketState[] validStates)
-        {
-            lock (_stateLock)
-            {
-                CheckValidState(validStates);
-                if ((_state == WebSocketState.CloseReceived && newState == WebSocketState.CloseSent) ||
-                    (_state == WebSocketState.CloseSent && newState == WebSocketState.CloseReceived) ||
-                    ( _state == WebSocketState.Closed))
-                {
-                    _state = WebSocketState.Closed;
-                }
-                else
-                {
-                    UpdateState(newState);
-                }
-            }
-        }
-
-        // Must be called with Lock taken.
-        private void CheckValidState(WebSocketState[] validStates)
-        {
-            string validStatesText = string.Empty;
-
-            if (validStates != null && validStates.Length > 0)
-            {
-                foreach (WebSocketState currentState in validStates)
-                {
-                    if (_state == currentState)
-                    {
-                        // Ordering is important to maintain .NET Framework 4.5 WebSocket implementation exception behavior.
-                        if (_disposed)
-                        {
-                            throw new ObjectDisposedException(GetType().FullName);
-                        }
-
-                        return;
-                    }
-                }
-
-                validStatesText = string.Join(", ", validStates);
-            }
-
-            throw new WebSocketException(SR.Format(SR.net_WebSockets_InvalidState, _state, validStatesText));
-        }
-
-        private void UpdateState(WebSocketState value)
-        {
-            if ((_state != WebSocketState.Closed) && (_state != WebSocketState.Aborted))
-            {
-                _state = value;
-            }
-        }
-        #endregion
-
-        #region Helpers
-        private static bool InitMessageWebSocketClientCertificateSupported()
-        {
-            return ApiInformation.IsPropertyPresent(
-                "Windows.Networking.Sockets.MessageWebSocketControl",
-                "ClientCertificate");
-        }
-
-        private static bool InitMessageWebSocketReceiveModeSupported()
-        {
-            return ApiInformation.IsPropertyPresent(
-                "Windows.Networking.Sockets.MessageWebSocketControl",
-                "ReceiveMode");
-        }
-
-        private bool IsPartialMessageEvent(MessageWebSocketMessageReceivedEventArgs eventArgs)
-        {
-            if (MessageWebSocketReceiveModeSupported)
-            {
-                return !eventArgs.IsMessageComplete;
-            }
-
-            // When MessageWebSocketMessageReceivedEventArgs.IsMessageComplete is not available, WinRT's behavior
-            // is always to wait for the entire WebSocket message to arrive before raising a MessageReceived event.
-            return false;
-        }
-        #endregion Helpers
-
-    }
-}
index 47b346b..548e0f6 100644 (file)
@@ -16,10 +16,6 @@ namespace System.Net.WebSockets.Client.Tests
 {
     public partial class ClientWebSocketOptionsTests : ClientWebSocketTestBase
     {
-        // Windows 10 Version 1709 introduced the necessary APIs for the UAP version of
-        // ClientWebSocket.ConnectAsync to carry out mutual TLS authentication.
-        public static bool ClientCertificatesSupported => !PlatformDetection.IsUap;
-
         public ClientWebSocketOptionsTests(ITestOutputHelper output) : base(output) { }
 
         [ConditionalFact(nameof(WebSocketsSupported))]
index e9336df..b8ae1e6 100644 (file)
@@ -16,7 +16,7 @@ namespace System.Net.WebSockets.Client.Tests
 {
     public partial class ClientWebSocketOptionsTests : ClientWebSocketTestBase
     {
-        [ConditionalFact(nameof(WebSocketsSupported), nameof(ClientCertificatesSupported))]
+        [ConditionalFact(nameof(WebSocketsSupported))]
         public void RemoteCertificateValidationCallback_Roundtrips()
         {
             using (var cws = new ClientWebSocket())
@@ -33,7 +33,7 @@ namespace System.Net.WebSockets.Client.Tests
         }
 
         [OuterLoop("Connects to remote service")]
-        [ConditionalTheory(nameof(WebSocketsSupported), nameof(ClientCertificatesSupported))]
+        [ConditionalTheory(nameof(WebSocketsSupported))]
         [InlineData(false)]
         [InlineData(true)]
         public async Task RemoteCertificateValidationCallback_PassedRemoteCertificateInfo(bool secure)
@@ -71,7 +71,7 @@ namespace System.Net.WebSockets.Client.Tests
         }
 
         [OuterLoop("Connects to remote service")]
-        [ConditionalFact(nameof(WebSocketsSupported), nameof(ClientCertificatesSupported))]
+        [ConditionalFact(nameof(WebSocketsSupported))]
         public async Task ClientCertificates_ValidCertificate_ServerReceivesCertificateAndConnectAsyncSucceeds()
         {
             if (PlatformDetection.IsWindows7)
index 8c2114d..dd006cd 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9b30067..fa77173 100644 (file)
@@ -26,17 +26,12 @@ namespace System.Net.WebSockets.Client.Tests
                 WebSocketException ex = await Assert.ThrowsAsync<WebSocketException>(() =>
                     cws.ConnectAsync(server, cts.Token));
 
-                if (PlatformDetection.IsNetCore && !PlatformDetection.IsUap) // bug fix in netcoreapp: https://github.com/dotnet/corefx/pull/35960
+                if (PlatformDetection.IsNetCore && !PlatformDetection.IsInAppContainer) // bug fix in netcoreapp: https://github.com/dotnet/corefx/pull/35960
                 {
                     Assert.Equal(errorCode, ex.WebSocketErrorCode);
                 }
                 Assert.Equal(WebSocketState.Closed, cws.State);
-
-                // .NET Framework and UAP implmentations have different exception message from .NET Core.
-                if (!PlatformDetection.IsUap)
-                {
-                    Assert.Equal(exceptionMessage, ex.Message);
-                }
+                Assert.Equal(exceptionMessage, ex.Message);
             }
         }
 
@@ -247,7 +242,6 @@ namespace System.Net.WebSockets.Client.Tests
         }
 
         [ConditionalFact(nameof(WebSocketsSupported))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public async Task ConnectAsync_CancellationRequestedBeforeConnect_ThrowsOperationCanceledException()
         {
             using (var clientSocket = new ClientWebSocket())
@@ -260,7 +254,6 @@ namespace System.Net.WebSockets.Client.Tests
         }
 
         [ConditionalFact(nameof(WebSocketsSupported))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public async Task ConnectAsync_CancellationRequestedAfterConnect_ThrowsOperationCanceledException()
         {
             var releaseServer = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
index 0486d12..d3ac7c0 100644 (file)
@@ -28,8 +28,6 @@ namespace System.Net.WebSockets.Client.Tests
         protected abstract Task SendAsync(WebSocket ws, ArraySegment<byte> arraySegment, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken);
         protected abstract Task<WebSocketReceiveResult> ReceiveAsync(WebSocket ws, ArraySegment<byte> arraySegment, CancellationToken cancellationToken);
 
-        public static bool PartialMessagesSupported => PlatformDetection.ClientWebSocketPartialMessagesSupported;
-
         public SendReceiveTest(ITestOutputHelper output) : base(output) { }
 
         [OuterLoop("Uses external servers")]
@@ -70,7 +68,7 @@ namespace System.Net.WebSockets.Client.Tests
         }
 
         [OuterLoop("Uses external servers")]
-        [ConditionalTheory(nameof(WebSocketsSupported), nameof(PartialMessagesSupported)), MemberData(nameof(EchoServers))]
+        [ConditionalTheory(nameof(WebSocketsSupported)), MemberData(nameof(EchoServers))]
         public async Task SendReceive_PartialMessageBeforeCompleteMessageArrives_Success(Uri server)
         {
             var rand = new Random();
@@ -411,7 +409,7 @@ namespace System.Net.WebSockets.Client.Tests
 
                 Assert.Equal(WebSocketError.ConnectionClosedPrematurely, pendingReceiveException.WebSocketErrorCode);
 
-                if (PlatformDetection.IsUap)
+                if (PlatformDetection.IsInAppContainer)
                 {
                     const uint WININET_E_CONNECTION_ABORTED = 0x80072EFE;
 
@@ -464,12 +462,7 @@ namespace System.Net.WebSockets.Client.Tests
                 // Now do a receive to get the payload.
                 var receiveBuffer = new byte[1];
                 t = ReceiveAsync(cws, new ArraySegment<byte>(receiveBuffer), ctsDefault.Token);
-
-                // Skip synchronous completion check on UAP since it uses WinRT APIs underneath.
-                if (!PlatformDetection.IsUap)
-                {
-                    Assert.Equal(TaskStatus.RanToCompletion, t.Status);
-                }
+                Assert.Equal(TaskStatus.RanToCompletion, t.Status);
 
                 r = await t;
                 Assert.Equal(WebSocketMessageType.Binary, r.MessageType);
index 992abd5..90e9f0f 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <StringResourcesPath>../src/Resources/Strings.resx</StringResourcesPath>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
   </PropertyGroup>
   <!-- Do not reference these assemblies from the TargetingPack since we are building part of the source code for tests. -->
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 20a821b..c5be47f 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Net\WebSockets\WebSocketCreateTest.cs">
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index de1ef59..209bb96 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Net.WebSockets.cs" />
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 62b4ece..d51366f 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Net.WebSockets</AssemblyName>
     <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Net\WebSockets\ManagedWebSocket.netcoreapp.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f38dc22..5d576b4 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="WebSocketTests.cs" />
diff --git a/src/libraries/System.Numerics.Vectors.WindowsRuntime/Directory.Build.props b/src/libraries/System.Numerics.Vectors.WindowsRuntime/Directory.Build.props
deleted file mode 100644 (file)
index 1a95347..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-  <PropertyGroup>
-    <AssemblyVersion>4.0.4.0</AssemblyVersion>
-    <StrongNameKeyId>Microsoft</StrongNameKeyId>
-    <IsUAP>true</IsUAP>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Numerics.Vectors.WindowsRuntime/System.Numerics.Vectors.WindowsRuntime.sln b/src/libraries/System.Numerics.Vectors.WindowsRuntime/System.Numerics.Vectors.WindowsRuntime.sln
deleted file mode 100644 (file)
index 9b0a0c0..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27213.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Numerics.Vectors.WindowsRuntime", "src\System.Numerics.Vectors.WindowsRuntime.csproj", "{25FD0CB0-D3A8-4258-9408-30E69EEB0FF3}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E107E9C1-E893-4E87-987E-04EF0DCEAEFD}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Any CPU = Debug|Any CPU
-               Release|Any CPU = Release|Any CPU
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {25FD0CB0-D3A8-4258-9408-30E69EEB0FF3}.Debug|Any CPU.ActiveCfg = uap-Windows_NT-Debug|Any CPU
-               {25FD0CB0-D3A8-4258-9408-30E69EEB0FF3}.Debug|Any CPU.Build.0 = uap-Windows_NT-Debug|Any CPU
-               {25FD0CB0-D3A8-4258-9408-30E69EEB0FF3}.Release|Any CPU.ActiveCfg = uap-Windows_NT-Release|Any CPU
-               {25FD0CB0-D3A8-4258-9408-30E69EEB0FF3}.Release|Any CPU.Build.0 = uap-Windows_NT-Release|Any CPU
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-       GlobalSection(NestedProjects) = preSolution
-               {25FD0CB0-D3A8-4258-9408-30E69EEB0FF3} = {E107E9C1-E893-4E87-987E-04EF0DCEAEFD}
-       EndGlobalSection
-       GlobalSection(ExtensibilityGlobals) = postSolution
-               SolutionGuid = {69B12AEC-ADA2-42EC-82FB-F6B73F36B8B1}
-       EndGlobalSection
-EndGlobal
diff --git a/src/libraries/System.Numerics.Vectors.WindowsRuntime/src/Configurations.props b/src/libraries/System.Numerics.Vectors.WindowsRuntime/src/Configurations.props
deleted file mode 100644 (file)
index dde33cb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <BuildConfigurations>
-      uap-Windows_NT;
-    </BuildConfigurations>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Numerics.Vectors.WindowsRuntime/src/System.Numerics.Vectors.WindowsRuntime.csproj b/src/libraries/System.Numerics.Vectors.WindowsRuntime/src/System.Numerics.Vectors.WindowsRuntime.csproj
deleted file mode 100644 (file)
index 6591573..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <RootNamespace>System.Numerics</RootNamespace>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="System\Numerics\VectorExtensions.cs" />
-    <Reference Include="System.Runtime" />
-    <Reference Include="System.Runtime.WindowsRuntime" />
-    <Reference Include="System.Numerics.Vectors" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Numerics.Vectors.WindowsRuntime/src/System/Numerics/VectorExtensions.cs b/src/libraries/System.Numerics.Vectors.WindowsRuntime/src/System/Numerics/VectorExtensions.cs
deleted file mode 100644 (file)
index cc72ff7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Windows.Foundation;
-
-namespace System.Numerics
-{
-    /// <summary>
-    /// Contains conversions from Vector2 to Windows.Foundation.Point and Size, which are all structurally identical.
-    /// </summary>
-    public static class VectorExtensions
-    {
-        /// <summary>
-        /// Returns a Point whose coordinates are the same as the vector's.
-        /// </summary>
-        /// <param name="vector">The Vector2 to convert.</param>
-        /// <returns>The Point.</returns>
-        public static Point ToPoint(this Vector2 vector)
-        {
-            return new Point(vector.X, vector.Y);
-        }
-
-        /// <summary>
-        /// Returns a Size whose width and height are equal to the vector's X and Y coordinates.
-        /// </summary>
-        /// <param name="vector">The Vector2 to convert.</param>
-        /// <returns>The Size.</returns>
-        public static Size ToSize(this Vector2 vector)
-        {
-            return new Size(vector.X, vector.Y);
-        }
-
-        /// <summary>
-        /// Returns a Vector2 whose coordinates are the same as the Point's.
-        /// </summary>
-        /// <param name="point">The Point to convert.</param>
-        /// <returns>The Vector2.</returns>
-        public static Vector2 ToVector2(this Point point)
-        {
-            return new Vector2((float)point.X, (float)point.Y);
-        }
-
-        /// <summary>
-        /// Returns a Vector2 whose coordinates are the height and width of the Size.
-        /// </summary>
-        /// <param name="size">The Size to convert.</param>
-        /// <returns>The Vector2.</returns>
-        public static Vector2 ToVector2(this Size size)
-        {
-            return new Vector2((float)size.Width, (float)size.Height);
-        }
-    }
-}
index 18d083e..0616336 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.5.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2b2323d..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index fd4c75a..ee125f4 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 2578657..7e12b46 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index b94fa2f..b134645 100644 (file)
@@ -5,7 +5,7 @@
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <HasIntrinsics Condition="'$(TargetsNetCoreApp)'=='true'">true</HasIntrinsics>
     <DefineConstants Condition="'$(HasIntrinsics)'=='true'">$(DefineConstants);HAS_INTRINSICS</DefineConstants>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <!-- Shared -->
index 2b2323d..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index bf161d6..b5f6c07 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9feec4e..cb2c4b1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.ObjectModel.cs" />
index 86aa0ba..55d2de1 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index a3d6860..c879041 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.ObjectModel</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Collections\Generic\DebugView.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9e08615..410eef3 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Collections\IEnumerableTest.cs">
index 76b0f99..55e8fdd 100644 (file)
@@ -5,7 +5,5 @@
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
     <IsNETCoreAppRef>false</IsNETCoreAppRef>
-    <IsUAP>true</IsUAP>
-    <IsUAPRef>false</IsUAPRef>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 034ce4c..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 29c337f..3ed44e9 100644 (file)
@@ -8,7 +8,7 @@
     <DebugSymbols>true</DebugSymbols>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <DefineConstants>$(DefineConstants);FEATURE_SERIALIZATION</DefineConstants>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <!-- Too much private reflection. Do not bother with trimming -->
     <ILLinkTrimAssembly>false</ILLinkTrimAssembly>
   </PropertyGroup>
diff --git a/src/libraries/System.Private.Reflection.Metadata.Ecma335/Directory.Build.props b/src/libraries/System.Private.Reflection.Metadata.Ecma335/Directory.Build.props
deleted file mode 100644 (file)
index 04cb73b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-  <PropertyGroup>
-    <AssemblyVersion>4.1.4.0</AssemblyVersion>
-    <StrongNameKeyId>Open</StrongNameKeyId>
-    <IsUAP>true</IsUAP>
-    <IsUAPRef>false</IsUAPRef>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Private.Reflection.Metadata.Ecma335/System.Private.Reflection.Metadata.Ecma335.sln b/src/libraries/System.Private.Reflection.Metadata.Ecma335/System.Private.Reflection.Metadata.Ecma335.sln
deleted file mode 100644 (file)
index 8c83617..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27213.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Private.Reflection.Metadata.Ecma335", "src\System.Private.Reflection.Metadata.Ecma335.csproj", "{3A8B2CAD-6FFD-4A37-A53A-0F2D5EF99164}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E107E9C1-E893-4E87-987E-04EF0DCEAEFD}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Any CPU = Debug|Any CPU
-               Release|Any CPU = Release|Any CPU
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {3A8B2CAD-6FFD-4A37-A53A-0F2D5EF99164}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {3A8B2CAD-6FFD-4A37-A53A-0F2D5EF99164}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {3A8B2CAD-6FFD-4A37-A53A-0F2D5EF99164}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {3A8B2CAD-6FFD-4A37-A53A-0F2D5EF99164}.Release|Any CPU.Build.0 = Release|Any CPU
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-       GlobalSection(NestedProjects) = preSolution
-               {3A8B2CAD-6FFD-4A37-A53A-0F2D5EF99164} = {E107E9C1-E893-4E87-987E-04EF0DCEAEFD}
-       EndGlobalSection
-       GlobalSection(ExtensibilityGlobals) = postSolution
-               SolutionGuid = {C4B0E076-BCEB-409B-9B5F-5585B781CD37}
-       EndGlobalSection
-EndGlobal
diff --git a/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Configurations.props b/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Configurations.props
deleted file mode 100644 (file)
index 90e00d8..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <BuildConfigurations>
-    </BuildConfigurations>
-  </PropertyGroup>
-</Project>
diff --git a/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Resources/Strings.resx b/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Resources/Strings.resx
deleted file mode 100644 (file)
index 5c5be4a..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
-<root>
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="ImageTooSmall" xml:space="preserve">
-    <value>Image is too small.</value>
-  </data>
-  <data name="InvalidCorHeaderSize" xml:space="preserve">
-    <value>Invalid COR header size.</value>
-  </data>
-  <data name="InvalidHandle" xml:space="preserve">
-    <value>Invalid handle.</value>
-  </data>
-  <data name="UnexpectedHandleKind" xml:space="preserve">
-    <value>Unexpected handle kind: {0}.</value>
-  </data>
-  <data name="UnexpectedOpCode" xml:space="preserve">
-    <value>Unexpected op-code: {0}.</value>
-  </data>
-  <data name="InvalidLocalSignatureToken" xml:space="preserve">
-    <value>Invalid local signature token: 0x{0:X8}</value>
-  </data>
-  <data name="InvalidMetadataSectionSpan" xml:space="preserve">
-    <value>Invalid metadata section span.</value>
-  </data>
-  <data name="InvalidMethodHeader1" xml:space="preserve">
-    <value>Invalid method header: 0x{0:X2}</value>
-  </data>
-  <data name="InvalidMethodHeader2" xml:space="preserve">
-    <value>Invalid method header: 0x{0:X2} 0x{1:X2}</value>
-  </data>
-  <data name="InvalidPESignature" xml:space="preserve">
-    <value>Invalid PE signature.</value>
-  </data>
-  <data name="InvalidSehHeader" xml:space="preserve">
-    <value>Invalid SEH header: 0x{0:X2}</value>
-  </data>
-  <data name="InvalidToken" xml:space="preserve">
-    <value>Invalid token.</value>
-  </data>
-  <data name="MetadataImageDoesNotRepresentAnAssembly" xml:space="preserve">
-    <value>Metadata image doesn't represent an assembly.</value>
-  </data>
-  <data name="StandaloneDebugMetadataImageDoesNotContainModuleTable" xml:space="preserve">
-    <value>Standalone debug metadata image doesn't contain Module table.</value>
-  </data>
-  <data name="PEImageNotAvailable" xml:space="preserve">
-    <value>PE image not available.</value>
-  </data>
-  <data name="MissingDataDirectory" xml:space="preserve">
-    <value>Missing data directory.</value>
-  </data>
-  <data name="NotMetadataHeapHandle" xml:space="preserve">
-    <value>Specified handle is not a valid metadata heap handle.</value>
-  </data>
-  <data name="NotMetadataTableOrUserStringHandle" xml:space="preserve">
-    <value>Specified handle is not a valid metadata table or UserString heap handle.</value>
-  </data>
-  <data name="SectionTooSmall" xml:space="preserve">
-    <value>Section too small.</value>
-  </data>
-  <data name="StreamMustSupportReadAndSeek" xml:space="preserve">
-    <value>Stream must support read and seek operations.</value>
-  </data>
-  <data name="UnknownFileFormat" xml:space="preserve">
-    <value>Unknown file format.</value>
-  </data>
-  <data name="UnknownPEMagicValue" xml:space="preserve">
-    <value>Unknown PE Magic value.</value>
-  </data>
-  <data name="MetadataTableNotSorted" xml:space="preserve">
-    <value>Metadata table {0} not sorted.</value>
-  </data>
-  <data name="AssemblyTableInvalidNumberOfRows" xml:space="preserve">
-    <value>Invalid number of rows of Assembly table: {0}.</value>
-  </data>
-  <data name="ModuleTableInvalidNumberOfRows" xml:space="preserve">
-    <value>Invalid number of rows of Module table: {0}.</value>
-  </data>
-  <data name="UnknownTables" xml:space="preserve">
-    <value>Unknown tables: 0x{0:x16}.</value>
-  </data>
-  <data name="IllegalTablesInCompressedMetadataStream" xml:space="preserve">
-    <value>Illegal tables in compressed metadata stream.</value>
-  </data>
-  <data name="TableRowCountSpaceTooSmall" xml:space="preserve">
-    <value>Table row count space to small.</value>
-  </data>
-  <data name="OutOfBoundsRead" xml:space="preserve">
-    <value>Read out of bounds.</value>
-  </data>
-  <data name="OutOfBoundsWrite" xml:space="preserve">
-    <value>Write out of bounds.</value>
-  </data>
-  <data name="MetadataHeaderTooSmall" xml:space="preserve">
-    <value>Metadata header too small.</value>
-  </data>
-  <data name="MetadataSignature" xml:space="preserve">
-    <value>Invalid COR20 header signature.</value>
-  </data>
-  <data name="NotEnoughSpaceForVersionString" xml:space="preserve">
-    <value>Not enough space for version string.</value>
-  </data>
-  <data name="StreamHeaderTooSmall" xml:space="preserve">
-    <value>Stream header too small.</value>
-  </data>
-  <data name="NotEnoughSpaceForStreamHeaderName" xml:space="preserve">
-    <value>Not enough space for stream header name.</value>
-  </data>
-  <data name="NotEnoughSpaceForStringStream" xml:space="preserve">
-    <value>Not enough space for String stream.</value>
-  </data>
-  <data name="NotEnoughSpaceForBlobStream" xml:space="preserve">
-    <value>Not enough space for Blob stream.</value>
-  </data>
-  <data name="NotEnoughSpaceForGUIDStream" xml:space="preserve">
-    <value>Not enough space for GUID stream.</value>
-  </data>
-  <data name="NotEnoughSpaceForMetadataStream" xml:space="preserve">
-    <value>Not enough space for Metadata stream.</value>
-  </data>
-  <data name="InvalidMetadataStreamFormat" xml:space="preserve">
-    <value>Invalid Metadata stream format.</value>
-  </data>
-  <data name="MetadataTablesTooSmall" xml:space="preserve">
-    <value>Metadata tables too small.</value>
-  </data>
-  <data name="MetadataTableHeaderTooSmall" xml:space="preserve">
-    <value>Metadata table header too small.</value>
-  </data>
-  <data name="WinMDMissingMscorlibRef" xml:space="preserve">
-    <value>Missing mscorlib reference in AssemblyRef table.</value>
-  </data>
-  <data name="UnableToReadMetadataFile" xml:space="preserve">
-    <value>Unable to read metadata file.</value>
-  </data>
-  <data name="UnexpectedStreamEnd" xml:space="preserve">
-    <value>Unexpected stream end.</value>
-  </data>
-  <data name="InvalidMethodRva" xml:space="preserve">
-    <value>Invalid relative virtual address (RVA): 0x{0:X8}</value>
-  </data>
-  <data name="CantGetOffsetForVirtualHeapHandle" xml:space="preserve">
-    <value>Can't get a heap offset for a virtual heap handle</value>
-  </data>
-  <data name="InvalidSectionName" xml:space="preserve">
-    <value>Invalid section name</value>
-  </data>
-  <data name="InvalidNumberOfSections" xml:space="preserve">
-    <value>Invalid number of sections in declared in PE header.</value>
-  </data>
-  <data name="InvalidSignature" xml:space="preserve">
-    <value>Invalid signature.</value>
-  </data>
-  <data name="PEImageDoesNotHaveMetadata" xml:space="preserve">
-    <value>PE image does not have metadata.</value>
-  </data>
-  <data name="InvalidCodedIndex" xml:space="preserve">
-    <value>Invalid coded index.</value>
-  </data>
-  <data name="InvalidCompressedInteger" xml:space="preserve">
-    <value>Invalid compressed integer.</value>
-  </data>
-  <data name="InvalidDocumentName" xml:space="preserve">
-    <value>Invalid document name.</value>
-  </data>
-  <data name="RowIdOrHeapOffsetTooLarge" xml:space="preserve">
-    <value>Row ID or heap offset is too large.</value>
-  </data>
-  <data name="EnCMapNotSorted" xml:space="preserve">
-    <value>EnCMap table not sorted or has missing records.</value>
-  </data>
-  <data name="InvalidSerializedString" xml:space="preserve">
-    <value>Invalid serialized string.</value>
-  </data>
-  <data name="StreamTooLarge" xml:space="preserve">
-    <value>Stream length minus starting position is too large to hold a PEImage.</value>
-  </data>
-  <data name="NegativeByteCountOrOffset" xml:space="preserve">
-    <value>Negative byte count or offset.</value>
-  </data>
-  <data name="ImageTooSmallOrContainsInvalidOffsetOrCount" xml:space="preserve">
-    <value>Image is either too small or contains an invalid byte offset or count.</value>
-  </data>
-  <data name="LitteEndianArchitectureRequired" xml:space="preserve">
-    <value>Little-endian architecture required.</value>
-  </data>
-  <data name="MetadataStringDecoderEncodingMustBeUtf8" xml:space="preserve">
-    <value>The MetadataStringDecoder instance used to instantiate the Metadata reader must have a UTF8 encoding.</value>
-  </data>
-  <data name="InvalidConstantValue" xml:space="preserve">
-    <value>Invalid constant value.</value>
-  </data>
-  <data name="InvalidConstantValueOfType" xml:space="preserve">
-    <value>Value of type '{0}' is not a constant.</value>
-  </data>
-  <data name="InvalidImportDefinitionKind" xml:space="preserve">
-    <value>Invalid import definition kind: {0}.</value>
-  </data>
-  <data name="ValueTooLarge" xml:space="preserve">
-    <value>Value is too large.</value>
-  </data>
-  <data name="BlobTooLarge" xml:space="preserve">
-    <value>Blob is to large.</value>
-  </data>
-  <data name="InvalidTypeSize" xml:space="preserve">
-    <value>Invalid type size.</value>
-  </data>
-  <data name="HandleBelongsToFutureGeneration" xml:space="preserve">
-    <value>Handle belongs to a future generation</value>
-  </data>
-  <data name="InvalidRowCount" xml:space="preserve">
-    <value>Invalid row count: {0}</value>
-  </data>
-  <data name="InvalidEntryPointToken" xml:space="preserve">
-    <value>Invalid entry point token: 0x{0:8X}</value>
-  </data>
-  <data name="TooManySubnamespaces" xml:space="preserve">
-    <value>There are too many subnamespaces.</value>
-  </data>
-  <data name="TooManyExceptionRegions" xml:space="preserve">
-    <value>There are too many exception regions.</value>
-  </data>
-  <data name="SequencePointValueOutOfRange" xml:space="preserve">
-    <value>Sequence point value is out of range.</value>
-  </data>
-  <data name="InvalidDirectoryRVA" xml:space="preserve">
-    <value>Invalid directory relative virtual address.</value>
-  </data>
-  <data name="InvalidDirectorySize" xml:space="preserve">
-    <value>Invalid directory size.</value>
-  </data>
-  <data name="InvalidDebugDirectoryEntryCharacteristics" xml:space="preserve">
-    <value>The value of field Characteristics in debug directory entry must be zero.</value>
-  </data>
-  <data name="UnexpectedCodeViewDataSignature" xml:space="preserve">
-    <value>Unexpected CodeView data signature value.</value>
-  </data>
-  <data name="UnexpectedEmbeddedPortablePdbDataSignature" xml:space="preserve">
-    <value>Unexpected Embedded Portable PDB data signature value.</value>
-  </data>  
-  <data name="UnexpectedPdbChecksumDataSignature" xml:space="preserve">
-    <value>Unexpected PDB Checksum data signature value.</value>
-  </data>
-  <data name="InvalidPdbChecksumDataFormat" xml:space="preserve">
-    <value>Invalid PDB Checksum data format.</value>
-  </data>
-  <data name="UnexpectedSignatureHeader" xml:space="preserve">
-    <value>Expected signature header for '{0}', but found '{1}' (0x{2:x2}).</value>
-  </data>
-  <data name="UnexpectedSignatureHeader2" xml:space="preserve">
-    <value>Expected signature header for '{0}' or '{1}', but found '{2}' (0x{3:x2}).</value>
-  </data>
-  <data name="NotTypeDefOrRefHandle" xml:space="preserve">
-    <value>Specified handle is not a TypeDefinitionHandle or TypeRefererenceHandle.</value>
-  </data>
-  <data name="UnexpectedSignatureTypeCode" xml:space="preserve">
-    <value>Unexpected SignatureTypeCode: (0x{0:x}).</value>
-  </data>
-  <data name="SignatureTypeSequenceMustHaveAtLeastOneElement" xml:space="preserve">
-    <value>Signature type sequence must have at least one element.</value>
-  </data>
-  <data name="NotTypeDefOrRefOrSpecHandle" xml:space="preserve">
-    <value>Specified handle is not a TypeDefinitionHandle, TypeRefererenceHandle, or TypeSpecificationHandle.</value>
-  </data>
-  <data name="UnexpectedDebugDirectoryType" xml:space="preserve">
-    <value>The Debug directory was not of type {0}.</value>
-  </data>
-  <data name="HeapSizeLimitExceeded" xml:space="preserve">
-    <value>The limit on the size of {0} heap has been exceeded.</value>
-  </data>
-  <data name="BuilderMustAligned" xml:space="preserve">
-    <value>Builder must be aligned to 4 byte boundary.</value>
-  </data>
-  <data name="BuilderAlreadyLinked" xml:space="preserve">
-    <value>The operation is not valid on this builder as it has been linked with another one.</value>
-  </data>
-  <data name="ReturnedBuilderSizeTooSmall" xml:space="preserve">
-    <value>The size of the builder returned by {0}.{1} is smaller than requested.</value>
-  </data>
-  <data name="SignatureNotVarArg" xml:space="preserve">
-    <value>Can't add vararg parameters to non-vararg signature.</value>
-  </data>
-  <data name="LabelDoesntBelongToBuilder" xml:space="preserve">
-    <value>Specified label doesn't belong to the current builder.</value>
-  </data>
-  <data name="ControlFlowBuilderNotAvailable" xml:space="preserve">
-    <value>Can't emit a branch or exception region, the current encoder not created with a control flow builder.</value>
-  </data>
-  <data name="BaseReaderMustBeFullMetadataReader" xml:space="preserve">
-    <value>Base reader must be a full metadata reader.</value>
-  </data>
-  <data name="ModuleAlreadyAdded" xml:space="preserve">
-    <value>Module already added.</value>
-  </data>
-  <data name="AssemblyAlreadyAdded" xml:space="preserve">
-    <value>Assembly already added.</value>
-  </data>
-  <data name="ExpectedListOfSize" xml:space="preserve">
-    <value>Expected list of size {0}.</value>
-  </data>
-  <data name="ExpectedArrayOfSize" xml:space="preserve">
-    <value>Expected array of size {0}.</value>
-  </data>
-  <data name="ExpectedNonEmptyList" xml:space="preserve">
-    <value>Expected non-empty list.</value>
-  </data>  
-  <data name="ExpectedNonEmptyArray" xml:space="preserve">
-    <value>Expected non-empty array.</value>
-  </data>
-  <data name="ExpectedNonEmptyString" xml:space="preserve">
-    <value>Expected non-empty string.</value>
-  </data>
-  <data name="ReadersMustBeDeltaReaders" xml:space="preserve">
-    <value>Specified readers must be minimal delta metadata readers.</value>
-  </data>
-  <data name="SignatureProviderReturnedInvalidSignature" xml:space="preserve">
-    <value>Signature provider returned invalid signature.</value>
-  </data>
-  <data name="UnknownSectionName" xml:space="preserve">
-    <value>Unknown section name: '{0}'.</value>
-  </data>
-  <data name="HashTooShort" xml:space="preserve">
-    <value>Hash must be at least {0}B long.</value>
-  </data>
-  <data name="UnexpectedArrayLength" xml:space="preserve">
-    <value>Expected array of length {0}.</value>
-  </data>
-  <data name="ValueMustBeMultiple" xml:space="preserve">
-    <value>Value must be multiple of {0}.</value>
-  </data>
-  <data name="MustNotReturnNull" xml:space="preserve">
-    <value>{0} must not return null.</value>
-  </data>
-  <data name="MetadataVersionTooLong" xml:space="preserve">
-    <value>Metadata version too long.</value>
-  </data>
-  <data name="RowCountMustBeZero" xml:space="preserve">
-    <value>Row count must be zero for table #{0}.</value>
-  </data>
-  <data name="RowCountOutOfRange" xml:space="preserve">
-    <value>Row count specified for table index {0} is out of allowed range.</value>
-  </data>
-  <data name="SizeMismatch" xml:space="preserve">
-    <value>Declared size doesn't correspond to the actual size.</value>
-  </data>
-  <data name="DataTooBig" xml:space="preserve">
-    <value>Data too big to fit in memory.</value>
-  </data>
-  <data name="UnsupportedFormatVersion" xml:space="preserve">
-    <value>Unsupported format version: {0}</value>
-  </data>
-  <data name="DistanceBetweenInstructionAndLabelTooBig" xml:space="preserve">
-    <value>The distance between the instruction {0} (offset {1}) and the target label doesn't fit the operand size: {2}</value>
-  </data>
-  <data name="LabelNotMarked" xml:space="preserve">
-    <value>Label {0} has not been marked.</value>
-  </data>
-  <data name="MethodHasNoExceptionRegions" xml:space="preserve">
-    <value>Method body was created with no exception regions.</value>
-  </data>
-  <data name="InvalidExceptionRegionBounds" xml:space="preserve">
-    <value>Invalid exception region bounds: start offset ({0}) is greater than end offset ({1}).</value>
-  </data>
-  <data name="ArrayInitializedStateNotEqual" xml:space="preserve">
-    <value>Object is not an array with the same initialization state as the array to compare it to.</value>
-  </data>
-  <data name="ArrayLengthsNotEqual" xml:space="preserve">
-    <value>Object is not an array with the same number of elements as the array to compare it to.</value>
-  </data>
-  <data name="CannotFindOldValue" xml:space="preserve">
-    <value>Cannot find the old value</value>
-  </data>
-  <data name="CapacityMustBeGreaterThanOrEqualToCount" xml:space="preserve">
-    <value>Capacity was less than the current Count of elements.</value>
-  </data>
-  <data name="CapacityMustEqualCountOnMove" xml:space="preserve">
-    <value>MoveToImmutable can only be performed when Count equals Capacity.</value>
-  </data>
-  <data name="InvalidOperationOnDefaultArray" xml:space="preserve">
-    <value>This operation cannot be performed on a default instance of ImmutableArray&lt;T&gt;.  Consider initializing the array, or checking the ImmutableArray&lt;T&gt;.IsDefault property.</value>
-  </data>
-</root>
-
diff --git a/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Shims/Marshal.cs b/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Shims/Marshal.cs
deleted file mode 100644 (file)
index d403f7b..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-
-namespace System.Runtime.InteropServices
-{
-    internal static class Marshal
-    {
-        public static void Copy(IntPtr source, byte[] destination, int startIndex, int length)
-        {
-            PInvokeMarshal.CopyToManaged(source, destination, startIndex, length);
-        }
-
-        public static void Copy(byte[] array, int startIndex, IntPtr destination, int length)
-        {
-            PInvokeMarshal.CopyToNative(array, startIndex, destination, length);
-        }
-
-        public static IntPtr AllocHGlobal(int cb)
-        {
-            return PInvokeMarshal.AllocHGlobal(cb);
-        }
-
-        public static void FreeHGlobal(IntPtr hglobal)
-        {
-            PInvokeMarshal.FreeHGlobal(hglobal);
-        }
-    }
-}
diff --git a/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Shims/MiniLinq.cs b/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Shims/MiniLinq.cs
deleted file mode 100644 (file)
index 983757d..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-
-namespace System.Linq
-{
-    internal static class MiniLinq
-    {
-        /// <summary>Converts an enumerable to an array.</summary>
-        /// <param name="source">The enumerable to convert.</param>
-        /// <returns>The resulting array.</returns>
-        internal static List<T> ToList<T>(this IEnumerable<T> source)
-        {
-            Debug.Assert(source != null);
-            return new List<T>(source);
-        }
-
-        /// <summary>Converts an enumerable to an array.</summary>
-        /// <param name="source">The enumerable to convert.</param>
-        /// <returns>The resulting array.</returns>
-        internal static T[] ToArray<T>(this IEnumerable<T> source)
-        {
-            Debug.Assert(source != null);
-
-            var collection = source as ICollection<T>;
-            if (collection != null)
-            {
-                int count = collection.Count;
-                if (count == 0)
-                {
-                    return Array.Empty<T>();
-                }
-
-                var result = new T[count];
-                collection.CopyTo(result, arrayIndex: 0);
-                return result;
-            }
-
-            using (var en = source.GetEnumerator())
-            {
-                if (en.MoveNext())
-                {
-                    const int DefaultCapacity = 4;
-                    T[] arr = new T[DefaultCapacity];
-                    arr[0] = en.Current;
-                    int count = 1;
-
-                    while (en.MoveNext())
-                    {
-                        if (count == arr.Length)
-                        {
-                            // MaxArrayLength is defined in Array.MaxArrayLength and in gchelpers in CoreCLR.
-                            // It represents the maximum number of elements that can be in an array where
-                            // the size of the element is greater than one byte; a separate, slightly larger constant,
-                            // is used when the size of the element is one.
-                            const int MaxArrayLength = 0x7FEFFFFF;
-
-                            // This is the same growth logic as in List<T>:
-                            // If the array is currently empty, we make it a default size.  Otherwise, we attempt to
-                            // double the size of the array.  Doubling will overflow once the size of the array reaches
-                            // 2^30, since doubling to 2^31 is 1 larger than Int32.MaxValue.  In that case, we instead
-                            // constrain the length to be MaxArrayLength (this overflow check works because of the
-                            // cast to uint).  Because a slightly larger constant is used when T is one byte in size, we
-                            // could then end up in a situation where arr.Length is MaxArrayLength or slightly larger, such
-                            // that we constrain newLength to be MaxArrayLength but the needed number of elements is actually
-                            // larger than that.  For that case, we then ensure that the newLength is large enough to hold
-                            // the desired capacity.  This does mean that in the very rare case where we've grown to such a
-                            // large size, each new element added after MaxArrayLength will end up doing a resize.
-                            int newLength = count << 1;
-                            if ((uint)newLength > MaxArrayLength)
-                            {
-                                newLength = MaxArrayLength <= count ? count + 1 : MaxArrayLength;
-                            }
-
-                            Array.Resize(ref arr, newLength);
-                        }
-
-                        arr[count++] = en.Current;
-                    }
-
-                    if (count != arr.Length)
-                        Array.Resize(ref arr, count);
-
-                    return arr;
-                }
-                else
-                {
-                    return Array.Empty<T>();
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Shims/RuntimeReflectionExtensions.cs b/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/Shims/RuntimeReflectionExtensions.cs
deleted file mode 100644 (file)
index 096093e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Collections.Generic;
-
-namespace System.Reflection
-{
-    internal static partial class RuntimeReflectionExtensions
-    {
-        public static MethodInfo GetRuntimeMethod(this Type type, string name, Type[] parameters)
-        {
-            if (type == null)
-            {
-                throw new ArgumentNullException(nameof(type));
-            }
-            return type.GetMethod(name, parameters);
-        }
-    }
-}
diff --git a/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/System.Private.Reflection.Metadata.Ecma335.csproj b/src/libraries/System.Private.Reflection.Metadata.Ecma335/src/System.Private.Reflection.Metadata.Ecma335.csproj
deleted file mode 100644 (file)
index e8ddf36..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <AssemblyName>System.Private.Reflection.Metadata.Ecma335</AssemblyName>
-    <RootNamespace>System.Reflection.Metadata</RootNamespace>
-    <FileAlignment>512</FileAlignment>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <DefaultLanguage>en-US</DefaultLanguage>
-    <CLSCompliant>false</CLSCompliant>
-    <NoWarn>$(NoWarn);3021</NoWarn>
-    <DefineConstants>$(DefineConstants);CORERT</DefineConstants>
-    <SystemReflectionMetadataPath>..\..\System.Reflection.Metadata\src\</SystemReflectionMetadataPath>
-  </PropertyGroup>
-  <ItemGroup>
-    <ReferenceFromRuntime Include="System.Private.CoreLib" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\ExceptionUtilities.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\PathUtilities.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\Encoding\FunctionPointerAttributes.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\Encoding\MethodBodyStreamEncoder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\Encoding\MethodBodyAttributes.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\MetadataBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\MetadataRootBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\SerializedMetadataHeaps.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\EntityHandle.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\VirtualHeap.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\GuidHeap.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\BlobHeap.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\StringHeap.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PooledBlobBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Blob.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\BlobWriter.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\BlobWriterImpl.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\BlobBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\BlobBuilder.Enumerators.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\ByteSequenceComparer.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\DecimalUtilities.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\EnumerableExtensions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\CustomAttributeDecoder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\PortablePdbVersions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\ReservedBlob.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\CustomAttributeNamedArgument.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\CustomAttributeTypedArgument.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\CustomAttributeValue.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Decoding\ICustomAttributeTypeProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\Encoding\ControlFlowBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\Encoding\ExceptionRegionEncoder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\Encoding\InstructionEncoder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\Encoding\LabelHandle.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\IL\ILOpCode.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\CodedIndex.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\PortablePdbBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\MetadataBuilder.Tables.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\Encoding\BlobEncoders.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\MetadataSizes.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\MetadataBuilder.Heaps.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\IL\ILOpCodeExtensions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\ImageFormatLimitationException.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\HeapSizeFlag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\MetadataWriterUtilities.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\MetadataStreamOptions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\MetadataReaderProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\BlobContentId.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\PrimitiveSerializationTypeCode.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\Handles.TypeSystem.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\ManagedPEBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\ManagedTextSection.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\DebugDirectory\DebugDirectoryBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEDirectoriesBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEHeaderBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\ResourceSectionBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\SectionLocation.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\BlobUtilities.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="$(SystemReflectionMetadataPath)Properties\InternalsVisibleTo.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\AbstractMemoryBlock.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\ByteArrayMemoryBlock.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\ByteArrayMemoryProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\ExternalMemoryBlock.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\ExternalMemoryBlockProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\MemoryBlockProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\MemoryMappedFileBlock.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\NativeHeapMemoryBlock.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\StreamConstraints.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\MemoryBlocks\StreamMemoryBlockProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\CriticalDisposableObject.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\PinnedObject.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\BitArithmetic.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\StringUtils.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\EmptyArray.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\EncodingHelper.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\FileStreamReadLightUp.netstandard1.1.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\Hash.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\ImmutableByteArrayInterop.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\ImmutableMemoryStream.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\LightUpHelper.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\MemoryBlock.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\MemoryMapLightUp.netstandard1.1.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\PooledStringBuilder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\ObjectPool`1.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\ReadOnlyUnmanagedMemoryStream.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Internal\Utilities\StreamExtensions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\AssemblyDefinition.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\AssemblyFile.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\AssemblyReference.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\BlobReader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\Constant.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\ConstantTypeCode.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\CustomAttribute.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\CustomAttributeNamedArgumentKind.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\DeclarativeSecurityAttribute.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\ArrayShape.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Decoding\ISZArrayTypeProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Decoding\ISignatureTypeProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Decoding\ISimpleTypeProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\SignatureTypeKind.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Decoding\IConstructedTypeProvider.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\SignatureDecoder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\MethodSignature.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\PrimitiveTypeCode.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\EditAndContinueLogEntry.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\EditAndContinueOperation.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\ExportedTypeExtensions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\HeapIndex.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\MetadataReaderExtensions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\MetadataTokens.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\TableIndex.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\EventDefinition.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\IL\ExceptionRegion.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\IL\ExceptionRegionKind.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\ExportedType.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\FieldDefinition.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\GenericParameter.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\GenericParameterConstraint.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\HandleCollections.TypeSystem.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\HandleComparer.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\HandleKind.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Handle.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\InterfaceImplementation.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\COR20Constants.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\CorElementType.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\CustomAttributeTypeTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\HasConstantTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\HasCustomAttributeTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\HasDeclSecurityTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\HasFieldMarshalTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\HasSemanticsTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\UserStringHeap.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\ImplementationTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\MemberForwardedTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\MemberRefParentTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\MetadataFlags.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\MetadataStreamConstants.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\MethodDefOrRefTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\NamespaceCache.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\NamespaceData.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\ResolutionScopeTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\StreamHeader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\Tables.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\Treatments.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\TypeDefOrRefTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Internal\TypeOrMethodDefTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\ManifestResource.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\MemberReference.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\StandaloneSignatureKind.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\MemberReferenceKind.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Ecma335\MetadataAggregator.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\MetadataKind.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\MetadataReader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\MetadataReader.WinMD.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\MetadataReaderOptions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\MetadataStringComparer.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\MetadataStringDecoder.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\IL\MethodBodyBlock.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\MethodDefinition.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\MethodImplementation.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\MethodImport.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\MethodSpecification.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\ModuleDefinition.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\ModuleReference.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\NamespaceDefinition.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\Parameter.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\CustomDebugInformation.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\DebugMetadataHeader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\Document.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\DocumentNameBlobHandle.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\HandleCollections.Debug.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\Handles.Debug.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\HasCustomDebugInformationTag.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\ImportDefinition.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\ImportDefinitionKind.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\ImportDefinitionCollection.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\LocalConstant.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\ImportScope.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\LocalScope.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\LocalVariable.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\LocalVariableAttributes.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\MethodDebugInformation.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\SequencePoint.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\SequencePointCollection.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PortablePdb\Tables.Debug.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\PEReaderExtensions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\PropertyDefinition.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\SerializationTypeCode.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\SignatureAttributes.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\SignatureCallingConvention.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\SignatureHeader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\SignatureKind.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\Signatures\SignatureTypeCode.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\StandaloneSignature.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\TypeDefinition.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\TypeLayout.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\TypeReference.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Metadata\TypeSystem\TypeSpecification.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\CoffHeader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\CorFlags.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\CorHeader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\DebugDirectory\CodeViewDebugDirectoryData.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\DebugDirectory\PdbChecksumDebugDirectoryData.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\DebugDirectory\DebugDirectoryEntry.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\DebugDirectory\DebugDirectoryEntryType.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\DirectoryEntry.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\Machine.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEBinaryReader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEFileFlags.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEHeader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEHeaders.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEMemoryBlock.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEReader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\PEStreamOptions.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\PortableExecutable\SectionHeader.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\Throw.cs" />
-    <Compile Include="$(SystemReflectionMetadataPath)System\Reflection\System.Reflection.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Shims\Marshal.cs" />
-    <Compile Include="Shims\MiniLinq.cs" />
-    <Compile Include="Shims\RuntimeReflectionExtensions.cs" />
-    <Compile Include="..\..\Common\src\System\Diagnostics\CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs" />
-    <Compile Include="..\..\Common\src\CoreLib\System\Runtime\Versioning\NonVersionableAttribute.cs" />
-    <Compile Include="..\..\System.Collections.Immutable\src\Validation\ValidatedNotNullAttribute.cs" />
-    <Compile Include="..\..\System.Collections.Immutable\src\Validation\Requires.cs" />
-    <Compile Include="..\..\System.Collections.Immutable\src\System\Collections\Immutable\ImmutableExtensions.Minimal.cs" />
-    <Compile Include="..\..\System.Collections.Immutable\src\System\Collections\Immutable\ImmutableArray.cs" />
-    <Compile Include="..\..\System.Collections.Immutable\src\System\Collections\Immutable\ImmutableArray_1.Minimal.cs" />
-    <Compile Include="..\..\System.Collections.Immutable\src\System\Collections\Immutable\ImmutableArray_1.Builder.cs" />
-    <Compile Include="..\..\System.Collections.Immutable\src\System\Collections\Immutable\ImmutableArray_1.Builder.DebuggerProxy.cs" />
-    <Compile Include="..\..\System.Collections.Immutable\src\System\Collections\Immutable\ImmutableArray_1.Enumerator.cs" />
-    <Compile Include="..\..\System.Collections.Immutable\src\System\Collections\Immutable\IImmutableArray.cs" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
index 1c68896..a648a80 100644 (file)
@@ -4,7 +4,5 @@
     <AssemblyVersion>4.0.5.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
-    <IsUAPRef>false</IsUAPRef>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2578657..7e12b46 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index bc295dd..72e1c04 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Private.Uri</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <Nullable>enable</Nullable>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonPath)\System\Collections\Generic\ArrayBuilder.cs">
index be761af..5d3ab19 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="UriRelativeResolutionTest.cs" />
index 63e96eb..a1eadd7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 7bbc803..0a0d0b1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AppxUriValue.cs" />
index f3633e4..7bbc6a9 100644 (file)
@@ -5,7 +5,5 @@
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
     <IsNETCoreAppRef>false</IsNETCoreAppRef>
-    <IsUAP>true</IsUAP>
-    <IsUAPRef>false</IsUAPRef>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 944f1b8..0191e32 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Private.Xml.Linq</AssemblyName>
     <RootNamespace>System.Xml</RootNamespace>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.Private.Xml\src\System.Private.Xml.csproj" />
index 521fcc1..8c5102a 100644 (file)
@@ -131,13 +131,7 @@ namespace System.Xml.Linq
             AddContentSkipNotify(other.content);
         }
 
-#if uap
-        // XmlSerializer needs to reflect on the default constructor of XElement.
-        // We need to make the ctor public on UWP to keep the metadata for it.
-        public XElement()
-#else
         internal XElement()
-#endif
             : this("default")
         {
         }
index 3af3d19..7eb0e11 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ac81d6a..dd4557a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="DeepEquals.cs" />
index 3af3d19..7eb0e11 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4b2e10c..a9619e2 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="StreamExtensions.cs" />
index 3af3d19..7eb0e11 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b3e2d40..f11061c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Collections\DictionaryExtensions.cs">
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ff480d1..85cf63a 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>XDocument.Common</AssemblyName>
     <RootNamespace>CoreXml.Test.XLinq</RootNamespace>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="BridgeHelpers.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 887cbe1..a2fa00c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="EventsAdd.cs" />
index a167db2..7eb0e11 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 027e663..0bd8a7f 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Annotation.cs" />
index a167db2..7eb0e11 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index eedd098..6c6f401 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <NoWarn>$(NoWarn);xUnit1013</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Collections\DictionaryExtensions.cs">
index 3af3d19..7eb0e11 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index bfa6894..f5a8363 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <NoWarn>$(NoWarn);xUnit1013</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ClassStamp.cs" />
index f3633e4..7bbc6a9 100644 (file)
@@ -5,7 +5,5 @@
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
     <IsNETCoreAppRef>false</IsNETCoreAppRef>
-    <IsUAP>true</IsUAP>
-    <IsUAPRef>false</IsUAPRef>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index af6c544..db38925 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index b7f582b..a9f2bf4 100644 (file)
@@ -4,9 +4,8 @@
     <RootNamespace>System.Xml</RootNamespace>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS1573;649;169;414</NoWarn>
-    <FeatureCompiledXsl Condition="'$(TargetGroup)' != 'uap'">true</FeatureCompiledXsl>
-    <DefineConstants Condition="'$(FeatureCompiledXsl)' == 'true'">$(DefineConstants);FEATURE_COMPILED_XSL</DefineConstants>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <DefineConstants>$(DefineConstants);FEATURE_COMPILED_XSL</DefineConstants>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonPath)\CoreLib\System\Text\StringBuilderCache.cs">
     <Reference Include="System.Threading.Tasks" />
     <Reference Include="System.Threading.Thread" />
   </ItemGroup>
-  <ItemGroup Condition="'$(FeatureCompiledXsl)' == 'true'">
+  <ItemGroup>
     <Compile Include="System\Xml\Xsl\IlGen\GenerateHelper.cs" />
     <Compile Include="System\Xml\Xsl\IlGen\IteratorDescriptor.cs" />
     <Compile Include="System\Xml\Xsl\IlGen\OptimizerPatterns.cs" />
     <Compile Include="System\Xml\Xsl\IlGen\XmlIlVisitor.cs" />
     <Compile Include="System\Xml\Xsl\XmlIlGenerator.cs" />
     <Compile Include="System\Xml\Xsl\XmlILCommand.cs" />
-  </ItemGroup>
-  <ItemGroup>
     <Compile Include="System\Xml\Xsl\ISourceLineInfo.cs" />
     <Compile Include="System\Xml\Xsl\ListBase.cs" />
     <Compile Include="System\Xml\Xsl\Pair.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0a58ccd..0c944d6 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <RootNamespace>XmlMiscTests</RootNamespace>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="RandomizedHashing.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 692f2ee..8ef45da 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CharReaderTests.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f88fea5..0b9e335 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CReaderTestModule.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4db3bc8..74e3967 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="FactoryReaderTests.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f39ae77..d98581c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CNameTableTestModule.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 907be97..a75ec90 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ConformanceSettings.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a167d73..89c431a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="InheritedCases.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e863687..d868189 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="InheritedCases.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index decc97d..8063f80 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CFactoryModule.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 7901693..0133358 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="EndOfLineHandlingTests.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ec7a846..ddc21e3 100644 (file)
@@ -3,7 +3,7 @@
   <PropertyGroup>
     <DefineConstants>$(DefineConstants);FEATURE_XML_XPATH_ID</DefineConstants>
     <RootNamespace>System.Xml.XPath.Tests</RootNamespace>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup>
     <CommonPathXPath>$(CommonPath)\System\Xml\XPath</CommonPathXPath>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4d16a4a..121e085 100644 (file)
@@ -3,7 +3,7 @@
   <PropertyGroup>
     <DefineConstants>$(DefineConstants);FEATURE_XML_XPATH_ID</DefineConstants>
     <RootNamespace>System.Xml.XPath.XmlDocument.Tests</RootNamespace>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup>
     <CommonPathXPath>$(CommonPath)\System\Xml\XPath</CommonPathXPath>
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 206f7cb..a7bcb4a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="EncodeDecodeTests.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a187d75..1bf082c 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <Import Project="$(CommonTestPath)\Tests.props" />
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\ShouldNotBeInvokedException.cs">
index c5ec613..fcbad60 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <Import Project="$(CommonTestPath)\Tests.props" />
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="NodeReaderTestHelper.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 872585c..28b3ad1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ReadAsArrayTests.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 67640cc..2c45bc8 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AsyncReaderLateInitTests.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 75364bc..3c808fe 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="XmlSystemPathResolverTests.cs" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f18c491..42a4a15 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <RootNamespace>XmlReaderTest.Common</RootNamespace>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CDataReader.cs" />
index e428ab2..a1cdff5 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <Import Project="$(CommonTestPath)\Tests.props" />
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <None Include="$(SourceDir)\System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml1-frameset.dtd">
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f040ca8..ea33681 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CError.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 855c87e..5ea741a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Constructor_AddSchema.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a9f1cd2..40640e2 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <DefineConstants>$(DefineConstants);ReflectionOnly</DefineConstants>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Runtime\Serialization\Utils.cs" />
index 80e66f6..15979d6 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Runtime\Serialization\Utils.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6c1fb65..a5e77b1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="DisposeTests.cs" />
index 4b47740..197cc43 100644 (file)
@@ -473,7 +473,6 @@ namespace System.Xml.Tests
         [InlineData(InputType.Navigator, ReaderType.XmlValidatingReader, TransformType.Writer, DocType.XPathDocument)]
         [InlineData(InputType.Navigator, ReaderType.XmlValidatingReader, TransformType.Stream, DocType.XPathDocument)]
         [InlineData(InputType.Navigator, ReaderType.XmlValidatingReader, TransformType.TextWriter, DocType.XPathDocument)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Absolute path access is denied in uap")]
         [Theory]
         public void TC_AbsolutePath_Transform(InputType inputType, ReaderType readerType, TransformType transformType, DocType docType)
         {
@@ -2098,7 +2097,6 @@ namespace System.Xml.Tests
         [InlineData(InputType.Navigator, ReaderType.XmlValidatingReader, TransformType.Writer, DocType.XPathDocument)]
         [InlineData(InputType.Navigator, ReaderType.XmlValidatingReader, TransformType.Stream, DocType.XPathDocument)]
         [InlineData(InputType.Navigator, ReaderType.XmlValidatingReader, TransformType.TextWriter, DocType.XPathDocument)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Absolute path access is denied in uap")]
         [Theory]
         public void TC_AbsolutePath_Transform(InputType inputType, ReaderType readerType, TransformType transformType, DocType docType)
         {
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f8de4e9..8dcb7bd 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="cthread.cs" />
index e323d50..7a4a0bf 100644 (file)
@@ -84,8 +84,8 @@ namespace System.Xml.Tests
 
         static XsltApiTestCaseBase()
         {
-            // On uap access is denied to full path and the code below and related tests cannot run
-            if (!PlatformDetection.IsUap)
+            // In AppContainer access is denied to full path and the code below and related tests cannot run
+            if (!PlatformDetection.IsInAppContainer)
             {
                 Directory.CreateDirectory(Path.GetDirectoryName(s_temporaryResolverDocumentFullName));
 
index 6bf7e56..14f75a5 100644 (file)
@@ -3,6 +3,5 @@
   <PropertyGroup>
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>ECMA</StrongNameKeyId>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5887068..8718d63 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CustomAssemblyAttributes.cs" />
index 1d44f78..a648a80 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.5.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 36594e6..5e4ea5c 100644 (file)
@@ -6,7 +6,6 @@
     <BuildConfigurations>
       $(PackageConfigurations)
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 6692b27..511a77c 100644 (file)
@@ -1,11 +1,11 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Reflection.DispatchProxy.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap' OR '$(TargetGroup)' == 'netcoreapp'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 3923261..9770cda 100644 (file)
@@ -8,7 +8,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap-Windows_NT;
       netfx;
     </BuildConfigurations>
   </PropertyGroup>
index bc89f5d..6d74ad5 100644 (file)
@@ -4,7 +4,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <!-- this library depends on Ref.Emit which is not available for netstandard -->
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard'">SR.PlatformNotSupported_ReflectionDispatchProxy</GeneratePlatformNotSupportedAssemblyMessage>
-    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp2.0-Debug;netcoreapp2.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp2.0-Debug;netcoreapp2.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetGroup)' != 'netstandard'">
     <Compile Include="System\Reflection\DispatchProxy.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4cd006f..61d5318 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="DispatchProxyTests.cs" />
index 4fdfb62..d3c0087 100644 (file)
@@ -5,7 +5,5 @@
     <AssemblyVersion Condition="'$(TargetsNetStandard)' == 'true'">4.0.0.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
-    <IsUAPRef>false</IsUAPRef>
   </PropertyGroup>
 </Project>
index aeccaf7..6e34e3b 100644 (file)
@@ -6,7 +6,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap;
       <!-- Use inbox facade on netfx -->
       _netfx;
     </BuildConfigurations>
index 4066eb7..09530f1 100644 (file)
@@ -1,13 +1,13 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Reflection.Emit.ILGeneration.cs" />
-    <Compile Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap'" Include="System.Reflection.Emit.ILGeneration.netcore.cs" />
+    <Compile Include="System.Reflection.Emit.ILGeneration.netcore.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'netstandard'">
+  <ItemGroup Condition="'$(TargetsNetStandard)' != 'true'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Runtime.InteropServices\ref\System.Runtime.InteropServices.csproj" />
     <ProjectReference Include="..\..\System.Reflection\ref\System.Reflection.csproj" />
index 0762eb2..f2649e3 100644 (file)
@@ -7,7 +7,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
       $(PackageConfigurations);
     </BuildConfigurations>
   </PropertyGroup>
index 67d2cc1..2afe804 100644 (file)
@@ -4,7 +4,7 @@
     <IsPartialFacadeAssembly Condition="'$(TargetsNetStandard)' != 'true'">true</IsPartialFacadeAssembly>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsNetStandard)' == 'true'">SR.PlatformNotSupported_RefEmitILGeneration</GeneratePlatformNotSupportedAssemblyMessage>
     <OmitResources>$(IsPartialFacadeAssembly)</OmitResources>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup Condition="'$(IsPartialFacadeAssembly)' == 'true'">
index 4fdfb62..d3c0087 100644 (file)
@@ -5,7 +5,5 @@
     <AssemblyVersion Condition="'$(TargetsNetStandard)' == 'true'">4.0.0.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
-    <IsUAPRef>false</IsUAPRef>
   </PropertyGroup>
 </Project>
index aeccaf7..6e34e3b 100644 (file)
@@ -6,7 +6,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap;
       <!-- Use inbox facade on netfx -->
       _netfx;
     </BuildConfigurations>
index 62519de..d787fe7 100644 (file)
@@ -1,15 +1,15 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release</Configurations>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Reflection.Emit.Lightweight.cs" />
-    <Compile Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap'" Include="System.Reflection.Emit.Lightweight.netcore.cs" />
+    <Compile Include="System.Reflection.Emit.Lightweight.netcore.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" Condition="'$(TargetGroup)' != 'netstandard'" />
+    <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" Condition="'$(TargetsNetStandard)' != 'true'" />
     <ProjectReference Include="..\..\System.Reflection.Emit.ILGeneration\ref\System.Reflection.Emit.ILGeneration.csproj" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 0762eb2..f2649e3 100644 (file)
@@ -7,7 +7,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
       $(PackageConfigurations);
     </BuildConfigurations>
   </PropertyGroup>
index 34e895f..8907d92 100644 (file)
@@ -5,7 +5,7 @@
     <IsPartialFacadeAssembly Condition="'$(TargetsNetStandard)' != 'true'">true</IsPartialFacadeAssembly>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsNetStandard)' == 'true'">SR.PlatformNotSupported_RefEmitLightweight</GeneratePlatformNotSupportedAssemblyMessage>
     <OmitResources>$(IsPartialFacadeAssembly)</OmitResources>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup Condition="'$(IsPartialFacadeAssembly)' == 'true'">
index bdcbac1..f7e7d27 100644 (file)
@@ -5,7 +5,5 @@
     <AssemblyVersion Condition="'$(TargetsNetStandard)' == 'true'">4.0.0.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
-    <IsUAPRef>false</IsUAPRef>
   </PropertyGroup>
 </Project>
index aeccaf7..6e34e3b 100644 (file)
@@ -6,7 +6,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap;
       <!-- Use inbox facade on netfx -->
       _netfx;
     </BuildConfigurations>
index 78480c5..09ad97c 100644 (file)
@@ -1,13 +1,13 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Reflection.Emit.cs" />
-    <Compile Include="System.Reflection.Emit.netcore.cs" Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap'" />
+    <Compile Include="System.Reflection.Emit.netcore.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Runtime.InteropServices\ref\System.Runtime.InteropServices.csproj" />
     <ProjectReference Include="..\..\System.Reflection.Primitives\ref\System.Reflection.Primitives.csproj" />
index c74307f..b1d2f60 100644 (file)
@@ -7,7 +7,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
       $(PackageConfigurations);
     </BuildConfigurations>
   </PropertyGroup>
index 98dc9b2..2a2d78e 100644 (file)
@@ -4,7 +4,7 @@
     <IsPartialFacadeAssembly Condition="'$(TargetsNetStandard)' != 'true'">true</IsPartialFacadeAssembly>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsNetStandard)' == 'true'">SR.PlatformNotSupported_RefEmit</GeneratePlatformNotSupportedAssemblyMessage>
     <OmitResources>$(IsPartialFacadeAssembly)</OmitResources>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup Condition="'$(IsPartialFacadeAssembly)' == 'true'">
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4666e52..923eaab 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Reflection.Extensions.cs" />
index 071a210..19236e7 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 1b4da95..38b330b 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Reflection.Extensions</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Runtime" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index fb32dca..aab4562 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 7750549..f969f45 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>1.4.4.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6cc75eb..b690185 100644 (file)
@@ -7,7 +7,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 54327dd..a292d79 100644 (file)
@@ -2,22 +2,22 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <CLSCompliant>false</CLSCompliant>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Reflection.Metadata.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' Or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Collections.Immutable\ref\System.Collections.Immutable.csproj" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.1'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.1'">
     <Reference Include="System.IO" />
     <Reference Include="System.Reflection.Primitives" />
     <Reference Include="System.Runtime" />
     <Reference Include="System.Text.Encoding" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard' Or '$(TargetGroup)' == 'netstandard1.1'">
+  <ItemGroup Condition="'$(TargetsNetStandard)' == 'true'">
     <ProjectReference Include="..\..\System.Collections.Immutable\ref\System.Collections.Immutable.csproj" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index 6cc75eb..b690185 100644 (file)
@@ -7,7 +7,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 8181310..eb2b98e 100644 (file)
@@ -1,18 +1,16 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <RootNamespace>System.Reflection.Metadata</RootNamespace>
     <FileAlignment>512</FileAlignment>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefaultLanguage>en-US</DefaultLanguage>
     <CLSCompliant>false</CLSCompliant>
-    <TargetsNetCoreAppOrUap Condition="'$(TargetsNetCoreApp)'=='true' OR '$(TargetsUap)' == 'true'">true</TargetsNetCoreAppOrUap>
-    <PackageTargetFramework Condition="'$(TargetGroup)' == 'netstandard1.1'">netstandard1.1;portable-net45+win8</PackageTargetFramework>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <PackageTargetFramework Condition="'$(TargetFramework)' == 'netstandard1.1'">netstandard1.1;portable-net45+win8</PackageTargetFramework>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Reflection\Internal\Utilities\PinnedObject.cs" />
-    <Compile Include="System\Reflection\Internal\Utilities\CriticalDisposableObject.cs" Condition="'$(TargetGroup)' != 'netstandard1.1'" />
-    <Compile Include="System\Reflection\Internal\Utilities\CriticalDisposableObject.netstandard1.1.cs" Condition="'$(TargetGroup)' == 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Internal\Utilities\CriticalDisposableObject.cs" Condition="'$(TargetFramework)' != 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Internal\Utilities\CriticalDisposableObject.netstandard1.1.cs" Condition="'$(TargetFramework)' == 'netstandard1.1'" />
     <Compile Include="System\Reflection\Internal\Utilities\ExceptionUtilities.cs" />
     <Compile Include="System\Reflection\Internal\Utilities\PathUtilities.cs" />
     <Compile Include="System\Reflection\Metadata\Ecma335\Encoding\FunctionPointerAttributes.cs" />
     <Compile Include="System\Reflection\Metadata\Ecma335\MetadataBuilder.Heaps.cs" />
     <Compile Include="System\Reflection\Metadata\IL\ILOpCodeExtensions.cs" />
     <Compile Include="System\Reflection\Metadata\ImageFormatLimitationException.cs" />
-    <Compile Include="System\Reflection\Metadata\ImageFormatLimitationException.Serialization.cs" Condition="'$(TargetGroup)' != 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Metadata\ImageFormatLimitationException.Serialization.cs" Condition="'$(TargetFramework)' != 'netstandard1.1'" />
     <Compile Include="System\Reflection\Metadata\Internal\HeapSizeFlag.cs" />
     <Compile Include="System\Reflection\Metadata\Internal\MetadataWriterUtilities.cs" />
     <Compile Include="System\Reflection\Metadata\MetadataStreamOptions.cs" />
     <Compile Include="System\Reflection\Metadata\MetadataReaderProvider.cs" />
     <Compile Include="System\Reflection\Metadata\BlobContentId.cs" />
     <Compile Include="System\Reflection\Metadata\Signatures\PrimitiveSerializationTypeCode.cs" />
-    <Compile Include="System\Reflection\Metadata\TypeSystem\AssemblyDefinition.netstandard.cs" Condition="'$(TargetGroup)' != 'netstandard1.1'" />
-    <Compile Include="System\Reflection\Metadata\TypeSystem\AssemblyReference.netstandard.cs" Condition="'$(TargetGroup)' != 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Metadata\TypeSystem\AssemblyDefinition.netstandard.cs" Condition="'$(TargetFramework)' != 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Metadata\TypeSystem\AssemblyReference.netstandard.cs" Condition="'$(TargetFramework)' != 'netstandard1.1'" />
     <Compile Include="System\Reflection\Metadata\TypeSystem\Handles.TypeSystem.cs" />
     <Compile Include="System\Reflection\PortableExecutable\ManagedPEBuilder.cs" />
     <Compile Include="System\Reflection\PortableExecutable\ManagedTextSection.cs" />
     <Compile Include="System\Reflection\Internal\Utilities\BitArithmetic.cs" />
     <Compile Include="System\Reflection\Internal\Utilities\StringUtils.cs" />
     <Compile Include="System\Reflection\Internal\Utilities\EmptyArray.cs" />
-    <Compile Include="System\Reflection\Internal\Utilities\EncodingHelper.cs" Condition="'$(TargetsNetCoreAppOrUap)' != 'true'" />
-    <Compile Include="System\Reflection\Internal\Utilities\EncodingHelper.netcoreapp.cs" Condition="'$(TargetsNetCoreAppOrUap)' == 'true'" />
-    <Compile Include="System\Reflection\Internal\Utilities\FileStreamReadLightUp.cs" Condition="'$(TargetGroup)' != 'netstandard1.1'" />
-    <Compile Include="System\Reflection\Internal\Utilities\FileStreamReadLightUp.netstandard1.1.cs" Condition="'$(TargetGroup)' == 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Internal\Utilities\EncodingHelper.cs" Condition="'$(TargetsNetCoreApp)' != 'true'" />
+    <Compile Include="System\Reflection\Internal\Utilities\EncodingHelper.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true'" />
+    <Compile Include="System\Reflection\Internal\Utilities\FileStreamReadLightUp.cs" Condition="'$(TargetFramework)' != 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Internal\Utilities\FileStreamReadLightUp.netstandard1.1.cs" Condition="'$(TargetFramework)' == 'netstandard1.1'" />
     <Compile Include="System\Reflection\Internal\Utilities\Hash.cs" />
     <Compile Include="System\Reflection\Internal\Utilities\ImmutableByteArrayInterop.cs" />
     <Compile Include="System\Reflection\Internal\Utilities\ImmutableMemoryStream.cs" />
-    <Compile Include="System\Reflection\Internal\Utilities\LightUpHelper.cs" Condition="'$(TargetsNetCoreAppOrUap)' != 'true'" />
+    <Compile Include="System\Reflection\Internal\Utilities\LightUpHelper.cs" Condition="'$(TargetsNetCoreApp)' != 'true'" />
     <Compile Include="System\Reflection\Internal\Utilities\MemoryBlock.cs" />
-    <Compile Include="System\Reflection\Internal\Utilities\MemoryMapLightUp.cs" Condition="'$(TargetGroup)' != 'netstandard1.1'" />
-    <Compile Include="System\Reflection\Internal\Utilities\MemoryMapLightUp.netstandard1.1.cs" Condition="'$(TargetGroup)' == 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Internal\Utilities\MemoryMapLightUp.cs" Condition="'$(TargetFramework)' != 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Internal\Utilities\MemoryMapLightUp.netstandard1.1.cs" Condition="'$(TargetFramework)' == 'netstandard1.1'" />
     <Compile Include="System\Reflection\Internal\Utilities\PooledStringBuilder.cs" />
     <Compile Include="System\Reflection\Internal\Utilities\ObjectPool`1.cs" />
     <Compile Include="System\Reflection\Internal\Utilities\ReadOnlyUnmanagedMemoryStream.cs" />
     <Compile Include="System\Reflection\Metadata\Signatures\MemberReferenceKind.cs" />
     <Compile Include="System\Reflection\Metadata\Ecma335\MetadataAggregator.cs" />
     <Compile Include="System\Reflection\Metadata\MetadataKind.cs" />
-    <Compile Include="System\Reflection\Metadata\MetadataReader.netstandard.cs" Condition="'$(TargetGroup)' != 'netstandard1.1'" />
+    <Compile Include="System\Reflection\Metadata\MetadataReader.netstandard.cs" Condition="'$(TargetFramework)' != 'netstandard1.1'" />
     <Compile Include="System\Reflection\Metadata\MetadataReader.cs" />
     <Compile Include="System\Reflection\Metadata\MetadataReader.WinMD.cs" />
     <Compile Include="System\Reflection\Metadata\MetadataReaderOptions.cs" />
     <Reference Include="System.Text.Encoding" />
     <Reference Include="System.Text.Encoding.Extensions" />
     <Reference Include="System.Threading" />
-    <Reference Include="System.IO.MemoryMappedFiles" Condition="'$(TargetGroup)' != 'netstandard1.1'" />
-    <Reference Include="System.Buffers" Condition="'$(TargetsNetCoreAppOrUap)' == 'true'" />
+    <Reference Include="System.IO.MemoryMappedFiles" Condition="'$(TargetFramework)' != 'netstandard1.1'" />
+    <Reference Include="System.Buffers" Condition="'$(TargetsNetCoreApp)' == 'true'" />
   </ItemGroup>
 </Project>
index 850a3f2..1c798ad 100644 (file)
@@ -2,7 +2,7 @@
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
   <ItemGroup>
     <ProjectReference Include="..\ref\System.Reflection.MetadataLoadContext.csproj">
-      <SupportedFramework>net461;netcoreapp2.0;uap10.0.16299;$(UAPvNextTFM);$(AllXamarinFrameworks)</SupportedFramework>
+      <SupportedFramework>net461;netcoreapp2.0;uap10.0.16299;$(AllXamarinFrameworks)</SupportedFramework>
     </ProjectReference>
     <ProjectReference Include="..\src\System.Reflection.MetadataLoadContext.csproj" />
   </ItemGroup>
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5b4a2c7..64e8565 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\IO\TempDirectory.cs">
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index bb30a84..c521133 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 12bea44..016f39d 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Reflection.Primitives</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index 0cef3cd..a1cca7a 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.4.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2a40d36..117acb7 100644 (file)
@@ -11,7 +11,6 @@
       netfx;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 30fb09c..a9da4bf 100644 (file)
@@ -2,22 +2,22 @@
   <PropertyGroup>
     <AssemblyName>System.Reflection.TypeExtensions</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>net461-Debug;net461-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;netstandard1.3-Debug;netstandard1.3-Release;netstandard1.5-Debug;netstandard1.5-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;netstandard1.3-Debug;netstandard1.3-Release;netstandard1.5-Debug;netstandard1.5-Release</Configurations>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetGroup)' == 'netstandard1.3' OR '$(TargetGroup)' == 'netstandard1.5'">
+  <PropertyGroup Condition="'$(TargetFramework)' == 'netstandard1.3' OR '$(TargetFramework)' == 'netstandard1.5'">
     <GeneratePlatformNotSupportedAssemblyMessage>SR.PlatformNotSupported_ReflectionTypeExtensions</GeneratePlatformNotSupportedAssemblyMessage>
-    <AssemblyVersion Condition="'$(TargetGroup)' == 'netstandard1.3'">4.0.0.0</AssemblyVersion>
-    <AssemblyVersion Condition="'$(TargetGroup)' == 'netstandard1.5'">4.1.0.0</AssemblyVersion>
+    <AssemblyVersion Condition="'$(TargetFramework)' == 'netstandard1.3'">4.0.0.0</AssemblyVersion>
+    <AssemblyVersion Condition="'$(TargetFramework)' == 'netstandard1.5'">4.1.0.0</AssemblyVersion>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetGroup)' != 'netstandard1.3' AND '$(TargetGroup)' != 'netstandard1.5'">
+  <ItemGroup Condition="'$(TargetFramework)' != 'netstandard1.3' AND '$(TargetFramework)' != 'netstandard1.5'">
     <Compile Include="System\Reflection\Requires.cs" />
     <Compile Include="System\Reflection\TypeExtensions.cs" />
   </ItemGroup>
   <ItemGroup>
     <Reference Include="mscorlib" Condition="'$(TargetsNetFx)' == 'true'" />
-    <ReferenceFromRuntime Include="System.Private.CoreLib" Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap'" />
+    <ReferenceFromRuntime Include="System.Private.CoreLib" Condition="'$(TargetsNetCoreApp)' == 'true'" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.3' OR '$(TargetGroup)' == 'netstandard1.5'">
+  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3' OR '$(TargetFramework)' == 'netstandard1.5'">
     <Reference Include="System.Reflection" />
     <Reference Include="System.Resources.ResourceManager" />
     <Reference Include="System.Runtime" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 48f2b54..ea64f4b 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1bd1996..d94bfdf 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Reflection.cs" />
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 744b7a9..cce5365 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Reflection</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index 00a2656..857c383 100644 (file)
@@ -224,7 +224,6 @@ namespace System.Reflection.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "AssemblyName.GetAssemblyName() not supported on UWP")]
         public static void GetAssemblyName()
         {
             AssertExtensions.Throws<ArgumentNullException>("assemblyFile", () => AssemblyName.GetAssemblyName(null));
@@ -246,7 +245,6 @@ namespace System.Reflection.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "AssemblyName.GetAssemblyName() not supported on UWP")]
         public static void GetAssemblyName_LockedFile()
         {
             using (var tempFile = new TempFile(Path.GetTempFileName(), 100))
@@ -536,35 +534,23 @@ namespace System.Reflection.Tests
             string assemblyNamePrefix = "System.Reflection.Tests.Assembly_";
 
             // Requested version 1.0 does not load 0.0.0.0, but loads 1.2.0.0, 3.0.0.0
-            if (PlatformDetection.IsUap)
-                Assert.Throws<FileLoadException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "0_0_0_0, Version=1.0")));
-            else
-                Assert.Throws<FileNotFoundException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "0_0_0_0, Version=1.0")));
+            Assert.Throws<FileNotFoundException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "0_0_0_0, Version=1.0")));
 
             Assert.NotNull(Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_2_0_0, Version=1.0")));
             Assert.NotNull(Assembly.Load(new AssemblyName(assemblyNamePrefix + "3_0_0_0, Version=1.0")));
 
             // Requested version 1.1 does not load 1.0.0.0, but loads 1.1.2.0, 1.3.0.0
-            if (PlatformDetection.IsUap)
-                Assert.Throws<FileLoadException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_0_0_0, Version=1.1")));
-            else
-                Assert.Throws<FileNotFoundException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_0_0_0, Version=1.1")));
+            Assert.Throws<FileNotFoundException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_0_0_0, Version=1.1")));
             Assert.NotNull(Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_2_0, Version=1.1")));
             Assert.NotNull(Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_3_0_0, Version=1.1")));
 
             // Requested version 1.1.1 does not load 1.1.0.0, but loads 1.1.1.2, 1.1.3.0
-            if (PlatformDetection.IsUap)
-                Assert.Throws<FileLoadException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_0_0, Version=1.1.1")));
-            else
-                Assert.Throws<FileNotFoundException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_0_0, Version=1.1.1")));
+            Assert.Throws<FileNotFoundException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_0_0, Version=1.1.1")));
             Assert.NotNull(Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_1_2, Version=1.1.1")));
             Assert.NotNull(Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_3_0, Version=1.1.1")));
 
             // Requested version 1.1.1.1 does not load 1.1.1.0, but loads 1.1.1.3
-            if (PlatformDetection.IsUap)
-                Assert.Throws<FileLoadException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_1_0, Version=1.1.1.1")));
-            else
-                Assert.Throws<FileNotFoundException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_1_0, Version=1.1.1.1")));
+            Assert.Throws<FileNotFoundException>(() => Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_1_0, Version=1.1.1.1")));
             Assert.NotNull(Assembly.Load(new AssemblyName(assemblyNamePrefix + "1_1_1_3, Version=1.1.1.1")));
 
             Assert.NotNull(typeof(AssemblyVersion.Program_0_0_0_0));
index e360a58..b9f1a56 100644 (file)
@@ -144,8 +144,7 @@ namespace System.Reflection.Tests
         {
             Assert.NotNull(Assembly.GetEntryAssembly());
             string assembly = Assembly.GetEntryAssembly().ToString();
-            bool correct = assembly.IndexOf("xunit.console", StringComparison.OrdinalIgnoreCase) != -1 ||
-                           assembly.IndexOf("Microsoft.DotNet.XUnitRunnerUap", StringComparison.OrdinalIgnoreCase) != -1;
+            bool correct = assembly.IndexOf("xunit.console", StringComparison.OrdinalIgnoreCase) != -1;
             Assert.True(correct, $"Unexpected assembly name {assembly}");
         }
 
@@ -287,7 +286,6 @@ namespace System.Reflection.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Assembly.LoadFile() not supported on UWP")]
         public void LoadFile()
         {
             Assembly currentAssembly = typeof(AssemblyTests).Assembly;
@@ -314,14 +312,12 @@ namespace System.Reflection.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public void LoadFile_NullPath_Netcore_ThrowsArgumentNullException()
         {
             AssertExtensions.Throws<ArgumentNullException>("path", () => Assembly.LoadFile(null));
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Assembly.LoadFile() not supported on UWP")]
         public void LoadFile_NoSuchPath_ThrowsArgumentException()
         {
             AssertExtensions.Throws<ArgumentException>("path", null, () => Assembly.LoadFile("System.Runtime.Tests.dll"));
@@ -611,7 +607,6 @@ namespace System.Reflection.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Assembly.Load(byte[]) not supported on UWP")]
         public void AssemblyLoadFromBytes()
         {
             Assembly assembly = typeof(AssemblyTests).Assembly;
@@ -623,7 +618,6 @@ namespace System.Reflection.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Assembly.Load(byte[]) not supported on UWP")]
         public void AssemblyLoadFromBytesNeg()
         {
             Assert.Throws<ArgumentNullException>(() => Assembly.Load((byte[])null));
@@ -631,7 +625,6 @@ namespace System.Reflection.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Assembly.Load(byte[]) not supported on UWP")]
         public void AssemblyLoadFromBytesWithSymbols()
         {
             Assembly assembly = typeof(AssemblyTests).Assembly;
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0bb70be..2f31e1b 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
     <!-- LoadFrom_SameIdentityAsAssemblyWithDifferentPath_ReturnsEqualAssemblies test relies on no deps.json -->
     <GenerateDependencyFile>false</GenerateDependencyFile>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6491ec7..c55e390 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <OutputType>Exe</OutputType>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Program.cs" />
index b0ad9a4..1a037ad 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e2ae6a9..e2f8ceb 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
     <TestDataPackageVersion>1.0.9</TestDataPackageVersion>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
   </PropertyGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1465688..b6a036a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Resources.Reader.cs" />
index aa1d348..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 855c3b0..d38d008 100644 (file)
@@ -4,7 +4,7 @@
     <AssemblyName>System.Resources.Reader</AssemblyName>
     <RootNamespace>System.Resources</RootNamespace>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Resources.ResourceManager" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9e3f774..ff069a9 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <Import Project="$(CommonTestPath)\Tests.props" />
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0f5686a..1924ed3 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 9658dd3..db38925 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 3485e48..1672be4 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Resources.ResourceManager</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Diagnostics.Tools" />
index 2b2323d..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 0c54c4b..d2bacfe 100644 (file)
@@ -81,7 +81,6 @@ namespace System.Resources.Tests
 
         [Theory]
         [MemberData(nameof(CultureResourceData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UWP build not configured correctly for culture fallback")]
         public static void GetString_CultureFallback(string key, string cultureName, string expectedValue)
         {
             Type resourceType = typeof(Resources.TestResx);
@@ -146,7 +145,6 @@ namespace System.Resources.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UWP does not use satellite assemblies in most cases")]
         public static void GetString_ExpectEvents()
         {
             RemoteExecutor.Invoke(() =>
@@ -207,7 +205,6 @@ namespace System.Resources.Tests
 
         [Theory]
         [MemberData(nameof(EnglishResourceData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "When getting resources from PRI file the casing doesn't matter, if it is there it will always find and return the resource")]
         public static void IgnoreCase(string key, string expectedValue)
         {
             var manager = new ResourceManager("System.Resources.Tests.Resources.TestResx", typeof(ResourceManagerTests).GetTypeInfo().Assembly);
@@ -270,7 +267,6 @@ namespace System.Resources.Tests
             yield return new object[] { "Icon", new Icon("icon.ico") };
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         [ConditionalTheory(Helpers.IsDrawingSupported)]
         [MemberData(nameof(EnglishImageResourceData))]
         public static void GetObject_Images(string key, object expectedValue)
@@ -280,7 +276,6 @@ namespace System.Resources.Tests
             Assert.Equal(GetImageData(expectedValue), GetImageData(manager.GetObject(key, new CultureInfo("en-US"))));
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         [ConditionalTheory(Helpers.IsDrawingSupported)]
         [MemberData(nameof(EnglishImageResourceData))]
         public static void GetObject_Images_ResourceSet(string key, object expectedValue)
@@ -314,7 +309,6 @@ namespace System.Resources.Tests
             Assert.Equal(expectedValue, set.GetObject(key));
         }
 
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         [ConditionalTheory(Helpers.IsDrawingSupported)]
         [MemberData(nameof(EnglishImageResourceData))]
         public static void GetResourceSet_Images(string key, object expectedValue)
index 4853680..10834cb 100644 (file)
@@ -4,7 +4,7 @@
     <BinPlaceSatelliteAssemblies>true</BinPlaceSatelliteAssemblies>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="MissingManifestResourceExceptionTests.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c8dcd07..66cd430 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Resources.Writer.cs" />
index aa1d348..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index adbf4f0..38a9a1d 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <AssemblyName>System.Resources.Writer</AssemblyName>
     <RootNamespace>System.Resources</RootNamespace>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Resources\__FastResourceComparer.cs" />
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 98ce8b9..0a9948a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ResourceWriterUnitTest.cs" />
index 104ac14..60d1049 100644 (file)
@@ -2,8 +2,6 @@
   <PropertyGroup>
     <AssemblyName>System.Runtime.Caching</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <!-- Although we have a netstandard configuration, we know we are not currently UAP compatible-->
-    <UWPCompatible>false</UWPCompatible>
     <Configurations>netstandard-Debug;netstandard-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
index 0eef24e..ac021c8 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.5.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index 2c34fd9..58b67ce 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="UnsafeTests.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index acf56fa..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index d5603a5..b21fe1e 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.CompilerServices.VisualC.cs" />
index aa1d348..55d2de1 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 8e2251e..fcec9fd 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AssemblyName>System.Runtime.CompilerServices.VisualC</AssemblyName>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Shared CoreCLR -->
   <ItemGroup>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c8cf080..ce3c54d 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Runtime\CompilerServices\RequiredAttributeAttributeTests.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 957e3eb..cb1e24c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index b47f089..ee16a95 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 830462e..b601196 100644 (file)
@@ -5,7 +5,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <IncludeDllSafeSearchPathAttribute>true</IncludeDllSafeSearchPathAttribute>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.Diagnostics.Debug\src\System.Diagnostics.Debug.csproj" />
     <ProjectReference Include="..\..\System.Runtime\src\System.Runtime.csproj" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap'">
-    <Reference Include="mscorlib" />
-    <Reference Include="Windows" />
-  </ItemGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
   </ItemGroup>
index b66a362..ad8296d 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 891409b..0f1eee0 100644 (file)
@@ -4,7 +4,7 @@
     <DefineConstants Condition="'$(TargetsUnix)' == 'true'">$(DefineConstants);Unix</DefineConstants>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="System\AppDomainTests.netcoreapp.cs" />
index b53f5db..2ef0b23 100644 (file)
@@ -206,7 +206,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [ActiveIssue("https://github.com/dotnet/corefx/issues/21410", TargetFrameworkMonikers.Uap)]
         public void ProcessExit_Called()
         {
             string path = GetTestFilePath();
@@ -256,7 +255,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [ActiveIssue("https://github.com/dotnet/corefx/issues/18718", TargetFrameworkMonikers.Uap)] // Need to copy files out of execution directory
         public void ExecuteAssembly()
         {
             CopyTestAssemblies();
@@ -357,7 +355,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Does not support Assembly.Load(byte[])")]
         public void LoadBytes()
         {
             Assembly assembly = typeof(AppDomainTests).Assembly;
@@ -459,7 +456,6 @@ namespace System.Tests
 
 #pragma warning restore 618
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Does not support Assembly.LoadFile")]
         public void GetAssemblies()
         {
             RemoteExecutor.Invoke(() => {
@@ -497,7 +493,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Does not support Assembly.LoadFile")]
         public void AssemblyLoad()
         {
             RemoteExecutor.Invoke(() => {
@@ -552,7 +547,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Does not support Assembly.LoadFile")]
         public void AssemblyResolve()
         {
             CopyTestAssemblies();
@@ -579,7 +573,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Does not support Assembly.LoadFile")]
         public void AssemblyResolve_RequestingAssembly()
         {
             CopyTestAssemblies();
@@ -672,7 +665,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "In UWP the resources always exist in the resources.pri file even if the assembly is not loaded")]
         public void ResourceResolve()
         {
             RemoteExecutor.Invoke(() => {
index 87b6fe6..cec3852 100644 (file)
@@ -42,7 +42,6 @@ namespace System.Tests
         [InlineData(1)] // setting ExitCode and exiting Main
         [InlineData(2)] // setting ExitCode both from Main and from an Unloading event handler.
         [InlineData(3)] // using Exit(exitCode)
-        [ActiveIssue("https://github.com/dotnet/corefx/issues/21415", TargetFrameworkMonikers.Uap)]
         public static void ExitCode_VoidMainAppReturnsSetValue(int mode)
         {
             int expectedExitCode = 123;
index 2ba96f7..168da52 100644 (file)
@@ -10,7 +10,6 @@ using Xunit;
 
 namespace System.Tests
 {
-    [ActiveIssue("https://github.com/dotnet/corefx/issues/21413", TargetFrameworkMonikers.Uap)]
     public class GetCommandLineArgs
     {
         public static IEnumerable<object[]> GetCommandLineArgs_TestData()
index 303c03b..d40565c 100644 (file)
@@ -23,7 +23,7 @@ namespace System.Tests
                 return false;
             }
 
-            return target == EnvironmentVariableTarget.Process || (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && !PlatformDetection.IsUap);
+            return target == EnvironmentVariableTarget.Process || RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
         }
 
         [Fact]
@@ -159,8 +159,7 @@ namespace System.Tests
             catch (SecurityException)
             {
                 shouldCleanUp = false;
-                Assert.True(target == EnvironmentVariableTarget.Machine || (target == EnvironmentVariableTarget.User && PlatformDetection.IsUap),
-                            "only machine target, or user when in uap, should have access issues");
+                Assert.True(target == EnvironmentVariableTarget.Machine, "only machine target should have access issues");
                 Assert.True(PlatformDetection.IsWindows, "and it should be Windows");
                 Assert.False(PlatformDetection.IsWindowsAndElevated, "and we shouldn't be elevated");
             }
index 8c88b07..d88aec0 100644 (file)
@@ -9,18 +9,17 @@ namespace System.Tests
     public class EnvironmentUserDomainName
     {
         [Fact]
-        [SkipOnTargetFramework(~TargetFrameworkMonikers.Uap)]
-        public void UserDomainNameIsHardCodedOnUap()
+        public void UserDomainNameIsCorrect()
         {
-            Assert.Equal("Windows Domain", Environment.UserDomainName);
-        }
-
-        [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
-        public void UserDomainNameIsCorrectOnNonUap()
-        {
-            // Highly unlikely anyone is using domain with this name
-            Assert.NotEqual("Windows Domain", Environment.UserDomainName);
+            if (PlatformDetection.IsInAppContainer)
+            {
+                Assert.Equal("Windows Domain", Environment.UserDomainName);
+            }
+            else
+            {
+                // Highly unlikely anyone is using domain with this name
+                Assert.NotEqual("Windows Domain", Environment.UserDomainName);
+            }
         }
 
         [Fact]
@@ -39,7 +38,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)]
         public void UserDomainName_MatchesEnvironment_Windows()
         {
index 31abd73..74e79da 100644 (file)
@@ -9,18 +9,17 @@ namespace System.Tests
     public class EnvironmentUserName
     {
         [Fact]
-        [SkipOnTargetFramework(~TargetFrameworkMonikers.Uap)]
-        public void UserNameIsHardCodedOnUap()
+        public void UserNameIsCorrect()
         {
-            Assert.Equal("Windows User", Environment.UserName);
-        }
-
-        [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
-        public void UserNameIsCorrectOnNonUap()
-        {
-            // Highly unlikely anyone is using user with this name
-            Assert.NotEqual("Windows User", Environment.UserName);
+            if (PlatformDetection.IsInAppContainer)
+            {
+                Assert.Equal("Windows User", Environment.UserName);
+            }
+            else
+            {
+                // Highly unlikely anyone is using user with this name
+                Assert.NotEqual("Windows User", Environment.UserName);
+            }
         }
 
         [Fact]
@@ -32,7 +31,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         [PlatformSpecific(TestPlatforms.Windows)]
         public void UserName_MatchesEnvironment_Windows()
         {
index 7c60d8f..ea33c8e 100644 (file)
@@ -185,7 +185,6 @@ namespace System.Tests
         [Trait(XunitConstants.Category, XunitConstants.IgnoreForCI)] // fail fast crashes the process
         [OuterLoop]
         [Fact]
-        [ActiveIssue("21404", TargetFrameworkMonikers.Uap)]
         public void FailFast_ExpectFailureExitCode()
         {
             using (RemoteInvokeHandle handle = RemoteExecutor.Invoke(() => Environment.FailFast("message")))
@@ -206,7 +205,6 @@ namespace System.Tests
         }
 
         [Trait(XunitConstants.Category, XunitConstants.IgnoreForCI)] // fail fast crashes the process
-        [ActiveIssue("29869", TargetFrameworkMonikers.Uap)]
         [Fact]
         public void FailFast_ExceptionStackTrace_ArgumentException()
         {
@@ -228,7 +226,6 @@ namespace System.Tests
         }
 
         [Trait(XunitConstants.Category, XunitConstants.IgnoreForCI)] // fail fast crashes the process
-        [ActiveIssue("29869", TargetFrameworkMonikers.Uap)]
         [Fact]
         public void FailFast_ExceptionStackTrace_StackOverflowException()
         {
@@ -251,7 +248,6 @@ namespace System.Tests
         }
 
         [Trait(XunitConstants.Category, XunitConstants.IgnoreForCI)] // fail fast crashes the process
-        [ActiveIssue("29869", TargetFrameworkMonikers.Uap)]
         [Fact]
         public void FailFast_ExceptionStackTrace_InnerException()
         {
@@ -372,7 +368,7 @@ namespace System.Tests
         [InlineData(Environment.SpecialFolder.System)]
         [InlineData(Environment.SpecialFolder.SystemX86)]
         [InlineData(Environment.SpecialFolder.Windows)]
-        public void GetFolderPath_UapExistAndAccessible(Environment.SpecialFolder folder)
+        public void GetFolderPath_UWP_ExistAndAccessible(Environment.SpecialFolder folder)
         {
             string knownFolder = Environment.GetFolderPath(folder);
             Assert.NotEmpty(knownFolder);
@@ -399,7 +395,7 @@ namespace System.Tests
         [InlineData(Environment.SpecialFolder.CommonApplicationData)]
         [InlineData(Environment.SpecialFolder.Desktop)]
         [InlineData(Environment.SpecialFolder.Favorites)]
-        public void GetFolderPath_UapNotEmpty(Environment.SpecialFolder folder)
+        public void GetFolderPath_UWP_NotEmpty(Environment.SpecialFolder folder)
         {
             // The majority of the paths here cannot be accessed from an appcontainer
             string knownFolder = Environment.GetFolderPath(folder);
@@ -470,7 +466,6 @@ namespace System.Tests
         [InlineData(Environment.SpecialFolder.SystemX86)]
         [InlineData(Environment.SpecialFolder.Windows)]
         [PlatformSpecific(TestPlatforms.Windows)]  // Tests OS-specific environment
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)] // Don't run on UAP
         public unsafe void GetFolderPath_Windows(Environment.SpecialFolder folder)
         {
             string knownFolder = Environment.GetFolderPath(folder);
index 8360466..aa5f505 100644 (file)
@@ -12,7 +12,6 @@ namespace System.Tests
 {
     public class UnloadingAndProcessExitTests : FileCleanupTestBase
     {
-        [ActiveIssue("https://github.com/dotnet/corefx/issues/23307", TargetFrameworkMonikers.Uap)]
         [Fact]
         public void UnloadingEventMustHappenBeforeProcessExitEvent()
         {
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 50a9eee..bc1b983 100644 (file)
@@ -4,7 +4,7 @@
     <!-- To be consistent between netfx and others we override the SDK behavior which defaults to .dll -->
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="TestApp.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 7a2d992..4fe910d 100644 (file)
@@ -4,7 +4,7 @@
     <!-- To be consistent between netfx and others we override the SDK behavior which defaults to .dll -->
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Program.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b5fe813..e4b6cc8 100644 (file)
@@ -4,7 +4,7 @@
     <!-- To be consistent between netfx and others we override the SDK behavior which defaults to .dll -->
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="VoidMainWithExitCodeApp.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2e22768..041effb 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.Handles.Forwards.cs" />
index cdeb74f..89d6ac0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 859b8c9..c715bdc 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Runtime.Handles</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Runtime" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 396a860..b207833 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 21df61f..bf938c6 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 62c2d3f..6a2ac93 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.InteropServices.RuntimeInformation.cs" />
index 725cbcc..1e8dd5d 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
     </BuildConfigurations>
index 7b7cc93..328f666 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <RootNamespace>System.Runtime.InteropServices</RootNamespace>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Runtime\InteropServices\RuntimeInformation\RuntimeInformation.cs" />
@@ -30,7 +30,7 @@
       <Link>Common\Interop\Unix\Interop.Libraries.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsWindows)' == 'true' and '$(TargetGroup)' != 'uap'">
+  <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\Interop\Windows\NtDll\Interop.RtlGetVersion.cs">
       <Link>Common\Interop\Windows\NtDll\Interop.RtlGetVersion.cs</Link>
     </Compile>
index 4c4b700..86674c3 100644 (file)
@@ -25,11 +25,7 @@ namespace System.Runtime.InteropServices
             {
                 if (null == s_osDescription)
                 {
-#if uap // all these are subject to WACK
-                    s_osDescription = "Microsoft Windows";
-#else
                     s_osDescription = Interop.NtDll.RtlGetVersion();
-#endif
                 }
 
                 return s_osDescription;
index a9554a7..a616e79 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CheckArchitectureTests.cs" />
index dd42985..359b316 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f045e05..b2ccfd9 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 274ba6b..ac4c08c 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 7b95760..042b4b9 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Runtime.InteropServices.WindowsRuntime</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 274ba6b..ac4c08c 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b456286..f34a4f1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index af76de7..1d4dc62 100644 (file)
@@ -4,7 +4,7 @@
          to its own obsolete API. -->
     <NoWarn>$(NoWarn);618</NoWarn>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 3f19907..adabcc0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 8b3a033..f7ab49c 100644 (file)
@@ -5,7 +5,7 @@
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <Nullable>enable</Nullable>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonPath)\CoreLib\System\HResults.cs">
index 033798d..c237ccf 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2927463..6b3fccd 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Runtime\InteropServices\Marshal\StringMarshalingTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\StructureToPtrTests.cs" />
     <Compile Include="System\Runtime\InteropServices\Marshal\UnsafeAddrOfPinnedArrayElementTests.cs" />
-    <Compile Condition="'$(TargetsUap)' != 'true'" Include="System\Runtime\InteropServices\PrimaryInteropAssemblyAttributeTests.cs" />
+    <Compile Include="System\Runtime\InteropServices\PrimaryInteropAssemblyAttributeTests.cs" />
     <Compile Include="System\Runtime\InteropServices\ProgIdAttributeTests.cs" />
     <Compile Include="System\Runtime\InteropServices\RuntimeEnvironmentTests.cs" />
     <Compile Include="System\Runtime\InteropServices\SafeBufferTests.cs" />
index d950da8..fc73fe7 100644 (file)
@@ -10,7 +10,6 @@ using Xunit;
 namespace System.Runtime.InteropServices.Tests
 {
 #pragma warning disable 0618 // CompareEventInfo is marked as Obsolete.
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
     public partial class ComAwareEventInfoTests
     {
         [ComEventInterface(typeof(DispAttributeClass), typeof(int))]
index e61f501..c24508e 100644 (file)
@@ -30,7 +30,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [MemberData(nameof(ChangeWrapperHandleStrength_ComObject_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void ChangeWrapperHandleStrength_ComObject_ReturnsExpected(object o)
         {
             ChangeWrapperHandleStrength_ValidObject_Success(o);
index 7262000..e8b2c13 100644 (file)
@@ -10,7 +10,6 @@ namespace System.Runtime.InteropServices.Tests
     public partial class CreateWrapperOfTypeTests
     {
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void CreateWrapperOfType_SameType_ReturnsSameInstance()
         {
             var comObject = new ComImportObject();
@@ -29,7 +28,6 @@ namespace System.Runtime.InteropServices.Tests
         [InlineData(typeof(int))]
         [InlineData(typeof(GenericSubComImportObject<string>))]
         [InlineData(typeof(GenericSubComImportObject<>))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void CreateWrapperOfType_InvalidComObjectType_ThrowsArgumentException(Type t)
         {
             AssertExtensions.Throws<ArgumentException>("t", () => Marshal.CreateWrapperOfType(new ComImportObject(), t));
index 32e8094..1d02273 100644 (file)
@@ -10,7 +10,6 @@ namespace System.Runtime.InteropServices.Tests
     public partial class FinalReleaseComObjectTests
     {
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void FinalReleaseComObject_ValidComObject_Success()
         {
             var comObject = new ComImportObject();
index d460483..04bfba4 100644 (file)
@@ -10,7 +10,6 @@ namespace System.Runtime.InteropServices.Tests
     public partial class GetComObjectDataTests
     {
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void GetComObjectData_ValidObject_ReturnsExpected()
         {
             var comObject = new ComImportObject();
index 5f5a838..b465696 100644 (file)
@@ -27,7 +27,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [MemberData(nameof(GetEndComSlot_TestData))]
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void GetEndComSlot_Windows_ReturnsExpected(Type type, int expected)
         {
             Assert.Equal(expected, Marshal.GetEndComSlot(type));
index 4a70f60..c581e83 100644 (file)
@@ -13,7 +13,6 @@ using Xunit;
 
 namespace System.Runtime.InteropServices.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "GetNativeVariantForObject() not supported on UWP")]
     public partial class GetNativeVariantForObjectTests
     {
         public static IEnumerable<object[]> GetNativeVariantForObject_RoundtrippingPrimitives_TestData()
index 9b230bc..774685e 100644 (file)
@@ -30,7 +30,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [MemberData(nameof(GetObjectForIUnknown_ComObject_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void GetObjectForIUnknown_ComObject_ReturnsExpected(object o)
         {
             GetObjectForIUnknown_ValidPointer_ReturnsExpected(o);
index 86f2900..5ce76ea 100644 (file)
@@ -10,7 +10,6 @@ using Xunit;
 
 namespace System.Runtime.InteropServices.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Marshalling between VARIANT and Object is not supported in AppX")]
     public class GetObjectForNativeVariantTests
     {
         [StructLayout(LayoutKind.Sequential)]
index 8de201f..1a0af84 100644 (file)
@@ -6,7 +6,6 @@ using Xunit;
 
 namespace System.Runtime.InteropServices.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Marshalling between VARIANT and Object is not supported in AppX")]
     public class GetObjectsForNativeVariantsTests
     {
         [StructLayout(LayoutKind.Sequential)]
index fc7515d..bb4addb 100644 (file)
@@ -44,7 +44,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [MemberData(nameof(GetStartComSlot_TestData))]
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void GetStartComSlot_Windows_ReturnsExpected(Type type, int expected)
         {
             Assert.Equal(expected, Marshal.GetStartComSlot(type));
index f56a3bd..f57b702 100644 (file)
@@ -22,7 +22,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void GetTypeFromCLSID_CLSIDExists_ReturnsExpected()
         {
             var guid = new Guid("927971f5-0939-11d1-8be1-00c04fd8d503");
index d20880b..db9a9fb 100644 (file)
@@ -36,7 +36,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [MemberData(nameof(GetTypedObjectForIUnknown_ComObject_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void GetTypedObjectForIUnknown_ComObject_ReturnsExpected(object o, Type type)
         {
             GetTypedObjectForIUnknown_ValidPointer_ReturnsExpected(o, type);
@@ -50,7 +49,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [MemberData(nameof(GetTypedObjectForIUnknownTypeUncastableComObject_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void GetTypedObjectForIUnknown_UncastableComObject_ThrowsInvalidCastException(object o, Type type)
         {
             GetTypedObjectForIUnknown_UncastableObject_ThrowsInvalidCastException(o, type);
index 929cdf4..a41e7c6 100644 (file)
@@ -30,7 +30,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [MemberData(nameof(GetUniqueObjectForIUnknown_ComObject_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void GetUniqueObjectForIUnknown_ComObject_ReturnsExpected(object o)
         {
             IntPtr ptr = Marshal.GetIUnknownForObject(o);
index 314fff4..5bb58d5 100644 (file)
@@ -22,7 +22,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [MemberData(nameof(IsComObject_Windows_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void IsComObject_Windows_ReturnsExpected(object value, bool expected)
         {
             Assert.Equal(expected, Marshal.IsComObject(value));
index 31a92d1..ca51a9e 100644 (file)
@@ -29,7 +29,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [MemberData(nameof(IsTypeVisibleFromCom_Windows_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void IsTypeVisibleFromCom_Windows_ReturnsExpected(Type value, bool expected)
         {
             Assert.Equal(expected, Marshal.IsTypeVisibleFromCom(value));
index 70d9c7f..026ac38 100644 (file)
@@ -44,7 +44,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [MemberData(nameof(QueryInterface_ValidComObjectInterface_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void QueryInterface_ValidComObjectInterface_Success(object o, string iidString)
         {
             QueryInterface_ValidInterface_Success(o, iidString);
@@ -83,7 +82,6 @@ namespace System.Runtime.InteropServices.Tests
 
         [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
         [MemberData(nameof(QueryInterface_NoSuchComObjectInterface_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void QueryInterface_NoSuchComObjectInterface_Success(object o, string iidString)
         {
             QueryInterface_NoSuchInterface_Success(o, iidString);
index 083b986..e1c72ee 100644 (file)
@@ -82,7 +82,6 @@ namespace System.Runtime.InteropServices.Tests
         [Theory]
         [MemberData(nameof(QueryInterface_ValidInterface_TestData))]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void QueryInterface_ValidInterface_Success(object o, string guid)
         {
             IntPtr ptr = Marshal.GetIUnknownForObject(o);
index 496d116..6d27258 100644 (file)
@@ -10,7 +10,6 @@ namespace System.Runtime.InteropServices.Tests
     public partial class ReleaseComObjectTests
     {
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void ReleaseComObject_ValidComObject_Success()
         {
             var comObject = new ComImportObject();
index 82c12c8..aa62659 100644 (file)
@@ -10,7 +10,6 @@ namespace System.Runtime.InteropServices.Tests
     public partial class SetComObjectDataTests
     {
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void SetComObjectData_NonNullValue_Sucesss()
         {
             var comObject = new ComImportObject();
@@ -26,7 +25,6 @@ namespace System.Runtime.InteropServices.Tests
         }
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Not approved COM object for app")]
         public void SetComObjectData_NullValue_Sucesss()
         {
             var comObject = new ComImportObject();
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 66c99a8..fc45953 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <!-- CS0067: unused event, reference assembly does not care -->
     <NoWarn>$(NoWarn);0067</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 3f19907..adabcc0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 6b8d96e..7af7d86 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Runtime.Loader</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index ad97fa8..ee16a95 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index d15949a..56bf0dc 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ContextualReflectionDependency.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 8d5f110..aa70e21 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
     <!-- LoadInDefaultContext test relies on no deps.json -->
     <GenerateDependencyFile>false</GenerateDependencyFile>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3eeb39f..d9e27a3 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 1553425..9dcfede 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ReferencedClassLib.cs" />
index 1fe3355..29b7e3a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ReferencedClassLibNeutralIsSatellite.cs" />
index 1fd72ff..fdb977e 100644 (file)
@@ -13,7 +13,6 @@ using ReferencedClassLibNeutralIsSatellite;
 
 namespace System.Runtime.Loader.Tests
 {
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UWP does not use satellite assemblies in most cases")]
     public class SatelliteAssembliesTestsFixture
     {
         public Dictionary<string, AssemblyLoadContext> contexts = new Dictionary<string, AssemblyLoadContext>();
@@ -48,7 +47,6 @@ namespace System.Runtime.Loader.Tests
         }
     }
 
-    [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "UWP does not use satellite assemblies in most cases")]
     public class SatelliteAssembliesTests : IClassFixture<SatelliteAssembliesTestsFixture>
     {
         Dictionary<string, AssemblyLoadContext> contexts;
index 7e2462b..99a4863 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <!-- Test expects an un-signed assembly -->
     <SignAssembly>false</SignAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="TestClass.cs" />
index 896836b..60bc7b6 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <RootNamespace>System.Runtime.Loader.Tests</RootNamespace>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
     <!-- Some tests rely on no deps.json file being present. -->
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c786c80..0ba4a6d 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.Numerics.cs" />
index cdeb74f..89d6ac0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 9713618..3c41b57 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>System.Numerics</RootNamespace>
     <AssemblyName>System.Runtime.Numerics</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Numerics\BigIntegerCalculator.AddSub.cs" />
index 18dd386..2be886c 100644 (file)
@@ -190,99 +190,96 @@ namespace System.Numerics.Tests
         [Fact]
         public static void RunRegionSpecificStandardFormatToStringTests()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            CultureInfo[] cultures = new CultureInfo[] { new CultureInfo("en-US"), new CultureInfo("en-GB"), new CultureInfo("fr-CA"),
+                                                            new CultureInfo("ar-SA"), new CultureInfo("de-DE"), new CultureInfo("he-IL"),
+                                                            new CultureInfo("ru-RU"), new CultureInfo("zh-CN") };
+            foreach (CultureInfo culture in cultures)
             {
-                CultureInfo[] cultures = new CultureInfo[] { new CultureInfo("en-US"), new CultureInfo("en-GB"), new CultureInfo("fr-CA"),
-                                                             new CultureInfo("ar-SA"), new CultureInfo("de-DE"), new CultureInfo("he-IL"),
-                                                             new CultureInfo("ru-RU"), new CultureInfo("zh-CN") };
-                foreach (CultureInfo culture in cultures)
+                // Set CurrentCulture to simulate different locales
+                using (new ThreadCultureChange(culture))
                 {
-                    // Set CurrentCulture to simulate different locales
-                    using (new ThreadCultureChange(culture))
-                    {
-                        // Currency
-                        RunStandardFormatToStringTests(s_random, "C", culture.NumberFormat.NegativeSign, culture.NumberFormat.CurrencyDecimalDigits, CurrencyFormatter);
-                        RunStandardFormatToStringTests(s_random, "c0", culture.NumberFormat.NegativeSign, 0, CurrencyFormatter);
-                        RunStandardFormatToStringTests(s_random, "C1", culture.NumberFormat.NegativeSign, 1, CurrencyFormatter);
-                        RunStandardFormatToStringTests(s_random, "c2", culture.NumberFormat.NegativeSign, 2, CurrencyFormatter);
-                        RunStandardFormatToStringTests(s_random, "C5", culture.NumberFormat.NegativeSign, 5, CurrencyFormatter);
-                        RunStandardFormatToStringTests(s_random, "c33", culture.NumberFormat.NegativeSign, 33, CurrencyFormatter);
-                        RunStandardFormatToStringTests(s_random, "C99", culture.NumberFormat.NegativeSign, 99, CurrencyFormatter);
-
-                        // Decimal
-                        RunStandardFormatToStringTests(s_random, "D", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "d0", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "D1", culture.NumberFormat.NegativeSign, 1, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "d2", culture.NumberFormat.NegativeSign, 2, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "D5", culture.NumberFormat.NegativeSign, 5, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "d33", culture.NumberFormat.NegativeSign, 33, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "D99", culture.NumberFormat.NegativeSign, 99, DecimalFormatter);
-
-                        // Exponential (note: negative precision means lower case e)
-                        RunStandardFormatToStringTests(s_random, "E", culture.NumberFormat.NegativeSign, 6, ExponentialFormatter);
-                        RunStandardFormatToStringTests(s_random, "E0", culture.NumberFormat.NegativeSign, 0, ExponentialFormatter);
-                        RunStandardFormatToStringTests(s_random, "E1", culture.NumberFormat.NegativeSign, 1, ExponentialFormatter);
-                        RunStandardFormatToStringTests(s_random, "e2", culture.NumberFormat.NegativeSign, -2, ExponentialFormatter);
-                        RunStandardFormatToStringTests(s_random, "E5", culture.NumberFormat.NegativeSign, 5, ExponentialFormatter);
-                        RunStandardFormatToStringTests(s_random, "e33", culture.NumberFormat.NegativeSign, -33, ExponentialFormatter);
-                        RunStandardFormatToStringTests(s_random, "E99", culture.NumberFormat.NegativeSign, 99, ExponentialFormatter);
-
-                        // Fixed-Point
-                        RunStandardFormatToStringTests(s_random, "f", culture.NumberFormat.NegativeSign, culture.NumberFormat.NumberDecimalDigits, FixedFormatter);
-                        RunStandardFormatToStringTests(s_random, "F0", culture.NumberFormat.NegativeSign, 0, FixedFormatter);
-                        RunStandardFormatToStringTests(s_random, "f1", culture.NumberFormat.NegativeSign, 1, FixedFormatter);
-                        RunStandardFormatToStringTests(s_random, "F2", culture.NumberFormat.NegativeSign, 2, FixedFormatter);
-                        RunStandardFormatToStringTests(s_random, "f5", culture.NumberFormat.NegativeSign, 5, FixedFormatter);
-                        RunStandardFormatToStringTests(s_random, "F33", culture.NumberFormat.NegativeSign, 33, FixedFormatter);
-                        RunStandardFormatToStringTests(s_random, "f99", culture.NumberFormat.NegativeSign, 99, FixedFormatter);
-
-                        // General
-                        RunStandardFormatToStringTests(s_random, "g", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "G0", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "G1", culture.NumberFormat.NegativeSign, 1, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "G2", culture.NumberFormat.NegativeSign, 2, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "g5", culture.NumberFormat.NegativeSign, 5, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "G33", culture.NumberFormat.NegativeSign, 33, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "g99", culture.NumberFormat.NegativeSign, 99, DecimalFormatter);
-
-                        // Number
-                        RunStandardFormatToStringTests(s_random, "n", culture.NumberFormat.NegativeSign, culture.NumberFormat.NumberDecimalDigits, NumberFormatter);
-                        RunStandardFormatToStringTests(s_random, "N0", culture.NumberFormat.NegativeSign, 0, NumberFormatter);
-                        RunStandardFormatToStringTests(s_random, "N1", culture.NumberFormat.NegativeSign, 1, NumberFormatter);
-                        RunStandardFormatToStringTests(s_random, "N2", culture.NumberFormat.NegativeSign, 2, NumberFormatter);
-                        RunStandardFormatToStringTests(s_random, "n5", culture.NumberFormat.NegativeSign, 5, NumberFormatter);
-                        RunStandardFormatToStringTests(s_random, "N33", culture.NumberFormat.NegativeSign, 33, NumberFormatter);
-                        RunStandardFormatToStringTests(s_random, "n99", culture.NumberFormat.NegativeSign, 99, NumberFormatter);
-
-                        // Percent
-                        RunStandardFormatToStringTests(s_random, "p", culture.NumberFormat.NegativeSign, culture.NumberFormat.PercentDecimalDigits, PercentFormatter);
-                        RunStandardFormatToStringTests(s_random, "P0", culture.NumberFormat.NegativeSign, 0, PercentFormatter);
-                        RunStandardFormatToStringTests(s_random, "P1", culture.NumberFormat.NegativeSign, 1, PercentFormatter);
-                        RunStandardFormatToStringTests(s_random, "P2", culture.NumberFormat.NegativeSign, 2, PercentFormatter);
-                        RunStandardFormatToStringTests(s_random, "p5", culture.NumberFormat.NegativeSign, 5, PercentFormatter);
-                        RunStandardFormatToStringTests(s_random, "P33", culture.NumberFormat.NegativeSign, 33, PercentFormatter);
-                        RunStandardFormatToStringTests(s_random, "p99", culture.NumberFormat.NegativeSign, 99, PercentFormatter);
-
-                        // Hex
-                        RunStandardFormatToStringTests(s_random, "X", culture.NumberFormat.NegativeSign, 0, HexFormatter);
-                        RunStandardFormatToStringTests(s_random, "X0", culture.NumberFormat.NegativeSign, 0, HexFormatter);
-                        RunStandardFormatToStringTests(s_random, "x1", culture.NumberFormat.NegativeSign, -1, HexFormatter);
-                        RunStandardFormatToStringTests(s_random, "X2", culture.NumberFormat.NegativeSign, 2, HexFormatter);
-                        RunStandardFormatToStringTests(s_random, "x5", culture.NumberFormat.NegativeSign, -5, HexFormatter);
-                        RunStandardFormatToStringTests(s_random, "X33", culture.NumberFormat.NegativeSign, 33, HexFormatter);
-                        RunStandardFormatToStringTests(s_random, "x99", culture.NumberFormat.NegativeSign, -99, HexFormatter);
-
-                        // RoundTrip
-                        RunStandardFormatToStringTests(s_random, "R", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "R0", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "r1", culture.NumberFormat.NegativeSign, 1, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "R2", culture.NumberFormat.NegativeSign, 2, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "r5", culture.NumberFormat.NegativeSign, 5, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "R33", culture.NumberFormat.NegativeSign, 33, DecimalFormatter);
-                        RunStandardFormatToStringTests(s_random, "r99", culture.NumberFormat.NegativeSign, 99, DecimalFormatter);
-                    }
+                    // Currency
+                    RunStandardFormatToStringTests(s_random, "C", culture.NumberFormat.NegativeSign, culture.NumberFormat.CurrencyDecimalDigits, CurrencyFormatter);
+                    RunStandardFormatToStringTests(s_random, "c0", culture.NumberFormat.NegativeSign, 0, CurrencyFormatter);
+                    RunStandardFormatToStringTests(s_random, "C1", culture.NumberFormat.NegativeSign, 1, CurrencyFormatter);
+                    RunStandardFormatToStringTests(s_random, "c2", culture.NumberFormat.NegativeSign, 2, CurrencyFormatter);
+                    RunStandardFormatToStringTests(s_random, "C5", culture.NumberFormat.NegativeSign, 5, CurrencyFormatter);
+                    RunStandardFormatToStringTests(s_random, "c33", culture.NumberFormat.NegativeSign, 33, CurrencyFormatter);
+                    RunStandardFormatToStringTests(s_random, "C99", culture.NumberFormat.NegativeSign, 99, CurrencyFormatter);
+
+                    // Decimal
+                    RunStandardFormatToStringTests(s_random, "D", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "d0", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "D1", culture.NumberFormat.NegativeSign, 1, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "d2", culture.NumberFormat.NegativeSign, 2, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "D5", culture.NumberFormat.NegativeSign, 5, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "d33", culture.NumberFormat.NegativeSign, 33, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "D99", culture.NumberFormat.NegativeSign, 99, DecimalFormatter);
+
+                    // Exponential (note: negative precision means lower case e)
+                    RunStandardFormatToStringTests(s_random, "E", culture.NumberFormat.NegativeSign, 6, ExponentialFormatter);
+                    RunStandardFormatToStringTests(s_random, "E0", culture.NumberFormat.NegativeSign, 0, ExponentialFormatter);
+                    RunStandardFormatToStringTests(s_random, "E1", culture.NumberFormat.NegativeSign, 1, ExponentialFormatter);
+                    RunStandardFormatToStringTests(s_random, "e2", culture.NumberFormat.NegativeSign, -2, ExponentialFormatter);
+                    RunStandardFormatToStringTests(s_random, "E5", culture.NumberFormat.NegativeSign, 5, ExponentialFormatter);
+                    RunStandardFormatToStringTests(s_random, "e33", culture.NumberFormat.NegativeSign, -33, ExponentialFormatter);
+                    RunStandardFormatToStringTests(s_random, "E99", culture.NumberFormat.NegativeSign, 99, ExponentialFormatter);
+
+                    // Fixed-Point
+                    RunStandardFormatToStringTests(s_random, "f", culture.NumberFormat.NegativeSign, culture.NumberFormat.NumberDecimalDigits, FixedFormatter);
+                    RunStandardFormatToStringTests(s_random, "F0", culture.NumberFormat.NegativeSign, 0, FixedFormatter);
+                    RunStandardFormatToStringTests(s_random, "f1", culture.NumberFormat.NegativeSign, 1, FixedFormatter);
+                    RunStandardFormatToStringTests(s_random, "F2", culture.NumberFormat.NegativeSign, 2, FixedFormatter);
+                    RunStandardFormatToStringTests(s_random, "f5", culture.NumberFormat.NegativeSign, 5, FixedFormatter);
+                    RunStandardFormatToStringTests(s_random, "F33", culture.NumberFormat.NegativeSign, 33, FixedFormatter);
+                    RunStandardFormatToStringTests(s_random, "f99", culture.NumberFormat.NegativeSign, 99, FixedFormatter);
+
+                    // General
+                    RunStandardFormatToStringTests(s_random, "g", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "G0", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "G1", culture.NumberFormat.NegativeSign, 1, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "G2", culture.NumberFormat.NegativeSign, 2, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "g5", culture.NumberFormat.NegativeSign, 5, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "G33", culture.NumberFormat.NegativeSign, 33, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "g99", culture.NumberFormat.NegativeSign, 99, DecimalFormatter);
+
+                    // Number
+                    RunStandardFormatToStringTests(s_random, "n", culture.NumberFormat.NegativeSign, culture.NumberFormat.NumberDecimalDigits, NumberFormatter);
+                    RunStandardFormatToStringTests(s_random, "N0", culture.NumberFormat.NegativeSign, 0, NumberFormatter);
+                    RunStandardFormatToStringTests(s_random, "N1", culture.NumberFormat.NegativeSign, 1, NumberFormatter);
+                    RunStandardFormatToStringTests(s_random, "N2", culture.NumberFormat.NegativeSign, 2, NumberFormatter);
+                    RunStandardFormatToStringTests(s_random, "n5", culture.NumberFormat.NegativeSign, 5, NumberFormatter);
+                    RunStandardFormatToStringTests(s_random, "N33", culture.NumberFormat.NegativeSign, 33, NumberFormatter);
+                    RunStandardFormatToStringTests(s_random, "n99", culture.NumberFormat.NegativeSign, 99, NumberFormatter);
+
+                    // Percent
+                    RunStandardFormatToStringTests(s_random, "p", culture.NumberFormat.NegativeSign, culture.NumberFormat.PercentDecimalDigits, PercentFormatter);
+                    RunStandardFormatToStringTests(s_random, "P0", culture.NumberFormat.NegativeSign, 0, PercentFormatter);
+                    RunStandardFormatToStringTests(s_random, "P1", culture.NumberFormat.NegativeSign, 1, PercentFormatter);
+                    RunStandardFormatToStringTests(s_random, "P2", culture.NumberFormat.NegativeSign, 2, PercentFormatter);
+                    RunStandardFormatToStringTests(s_random, "p5", culture.NumberFormat.NegativeSign, 5, PercentFormatter);
+                    RunStandardFormatToStringTests(s_random, "P33", culture.NumberFormat.NegativeSign, 33, PercentFormatter);
+                    RunStandardFormatToStringTests(s_random, "p99", culture.NumberFormat.NegativeSign, 99, PercentFormatter);
+
+                    // Hex
+                    RunStandardFormatToStringTests(s_random, "X", culture.NumberFormat.NegativeSign, 0, HexFormatter);
+                    RunStandardFormatToStringTests(s_random, "X0", culture.NumberFormat.NegativeSign, 0, HexFormatter);
+                    RunStandardFormatToStringTests(s_random, "x1", culture.NumberFormat.NegativeSign, -1, HexFormatter);
+                    RunStandardFormatToStringTests(s_random, "X2", culture.NumberFormat.NegativeSign, 2, HexFormatter);
+                    RunStandardFormatToStringTests(s_random, "x5", culture.NumberFormat.NegativeSign, -5, HexFormatter);
+                    RunStandardFormatToStringTests(s_random, "X33", culture.NumberFormat.NegativeSign, 33, HexFormatter);
+                    RunStandardFormatToStringTests(s_random, "x99", culture.NumberFormat.NegativeSign, -99, HexFormatter);
+
+                    // RoundTrip
+                    RunStandardFormatToStringTests(s_random, "R", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "R0", culture.NumberFormat.NegativeSign, 0, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "r1", culture.NumberFormat.NegativeSign, 1, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "R2", culture.NumberFormat.NegativeSign, 2, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "r5", culture.NumberFormat.NegativeSign, 5, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "R33", culture.NumberFormat.NegativeSign, 33, DecimalFormatter);
+                    RunStandardFormatToStringTests(s_random, "r99", culture.NumberFormat.NegativeSign, 99, DecimalFormatter);
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
index 18ae3b1..8b184c2 100644 (file)
@@ -37,53 +37,50 @@ namespace System.Numerics.Tests
         [OuterLoop]
         public static void RunParseToStringTests(CultureInfo culture)
         {
-            RemoteExecutorForUap.Invoke((cultureName) =>
-            {
-                byte[] tempByteArray1 = new byte[0];
-                using (new ThreadCultureChange(cultureName))
+            byte[] tempByteArray1 = new byte[0];
+            using (new ThreadCultureChange(culture))
+            {
+                //default style
+                VerifyDefaultParse(s_random);
+
+                //single NumberStyles
+                VerifyNumberStyles(NumberStyles.None, s_random);
+                VerifyNumberStyles(NumberStyles.AllowLeadingWhite, s_random);
+                VerifyNumberStyles(NumberStyles.AllowTrailingWhite, s_random);
+                VerifyNumberStyles(NumberStyles.AllowLeadingSign, s_random);
+                VerifyNumberStyles(NumberStyles.AllowTrailingSign, s_random);
+                VerifyNumberStyles(NumberStyles.AllowParentheses, s_random);
+                VerifyNumberStyles(NumberStyles.AllowDecimalPoint, s_random);
+                VerifyNumberStyles(NumberStyles.AllowThousands, s_random);
+                VerifyNumberStyles(NumberStyles.AllowExponent, s_random);
+                VerifyNumberStyles(NumberStyles.AllowCurrencySymbol, s_random);
+                VerifyNumberStyles(NumberStyles.AllowHexSpecifier, s_random);
+
+                //composite NumberStyles
+                VerifyNumberStyles(NumberStyles.Integer, s_random);
+                VerifyNumberStyles(NumberStyles.HexNumber, s_random);
+                VerifyNumberStyles(NumberStyles.Number, s_random);
+                VerifyNumberStyles(NumberStyles.Float, s_random);
+                VerifyNumberStyles(NumberStyles.Currency, s_random);
+                VerifyNumberStyles(NumberStyles.Any, s_random);
+
+                //invalid number style
+                // ******InvalidNumberStyles
+                NumberStyles invalid = (NumberStyles)0x7c00;
+                AssertExtensions.Throws<ArgumentException>(null, () =>
                 {
-                    //default style
-                    VerifyDefaultParse(s_random);
-
-                    //single NumberStyles
-                    VerifyNumberStyles(NumberStyles.None, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowLeadingWhite, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowTrailingWhite, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowLeadingSign, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowTrailingSign, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowParentheses, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowDecimalPoint, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowThousands, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowExponent, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowCurrencySymbol, s_random);
-                    VerifyNumberStyles(NumberStyles.AllowHexSpecifier, s_random);
-
-                    //composite NumberStyles
-                    VerifyNumberStyles(NumberStyles.Integer, s_random);
-                    VerifyNumberStyles(NumberStyles.HexNumber, s_random);
-                    VerifyNumberStyles(NumberStyles.Number, s_random);
-                    VerifyNumberStyles(NumberStyles.Float, s_random);
-                    VerifyNumberStyles(NumberStyles.Currency, s_random);
-                    VerifyNumberStyles(NumberStyles.Any, s_random);
-
-                    //invalid number style
-                    // ******InvalidNumberStyles
-                    NumberStyles invalid = (NumberStyles)0x7c00;
-                    AssertExtensions.Throws<ArgumentException>(null, () =>
-                    {
-                        BigInteger.Parse("1", invalid).ToString("d");
-                    });
-                    AssertExtensions.Throws<ArgumentException>(null, () =>
-                    {
-                        BigInteger junk;
-                        BigInteger.TryParse("1", invalid, null, out junk);
-                        Assert.Equal("1", junk.ToString("d"));
-                    });
+                    BigInteger.Parse("1", invalid).ToString("d");
+                });
+                AssertExtensions.Throws<ArgumentException>(null, () =>
+                {
+                    BigInteger junk;
+                    BigInteger.TryParse("1", invalid, null, out junk);
+                    Assert.Equal("1", junk.ToString("d"));
+                });
 
-                    //FormatProvider tests
-                    RunFormatProviderParseStrings();
-                }
-            }, culture.ToString()).Dispose();
+                //FormatProvider tests
+                RunFormatProviderParseStrings();
+            }
         }
 
         private static void RunFormatProviderParseStrings()
index f74685e..a1eadd7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index a718ade..0010931 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="BigInteger\absolutevalue.cs" />
index 21df61f..bf938c6 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index d08d276..0acfc02 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.Serialization.Formatters.cs" />
index 9e5e175..bb2aad0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
       $(PackageConfigurations);
     </BuildConfigurations>
   </PropertyGroup>
index 4bfa918..c730b2b 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Runtime.Serialization.Formatters</AssemblyName>
     <RootNamespace>System.Runtime.Serialization.Formatters</RootNamespace>
     <NoWarn>$(NoWarn);CS1573</NoWarn>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.Serialization.Formatters.TypeForwards.cs" />
index 3e43f72..6f18266 100644 (file)
@@ -211,7 +211,7 @@ namespace System.Runtime.Serialization.Formatters.Tests
             yield return new object[] { PopulateException(imageFormatLimitationException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAF1TeXN0ZW0uUmVmbGVjdGlvbi5NZXRhZGF0YSwgVmVyc2lvbj0xLjQuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAADlTeXN0ZW0uUmVmbGVjdGlvbi5NZXRhZGF0YS5JbWFnZUZvcm1hdExpbWl0YXRpb25FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAAOVN5c3RlbS5SZWZsZWN0aW9uLk1ldGFkYXRhLkltYWdlRm9ybWF0TGltaXRhdGlvbkV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQsAAAACAAAAAgAAAAQGAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgwAAAAQU3lzdGVtLkV4Y2VwdGlvbgkEAAAACQ4AAAAJDwAAAAkHAAAACQgAAAAJCQAAAAAAAAAK6AMAAAkKAAAACgQLAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYUAAAABnNlY3JldAgBAQkVAAAAAQ4AAAAFAAAACRYAAAACAAAAAgAAAAEPAAAABgAAAAkMAAAABhgAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARUAAAALAAAACAgBAAAABhkAAAADb25lCgEWAAAACwAAAAkUAAAACAEBCRsAAAABGwAAAAsAAAAICAEAAAAJGQAAAAoL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAF1TeXN0ZW0uUmVmbGVjdGlvbi5NZXRhZGF0YSwgVmVyc2lvbj0xLjQuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAADlTeXN0ZW0uUmVmbGVjdGlvbi5NZXRhZGF0YS5JbWFnZUZvcm1hdExpbWl0YXRpb25FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAAOVN5c3RlbS5SZWZsZWN0aW9uLk1ldGFkYXRhLkltYWdlRm9ybWF0TGltaXRhdGlvbkV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQsAAAACAAAAAgAAAAQGAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgwAAAAQU3lzdGVtLkV4Y2VwdGlvbgkEAAAACQ4AAAAJDwAAAAkHAAAACQgAAAAJCQAAAAAAAAAK6AMAAAkKAAAACgQLAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYUAAAABnNlY3JldAgBAQkVAAAAAQ4AAAAFAAAACRYAAAACAAAAAgAAAAEPAAAABgAAAAkMAAAABhgAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARUAAAALAAAACAgBAAAABhkAAAADb25lCgEWAAAACwAAAAkUAAAACAEBCRsAAAABGwAAAAsAAAAICAEAAAAJGQAAAAoL", TargetFrameworkMoniker.netfx461) } };
 
             // EventLog is not supported in non Windows.
-            if (PlatformDetection.IsWindows && PlatformDetection.IsNetCore && !PlatformDetection.IsUap)
+            if (PlatformDetection.IsWindows && PlatformDetection.IsNetCore)
             {
                 var channelClosedException = new ChannelClosedException("message", exception);
                 yield return new object[] { PopulateException(channelClosedException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFxTeXN0ZW0uVGhyZWFkaW5nLkNoYW5uZWxzLCBWZXJzaW9uPTQuMC4xLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Y2M3YjEzZmZjZDJkZGQ1MQUBAAAAMFN5c3RlbS5UaHJlYWRpbmcuQ2hhbm5lbHMuQ2hhbm5lbENsb3NlZEV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAAAwU3lzdGVtLlRocmVhZGluZy5DaGFubmVscy5DaGFubmVsQ2xvc2VkRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20) } };
@@ -289,12 +289,8 @@ namespace System.Runtime.Serialization.Formatters.Tests
             var xsltException = new XsltException("message", exception);
             yield return new object[] { PopulateException(xsltException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE1TeXN0ZW0uWG1sLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQUBAAAAHFN5c3RlbS5YbWwuWHNsLlhzbHRFeGNlcHRpb24SAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwNyZXMEYXJncwlzb3VyY2VVcmkKbGluZU51bWJlcgxsaW5lUG9zaXRpb24HdmVyc2lvbgEBAwMBAQEAAQABBwECAgAAASlTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCCAgCAAAABgMAAAAcU3lzdGVtLlhtbC5Yc2wuWHNsdEV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBgsAAAADezB9CgoAAAAAAAAAAAYMAAAAAzIuMAQFAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkNAAAAAgAAAAIAAAAEBgAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYOAAAAEFN5c3RlbS5FeGNlcHRpb24GDwAAAAdtZXNzYWdlCRAAAAAJEQAAAAkHAAAACQgAAAAJCQAAAAAAAAAK6AMAAAkKAAAACgQNAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYWAAAABnNlY3JldAgBAQkXAAAAARAAAAAFAAAACRgAAAACAAAAAgAAAAERAAAABgAAAAkOAAAABhoAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARcAAAANAAAACAgBAAAABhsAAAADb25lCgEYAAAADQAAAAkWAAAACAEBCR0AAAABHQAAAA0AAAAICAEAAAAJGwAAAAoL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE1TeXN0ZW0uWG1sLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQUBAAAAHFN5c3RlbS5YbWwuWHNsLlhzbHRFeGNlcHRpb24SAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwNyZXMEYXJncwlzb3VyY2VVcmkKbGluZU51bWJlcgxsaW5lUG9zaXRpb24HdmVyc2lvbgEBAwMBAQEAAQABBwECAgAAASlTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCCAgCAAAABgMAAAAcU3lzdGVtLlhtbC5Yc2wuWHNsdEV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBgsAAAARWG1sX1VzZXJFeGNlcHRpb24KCgAAAAAAAAAABgwAAAADMi4wBAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQ0AAAACAAAAAgAAAAQGAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBg4AAAAQU3lzdGVtLkV4Y2VwdGlvbgYPAAAAB21lc3NhZ2UJEAAAAAkRAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBA0AAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhYAAAAGc2VjcmV0CAEBCRcAAAABEAAAAAUAAAAJGAAAAAIAAAACAAAAAREAAAAGAAAACQ4AAAAGGgAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFwAAAA0AAAAICAEAAAAGGwAAAANvbmUKARgAAAANAAAACRYAAAAIAQEJHQAAAAEdAAAADQAAAAgIAQAAAAkbAAAACgs=", TargetFrameworkMoniker.netfx461) } };
 
-            // Assembly load error with shims in uap/uapaot configuration. Issue #24916
-            if (!PlatformDetection.IsUap)
-            {
-                var validationException = new ValidationException("message", exception);
-                yield return new object[] { PopulateException(validationException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAGhTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGF0YUFubm90YXRpb25zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAOVN5c3RlbS5Db21wb25lbnRNb2RlbC5EYXRhQW5ub3RhdGlvbnMuVmFsaWRhdGlvbkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAAA5U3lzdGVtLkNvbXBvbmVudE1vZGVsLkRhdGFBbm5vdGF0aW9ucy5WYWxpZGF0aW9uRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAGhTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGF0YUFubm90YXRpb25zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAOVN5c3RlbS5Db21wb25lbnRNb2RlbC5EYXRhQW5ub3RhdGlvbnMuVmFsaWRhdGlvbkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAAA5U3lzdGVtLkNvbXBvbmVudE1vZGVsLkRhdGFBbm5vdGF0aW9ucy5WYWxpZGF0aW9uRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
-            }
+            var validationException = new ValidationException("message", exception);
+            yield return new object[] { PopulateException(validationException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAGhTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGF0YUFubm90YXRpb25zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAOVN5c3RlbS5Db21wb25lbnRNb2RlbC5EYXRhQW5ub3RhdGlvbnMuVmFsaWRhdGlvbkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAAA5U3lzdGVtLkNvbXBvbmVudE1vZGVsLkRhdGFBbm5vdGF0aW9ucy5WYWxpZGF0aW9uRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAGhTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGF0YUFubm90YXRpb25zLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAOVN5c3RlbS5Db21wb25lbnRNb2RlbC5EYXRhQW5ub3RhdGlvbnMuVmFsaWRhdGlvbkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAAA5U3lzdGVtLkNvbXBvbmVudE1vZGVsLkRhdGFBbm5vdGF0aW9ucy5WYWxpZGF0aW9uRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
 
             var constraintException = new ConstraintException("message", exception);
             yield return new object[] { PopulateException(constraintException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAB9TeXN0ZW0uRGF0YS5Db25zdHJhaW50RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAAB9TeXN0ZW0uRGF0YS5Db25zdHJhaW50RXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAB9TeXN0ZW0uRGF0YS5Db25zdHJhaW50RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAAB9TeXN0ZW0uRGF0YS5Db25zdHJhaW50RXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
@@ -302,13 +298,10 @@ namespace System.Runtime.Serialization.Formatters.Tests
             var contextMarshalException = new ContextMarshalException("message", exception);
             yield return new object[] { PopulateException(contextMarshalException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAB5TeXN0ZW0uQ29udGV4dE1hcnNoYWxFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAeU3lzdGVtLkNvbnRleHRNYXJzaGFsRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uCQMAAAAJDQAAAAkOAAAACQYAAAAJBwAAAAkIAAAAAAAAAAroAwAACQkAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAFAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAB5TeXN0ZW0uQ29udGV4dE1hcnNoYWxFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAeU3lzdGVtLkNvbnRleHRNYXJzaGFsRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uCQMAAAAJDQAAAAkOAAAACQYAAAAJBwAAAAkIAAAAAAAAAAroAwAACQkAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAFAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netfx461) } };
 
-            if (!PlatformDetection.IsUap)
-            {
-                Exception contractException = (Exception)Type.GetType("System.Diagnostics.Contracts.ContractException", true)
+            Exception contractException = (Exception)Type.GetType("System.Diagnostics.Contracts.ContractException", true)
                     .GetConstructor(BindingFlags.Public | BindingFlags.Instance, null, new Type[] { typeof(ContractFailureKind), typeof(string), typeof(string), typeof(string), typeof(Exception) }, null)
                     .Invoke(new object[] { ContractFailureKind.Invariant, "failure", "userMessage", "condition", exception });
-                yield return new object[] { PopulateException(contractException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAC5TeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RXhjZXB0aW9uDwAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMES2luZAtVc2VyTWVzc2FnZQlDb25kaXRpb24BAQMDAQEBAAEAAQcDAQEpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAjBTeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RmFpbHVyZUtpbmQGAgAAAC5TeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RXhjZXB0aW9uBgMAAAAHZmFpbHVyZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoE9v///zBTeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RmFpbHVyZUtpbmQBAAAAB3ZhbHVlX18ACAMAAAAGCwAAAAt1c2VyTWVzc2FnZQYMAAAACWNvbmRpdGlvbgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkNAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYOAAAAEFN5c3RlbS5FeGNlcHRpb24GDwAAAAdtZXNzYWdlCRAAAAAJEQAAAAkGAAAACQcAAAAJCAAAAAAAAAAK6AMAAAkJAAAACgQNAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYWAAAABnNlY3JldAgBAQkXAAAAARAAAAAEAAAACRgAAAACAAAAAgAAAAERAAAABQAAAAkOAAAABhoAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARcAAAANAAAACAgBAAAABhsAAAADb25lCgEYAAAADQAAAAkWAAAACAEBCR0AAAABHQAAAA0AAAAICAEAAAAJGwAAAAoL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAC5TeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RXhjZXB0aW9uDwAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMES2luZAtVc2VyTWVzc2FnZQlDb25kaXRpb24BAQMDAQEBAAEAAQcDAQEpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAjBTeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RmFpbHVyZUtpbmQGAgAAAC5TeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RXhjZXB0aW9uBgMAAAAHZmFpbHVyZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoE9v///zBTeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RmFpbHVyZUtpbmQBAAAAB3ZhbHVlX18ACAMAAAAGCwAAAAt1c2VyTWVzc2FnZQYMAAAACWNvbmRpdGlvbgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkNAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYOAAAAEFN5c3RlbS5FeGNlcHRpb24GDwAAAAdtZXNzYWdlCRAAAAAJEQAAAAkGAAAACQcAAAAJCAAAAAAAAAAK6AMAAAkJAAAACgQNAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYWAAAABnNlY3JldAgBAQkXAAAAARAAAAAEAAAACRgAAAACAAAAAgAAAAERAAAABQAAAAkOAAAABhoAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARcAAAANAAAACAgBAAAABhsAAAADb25lCgEYAAAADQAAAAkWAAAACAEBCR0AAAABHQAAAA0AAAAICAEAAAAJGwAAAAoL", TargetFrameworkMoniker.netfx461) } };
-            }
+            yield return new object[] { PopulateException(contractException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAC5TeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RXhjZXB0aW9uDwAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMES2luZAtVc2VyTWVzc2FnZQlDb25kaXRpb24BAQMDAQEBAAEAAQcDAQEpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAjBTeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RmFpbHVyZUtpbmQGAgAAAC5TeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RXhjZXB0aW9uBgMAAAAHZmFpbHVyZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoE9v///zBTeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RmFpbHVyZUtpbmQBAAAAB3ZhbHVlX18ACAMAAAAGCwAAAAt1c2VyTWVzc2FnZQYMAAAACWNvbmRpdGlvbgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkNAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYOAAAAEFN5c3RlbS5FeGNlcHRpb24GDwAAAAdtZXNzYWdlCRAAAAAJEQAAAAkGAAAACQcAAAAJCAAAAAAAAAAK6AMAAAkJAAAACgQNAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYWAAAABnNlY3JldAgBAQkXAAAAARAAAAAEAAAACRgAAAACAAAAAgAAAAERAAAABQAAAAkOAAAABhoAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARcAAAANAAAACAgBAAAABhsAAAADb25lCgEYAAAADQAAAAkWAAAACAEBCR0AAAABHQAAAA0AAAAICAEAAAAJGwAAAAoL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAC5TeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RXhjZXB0aW9uDwAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMES2luZAtVc2VyTWVzc2FnZQlDb25kaXRpb24BAQMDAQEBAAEAAQcDAQEpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAjBTeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RmFpbHVyZUtpbmQGAgAAAC5TeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RXhjZXB0aW9uBgMAAAAHZmFpbHVyZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoE9v///zBTeXN0ZW0uRGlhZ25vc3RpY3MuQ29udHJhY3RzLkNvbnRyYWN0RmFpbHVyZUtpbmQBAAAAB3ZhbHVlX18ACAMAAAAGCwAAAAt1c2VyTWVzc2FnZQYMAAAACWNvbmRpdGlvbgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkNAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYOAAAAEFN5c3RlbS5FeGNlcHRpb24GDwAAAAdtZXNzYWdlCRAAAAAJEQAAAAkGAAAACQcAAAAJCAAAAAAAAAAK6AMAAAkJAAAACgQNAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYWAAAABnNlY3JldAgBAQkXAAAAARAAAAAEAAAACRgAAAACAAAAAgAAAAERAAAABQAAAAkOAAAABhoAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARcAAAANAAAACAgBAAAABhsAAAADb25lCgEYAAAADQAAAAkWAAAACAEBCR0AAAABHQAAAA0AAAAICAEAAAAJGwAAAAoL", TargetFrameworkMoniker.netfx461) } };
 
             var cookieException = new CookieException();
             yield return new object[] { PopulateException(cookieException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAElTeXN0ZW0sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAaU3lzdGVtLk5ldC5Db29raWVFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAAGlN5c3RlbS5OZXQuQ29va2llRXhjZXB0aW9uBgQAAAA1T25lIG9mIHRoZSBpZGVudGlmaWVkIGl0ZW1zIHdhcyBpbiBhbiBpbnZhbGlkIGZvcm1hdC4JBQAAAAoGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBgsAAAAGc2VjcmV0CAEBCQwAAAABDAAAAAoAAAAICAEAAAAGDQAAAANvbmUKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAElTeXN0ZW0sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAaU3lzdGVtLk5ldC5Db29raWVFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAAGlN5c3RlbS5OZXQuQ29va2llRXhjZXB0aW9uBgQAAAA1T25lIG9mIHRoZSBpZGVudGlmaWVkIGl0ZW1zIHdhcyBpbiBhbiBpbnZhbGlkIGZvcm1hdC4JBQAAAAoGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBgsAAAAGc2VjcmV0CAEBCQwAAAABDAAAAAoAAAAICAEAAAAGDQAAAANvbmUKCw==", TargetFrameworkMoniker.netfx461) } };
@@ -570,31 +563,25 @@ namespace System.Runtime.Serialization.Formatters.Tests
             var objectDisposedException = new ObjectDisposedException("objectname", "message");
             yield return new object[] { PopulateException(objectDisposedException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAB5TeXN0ZW0uT2JqZWN0RGlzcG9zZWRFeGNlcHRpb24NAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwpPYmplY3ROYW1lAQEDAwEBAQABAAEHASlTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAeU3lzdGVtLk9iamVjdERpc3Bvc2VkRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACgYFAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBgAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYHAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYIAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgYJAAAACm9iamVjdG5hbWUEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBgsAAAAGc2VjcmV0CAEBCQwAAAABDAAAAAoAAAAICAEAAAAGDQAAAANvbmUKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAB5TeXN0ZW0uT2JqZWN0RGlzcG9zZWRFeGNlcHRpb24NAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwpPYmplY3ROYW1lAQEDAwEBAQABAAEHASlTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAeU3lzdGVtLk9iamVjdERpc3Bvc2VkRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACgYFAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBgAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYHAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYIAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgYJAAAACm9iamVjdG5hbWUEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBgsAAAAGc2VjcmV0CAEBCQwAAAABDAAAAAoAAAAICAEAAAAGDQAAAANvbmUKCw==", TargetFrameworkMoniker.netfx461) } };
 
-            if (!PlatformDetection.IsUap)
-            {
-                OdbcError odbcError = (OdbcError)typeof(OdbcError)
-                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string), typeof(string), typeof(string), typeof(int) }, null)
-                    .Invoke(new object[] { "source", "message", "state", 0 });
-                OdbcErrorCollection odbcErrorCollection = (OdbcErrorCollection)typeof(OdbcErrorCollection)
-                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { }, null)
-                    .Invoke(new object[] { });
-                typeof(OdbcErrorCollection)
-                    .GetMethod("Add", BindingFlags.NonPublic | BindingFlags.Instance)
-                    .Invoke(odbcErrorCollection, new object[] { odbcError });
-                OdbcException odbcException = (OdbcException)typeof(OdbcException)
-                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string), typeof(OdbcErrorCollection) }, null)
-                    .Invoke(new object[] { "message", odbcErrorCollection });
-                // OdbcException sets its HResult itself therefore we pass setHResult as false.
-                yield return new object[] { PopulateException(odbcException, setHResult: false), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAB5TeXN0ZW0uRGF0YS5PZGJjLk9kYmNFeGNlcHRpb24OAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwtvZGJjUmV0Y29kZQpvZGJjRXJyb3JzAQEDAwEBAQABAAEHBAQpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAh9TeXN0ZW0uRGF0YS5PZGJjLk9EQkMzMitSRVRDT0RFAgAAACRTeXN0ZW0uRGF0YS5PZGJjLk9kYmNFcnJvckNvbGxlY3Rpb24CAAAAAgAAAAYDAAAAHlN5c3RlbS5EYXRhLk9kYmMuT2RiY0V4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAoGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACjcZE4AGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoF9v///x9TeXN0ZW0uRGF0YS5PZGJjLk9EQkMzMitSRVRDT0RFAQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAkLAAAABAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQwAAAACAAAAAgAAAAULAAAAJFN5c3RlbS5EYXRhLk9kYmMuT2RiY0Vycm9yQ29sbGVjdGlvbgEAAAAGX2l0ZW1zAxxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0AgAAAAkNAAAABAwAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBg4AAAAGc2VjcmV0CAEBCQ8AAAAEDQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0AwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24FAAAICAkQAAAAAQAAAAEAAAABDwAAAAwAAAAICAEAAAAGEQAAAANvbmUKEBAAAAAEAAAACRIAAAANAwUSAAAAGlN5c3RlbS5EYXRhLk9kYmMuT2RiY0Vycm9yBAAAAAhfbWVzc2FnZQZfc3RhdGUMX25hdGl2ZWVycm9yB19zb3VyY2UBAQABCAIAAAAJBAAAAAYUAAAABXN0YXRlAAAAAAYVAAAABnNvdXJjZQs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAB5TeXN0ZW0uRGF0YS5PZGJjLk9kYmNFeGNlcHRpb24OAAAAC29kYmNSZXRjb2RlCm9kYmNFcnJvcnMJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzBAQBAQMDAQEBAAEAAQcfU3lzdGVtLkRhdGEuT2RiYy5PREJDMzIrUkVUQ09ERQIAAAAkU3lzdGVtLkRhdGEuT2RiYy5PZGJjRXJyb3JDb2xsZWN0aW9uAgAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAX9////H1N5c3RlbS5EYXRhLk9kYmMuT0RCQzMyK1JFVENPREUBAAAAB3ZhbHVlX18ACAIAAAAAAAAACQQAAAAGBQAAAB5TeXN0ZW0uRGF0YS5PZGJjLk9kYmNFeGNlcHRpb24GBgAAAAdtZXNzYWdlCQcAAAAKBggAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYJAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgoAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAo3GROABgsAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBQQAAAAkU3lzdGVtLkRhdGEuT2RiYy5PZGJjRXJyb3JDb2xsZWN0aW9uAQAAAAZfaXRlbXMDHFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QCAAAACQwAAAAEBwAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJDQAAAAIAAAACAAAABAwAAAAcU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBQAACAgJDgAAAAEAAAABAAAABA0AAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBg8AAAAGc2VjcmV0CAEBCRAAAAAQDgAAAAQAAAAJEQAAAA0DARAAAAANAAAACAgBAAAABhIAAAADb25lCgURAAAAGlN5c3RlbS5EYXRhLk9kYmMuT2RiY0Vycm9yBAAAAAhfbWVzc2FnZQZfc3RhdGUMX25hdGl2ZWVycm9yB19zb3VyY2UBAQABCAIAAAAJBgAAAAYUAAAABXN0YXRlAAAAAAYVAAAABnNvdXJjZQs=", TargetFrameworkMoniker.netfx461) } };
-            }
-
-            if (!PlatformDetection.IsUap)
-            {
-                OperationAbortedException operationAbortedException = (OperationAbortedException)typeof(OperationAbortedException)
-                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string), typeof(Exception) }, null)
-                    .Invoke(new object[] { "message", exception });
-                yield return new object[] { PopulateException(operationAbortedException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACVTeXN0ZW0uRGF0YS5PcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAACVTeXN0ZW0uRGF0YS5PcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACVTeXN0ZW0uRGF0YS5PcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAACVTeXN0ZW0uRGF0YS5PcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
-            }
+            OdbcError odbcError = (OdbcError)typeof(OdbcError)
+                .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string), typeof(string), typeof(string), typeof(int) }, null)
+                .Invoke(new object[] { "source", "message", "state", 0 });
+            OdbcErrorCollection odbcErrorCollection = (OdbcErrorCollection)typeof(OdbcErrorCollection)
+                .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { }, null)
+                .Invoke(new object[] { });
+            typeof(OdbcErrorCollection)
+                .GetMethod("Add", BindingFlags.NonPublic | BindingFlags.Instance)
+                .Invoke(odbcErrorCollection, new object[] { odbcError });
+            OdbcException odbcException = (OdbcException)typeof(OdbcException)
+                .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string), typeof(OdbcErrorCollection) }, null)
+                .Invoke(new object[] { "message", odbcErrorCollection });
+            // OdbcException sets its HResult itself therefore we pass setHResult as false.
+            yield return new object[] { PopulateException(odbcException, setHResult: false), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAB5TeXN0ZW0uRGF0YS5PZGJjLk9kYmNFeGNlcHRpb24OAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwtvZGJjUmV0Y29kZQpvZGJjRXJyb3JzAQEDAwEBAQABAAEHBAQpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAh9TeXN0ZW0uRGF0YS5PZGJjLk9EQkMzMitSRVRDT0RFAgAAACRTeXN0ZW0uRGF0YS5PZGJjLk9kYmNFcnJvckNvbGxlY3Rpb24CAAAAAgAAAAYDAAAAHlN5c3RlbS5EYXRhLk9kYmMuT2RiY0V4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAoGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACjcZE4AGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoF9v///x9TeXN0ZW0uRGF0YS5PZGJjLk9EQkMzMitSRVRDT0RFAQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAkLAAAABAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQwAAAACAAAAAgAAAAULAAAAJFN5c3RlbS5EYXRhLk9kYmMuT2RiY0Vycm9yQ29sbGVjdGlvbgEAAAAGX2l0ZW1zAxxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0AgAAAAkNAAAABAwAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBg4AAAAGc2VjcmV0CAEBCQ8AAAAEDQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0AwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24FAAAICAkQAAAAAQAAAAEAAAABDwAAAAwAAAAICAEAAAAGEQAAAANvbmUKEBAAAAAEAAAACRIAAAANAwUSAAAAGlN5c3RlbS5EYXRhLk9kYmMuT2RiY0Vycm9yBAAAAAhfbWVzc2FnZQZfc3RhdGUMX25hdGl2ZWVycm9yB19zb3VyY2UBAQABCAIAAAAJBAAAAAYUAAAABXN0YXRlAAAAAAYVAAAABnNvdXJjZQs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAB5TeXN0ZW0uRGF0YS5PZGJjLk9kYmNFeGNlcHRpb24OAAAAC29kYmNSZXRjb2RlCm9kYmNFcnJvcnMJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzBAQBAQMDAQEBAAEAAQcfU3lzdGVtLkRhdGEuT2RiYy5PREJDMzIrUkVUQ09ERQIAAAAkU3lzdGVtLkRhdGEuT2RiYy5PZGJjRXJyb3JDb2xsZWN0aW9uAgAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAX9////H1N5c3RlbS5EYXRhLk9kYmMuT0RCQzMyK1JFVENPREUBAAAAB3ZhbHVlX18ACAIAAAAAAAAACQQAAAAGBQAAAB5TeXN0ZW0uRGF0YS5PZGJjLk9kYmNFeGNlcHRpb24GBgAAAAdtZXNzYWdlCQcAAAAKBggAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYJAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgoAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAo3GROABgsAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBQQAAAAkU3lzdGVtLkRhdGEuT2RiYy5PZGJjRXJyb3JDb2xsZWN0aW9uAQAAAAZfaXRlbXMDHFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QCAAAACQwAAAAEBwAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJDQAAAAIAAAACAAAABAwAAAAcU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBQAACAgJDgAAAAEAAAABAAAABA0AAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBg8AAAAGc2VjcmV0CAEBCRAAAAAQDgAAAAQAAAAJEQAAAA0DARAAAAANAAAACAgBAAAABhIAAAADb25lCgURAAAAGlN5c3RlbS5EYXRhLk9kYmMuT2RiY0Vycm9yBAAAAAhfbWVzc2FnZQZfc3RhdGUMX25hdGl2ZWVycm9yB19zb3VyY2UBAQABCAIAAAAJBgAAAAYUAAAABXN0YXRlAAAAAAYVAAAABnNvdXJjZQs=", TargetFrameworkMoniker.netfx461) } };
+
+            OperationAbortedException operationAbortedException = (OperationAbortedException)typeof(OperationAbortedException)
+                .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string), typeof(Exception) }, null)
+                .Invoke(new object[] { "message", exception });
+            yield return new object[] { PopulateException(operationAbortedException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACVTeXN0ZW0uRGF0YS5PcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAACVTeXN0ZW0uRGF0YS5PcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACVTeXN0ZW0uRGF0YS5PcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAACVTeXN0ZW0uRGF0YS5PcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
 
             var operationCanceledException = new OperationCanceledException("message", exception, new CancellationToken());
             yield return new object[] { PopulateException(operationCanceledException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACFTeXN0ZW0uT3BlcmF0aW9uQ2FuY2VsZWRFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAhU3lzdGVtLk9wZXJhdGlvbkNhbmNlbGVkRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uCQMAAAAJDQAAAAkOAAAACQYAAAAJBwAAAAkIAAAAAAAAAAroAwAACQkAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAFAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACFTeXN0ZW0uT3BlcmF0aW9uQ2FuY2VsZWRFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAhU3lzdGVtLk9wZXJhdGlvbkNhbmNlbGVkRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uCQMAAAAJDQAAAAkOAAAACQYAAAAJBwAAAAkIAAAAAAAAAAroAwAACQkAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAFAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netfx461) } };
@@ -641,13 +628,10 @@ namespace System.Runtime.Serialization.Formatters.Tests
             var runtimeBinderInternalCompilerException = new RuntimeBinderInternalCompilerException("message", exception);
             yield return new object[] { PopulateException(runtimeBinderInternalCompilerException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFNNaWNyb3NvZnQuQ1NoYXJwLCBWZXJzaW9uPTQuMC40LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQUBAAAARU1pY3Jvc29mdC5DU2hhcnAuUnVudGltZUJpbmRlci5SdW50aW1lQmluZGVySW50ZXJuYWxDb21waWxlckV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAABFTWljcm9zb2Z0LkNTaGFycC5SdW50aW1lQmluZGVyLlJ1bnRpbWVCaW5kZXJJbnRlcm5hbENvbXBpbGVyRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFNNaWNyb3NvZnQuQ1NoYXJwLCBWZXJzaW9uPTQuMC40LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQUBAAAARU1pY3Jvc29mdC5DU2hhcnAuUnVudGltZUJpbmRlci5SdW50aW1lQmluZGVySW50ZXJuYWxDb21waWxlckV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAABFTWljcm9zb2Z0LkNTaGFycC5SdW50aW1lQmluZGVyLlJ1bnRpbWVCaW5kZXJJbnRlcm5hbENvbXBpbGVyRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
 
-            if (!PlatformDetection.IsUap)
-            {
-                RuntimeWrappedException runtimeWrappedException = (RuntimeWrappedException)typeof(RuntimeWrappedException)
-                    .GetConstructor((PlatformDetection.IsFullFramework ? BindingFlags.NonPublic : BindingFlags.Public) | BindingFlags.Instance, null, new Type[] { typeof(object) }, null)
-                    .Invoke(new object[] { exception });
-                yield return new object[] { PopulateException(runtimeWrappedException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAADdTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzLlJ1bnRpbWVXcmFwcGVkRXhjZXB0aW9uDQAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMQV3JhcHBlZEV4Y2VwdGlvbgEBAwMBAQEAAQABBwMpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAhBTeXN0ZW0uRXhjZXB0aW9uBgIAAAA3U3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcy5SdW50aW1lV3JhcHBlZEV4Y2VwdGlvbgYDAAAAY0FuIG9iamVjdCB0aGF0IGRvZXMgbm90IGRlcml2ZSBmcm9tIFN5c3RlbS5FeGNlcHRpb24gaGFzIGJlZW4gd3JhcHBlZCBpbiBhIFJ1bnRpbWVXcmFwcGVkRXhjZXB0aW9uLgkEAAAACgYFAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBgAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYHAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYIAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgkJAAAABAQAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQoAAAACAAAAAgAAAAQJAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgsAAAAQU3lzdGVtLkV4Y2VwdGlvbgYMAAAAB21lc3NhZ2UJDQAAAAkOAAAACQUAAAAJBgAAAAkHAAAAAAAAAAroAwAACQgAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAJAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAADdTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzLlJ1bnRpbWVXcmFwcGVkRXhjZXB0aW9uDQAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMQV3JhcHBlZEV4Y2VwdGlvbgEBAwMBAQEAAQABBwMpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAhBTeXN0ZW0uRXhjZXB0aW9uBgIAAAA3U3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcy5SdW50aW1lV3JhcHBlZEV4Y2VwdGlvbgYDAAAAY0FuIG9iamVjdCB0aGF0IGRvZXMgbm90IGRlcml2ZSBmcm9tIFN5c3RlbS5FeGNlcHRpb24gaGFzIGJlZW4gd3JhcHBlZCBpbiBhIFJ1bnRpbWVXcmFwcGVkRXhjZXB0aW9uLgkEAAAACgYFAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBgAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYHAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYIAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgkJAAAABAQAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQoAAAACAAAAAgAAAAQJAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgsAAAAQU3lzdGVtLkV4Y2VwdGlvbgYMAAAAB21lc3NhZ2UJDQAAAAkOAAAACQUAAAAJBgAAAAkHAAAAAAAAAAroAwAACQgAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAJAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netfx461) } };
-            }
+            RuntimeWrappedException runtimeWrappedException = (RuntimeWrappedException)typeof(RuntimeWrappedException)
+                .GetConstructor((PlatformDetection.IsFullFramework ? BindingFlags.NonPublic : BindingFlags.Public) | BindingFlags.Instance, null, new Type[] { typeof(object) }, null)
+                .Invoke(new object[] { exception });
+            yield return new object[] { PopulateException(runtimeWrappedException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAADdTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzLlJ1bnRpbWVXcmFwcGVkRXhjZXB0aW9uDQAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMQV3JhcHBlZEV4Y2VwdGlvbgEBAwMBAQEAAQABBwMpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAhBTeXN0ZW0uRXhjZXB0aW9uBgIAAAA3U3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcy5SdW50aW1lV3JhcHBlZEV4Y2VwdGlvbgYDAAAAY0FuIG9iamVjdCB0aGF0IGRvZXMgbm90IGRlcml2ZSBmcm9tIFN5c3RlbS5FeGNlcHRpb24gaGFzIGJlZW4gd3JhcHBlZCBpbiBhIFJ1bnRpbWVXcmFwcGVkRXhjZXB0aW9uLgkEAAAACgYFAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBgAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYHAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYIAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgkJAAAABAQAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQoAAAACAAAAAgAAAAQJAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgsAAAAQU3lzdGVtLkV4Y2VwdGlvbgYMAAAAB21lc3NhZ2UJDQAAAAkOAAAACQUAAAAJBgAAAAkHAAAAAAAAAAroAwAACQgAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAJAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAADdTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzLlJ1bnRpbWVXcmFwcGVkRXhjZXB0aW9uDQAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMQV3JhcHBlZEV4Y2VwdGlvbgEBAwMBAQEAAQABBwMpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAhBTeXN0ZW0uRXhjZXB0aW9uBgIAAAA3U3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcy5SdW50aW1lV3JhcHBlZEV4Y2VwdGlvbgYDAAAAY0FuIG9iamVjdCB0aGF0IGRvZXMgbm90IGRlcml2ZSBmcm9tIFN5c3RlbS5FeGNlcHRpb24gaGFzIGJlZW4gd3JhcHBlZCBpbiBhIFJ1bnRpbWVXcmFwcGVkRXhjZXB0aW9uLgkEAAAACgYFAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBgAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYHAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYIAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgkJAAAABAQAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQoAAAACAAAAAgAAAAQJAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgsAAAAQU3lzdGVtLkV4Y2VwdGlvbgYMAAAAB21lc3NhZ2UJDQAAAAkOAAAACQUAAAAJBgAAAAkHAAAAAAAAAAroAwAACQgAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAJAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netfx461) } };
 
             var sEHException = new SEHException("message", exception);
             yield return new object[] { PopulateException(sEHException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuU0VIRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAK1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5TRUhFeGNlcHRpb24GAwAAAAdtZXNzYWdlCQQAAAAJBQAAAAYGAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBwAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYIAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYJAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkKAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYLAAAAEFN5c3RlbS5FeGNlcHRpb24JAwAAAAkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuU0VIRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAK1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5TRUhFeGNlcHRpb24GAwAAAAdtZXNzYWdlCQQAAAAJBQAAAAYGAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBwAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYIAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYJAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkKAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYLAAAAEFN5c3RlbS5FeGNlcHRpb24JAwAAAAkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netfx461) } };
@@ -698,36 +682,33 @@ namespace System.Runtime.Serialization.Formatters.Tests
             var sqlAlreadyFilledException = new SqlAlreadyFilledException("message", exception);
             yield return new object[] { PopulateException(sqlAlreadyFilledException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAC5TeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxBbHJlYWR5RmlsbGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAAC5TeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxBbHJlYWR5RmlsbGVkRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAC5TeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxBbHJlYWR5RmlsbGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAAC5TeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxBbHJlYWR5RmlsbGVkRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
 
-            if (!PlatformDetection.IsUap)
+            SqlError sqlError = null;
+            // Full framework has no constructor overload for passing an exception
+            if (PlatformDetection.IsFullFramework)
             {
-                SqlError sqlError = null;
-                // Full framework has no constructor overload for passing an exception
-                if (PlatformDetection.IsFullFramework)
-                {
-                    sqlError = (SqlError)typeof(SqlError)
-                        .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(int), typeof(byte), typeof(byte), typeof(string), typeof(string), typeof(string), typeof(int), typeof(uint) }, null)
-                        .Invoke(new object[] { 1, (byte)2, (byte)3, "localhost", "error", "procedure", 1, (uint)2 });
-                }
-                else
-                {
-                    sqlError = (SqlError)typeof(SqlError)
-                        .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(int), typeof(byte), typeof(byte), typeof(string), typeof(string), typeof(string), typeof(int), typeof(uint), typeof(Exception) }, null)
-                        .Invoke(new object[] { 1, (byte)2, (byte)3, "localhost", "error", "procedure", 1, (uint)2, null });
-                }
-
-                SqlErrorCollection sqlErrorCollection = (SqlErrorCollection)typeof(SqlErrorCollection)
-                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { }, null)
-                    .Invoke(new object[] { });
-                typeof(SqlErrorCollection)
-                    .GetMethod("Add", BindingFlags.NonPublic | BindingFlags.Instance)
-                    .Invoke(sqlErrorCollection, new object[] { sqlError });
-                SqlException sqlException = (SqlException)typeof(SqlException)
-                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string), typeof(SqlErrorCollection), typeof(Exception), typeof(Guid) }, null)
-                    .Invoke(new object[] { "message", sqlErrorCollection, exception, Guid.Parse("082FE40E-F683-402D-89C8-2E7486078620") });
-
-                yield return new object[] { PopulateException(sqlException, setHResult: false), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0ZW0uRGF0YS5TcWxDbGllbnQuU3FsRXhjZXB0aW9uDgAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMGRXJyb3JzEkNsaWVudENvbm5lY3Rpb25JZAEBAwMBAQEAAQABBwIDKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAILU3lzdGVtLkd1aWQCAAAABgMAAAAiU3lzdGVtLkRhdGEuU3FsQ2xpZW50LlNxbEV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAoEGROABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKCgT1////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgIO5C8Ig/YtQInILnSGB4YgBAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQwAAAADAAAAAwAAAAQGAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBg0AAAAQU3lzdGVtLkV4Y2VwdGlvbgkEAAAACQ8AAAAJEAAAAAkHAAAACQgAAAAJCQAAAAAAAAAK6AMAAAkKAAAACgQMAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYVAAAABnNlY3JldAgBAQkWAAAAAQ8AAAAFAAAACRcAAAACAAAAAgAAAAEQAAAABgAAAAkNAAAABhkAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARYAAAAMAAAACAgBAAAABhoAAAADb25lCRsAAAABFwAAAAwAAAAJFQAAAAgBAQkdAAAAARsAAAAMAAAABh4AAAAKU3FsRXJyb3IgMQYfAAAAJVN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFcnJvcjogZXJyb3IKAR0AAAAMAAAACAgBAAAACRoAAAAKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0ZW0uRGF0YS5TcWxDbGllbnQuU3FsRXhjZXB0aW9uDgAAAAZFcnJvcnMSQ2xpZW50Q29ubmVjdGlvbklkCUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwQDAQEDAwEBAQABAAEHKFN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFcnJvckNvbGxlY3Rpb24CAAAAC1N5c3RlbS5HdWlkKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAACQMAAAAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICDuQvCIP2LUCJyC50hgeGIAYFAAAAIlN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFeGNlcHRpb24GBgAAAAdtZXNzYWdlCQcAAAAJCAAAAAYJAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GCgAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYLAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAKBBkTgAYMAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgUDAAAAKFN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFcnJvckNvbGxlY3Rpb24BAAAABmVycm9ycwMcU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAIAAAAJDQAAAAQHAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkOAAAAAgAAAAIAAAAECAAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYPAAAAEFN5c3RlbS5FeGNlcHRpb24JBgAAAAkRAAAACRIAAAAJCQAAAAkKAAAACQsAAAAAAAAACugDAAAJDAAAAAoEDQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0AwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24FAAAICAkXAAAAAQAAAAEAAAAEDgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGGAAAAAZzZWNyZXQIAQEJGQAAAAERAAAABwAAAAkaAAAAAgAAAAIAAAABEgAAAAgAAAAJDwAAAAYcAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKChAXAAAABAAAAAkdAAAADQMBGQAAAA4AAAAICAEAAAAGHgAAAANvbmUKARoAAAAOAAAACRgAAAAIAQEJIAAAAAUdAAAAHlN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFcnJvcgkAAAAGc291cmNlBm51bWJlcgVzdGF0ZQplcnJvckNsYXNzBnNlcnZlcgdtZXNzYWdlCXByb2NlZHVyZQpsaW5lTnVtYmVyDndpbjMyRXJyb3JDb2RlAQAAAAEBAQAACAICCAgCAAAABiEAAAAcLk5ldCBTcWxDbGllbnQgRGF0YSBQcm92aWRlcgEAAAACAwYiAAAACWxvY2FsaG9zdAYjAAAABWVycm9yBiQAAAAJcHJvY2VkdXJlAQAAAAIAAAABIAAAAA4AAAAICAEAAAAJHgAAAAoL", TargetFrameworkMoniker.netfx461) } };
+                sqlError = (SqlError)typeof(SqlError)
+                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(int), typeof(byte), typeof(byte), typeof(string), typeof(string), typeof(string), typeof(int), typeof(uint) }, null)
+                    .Invoke(new object[] { 1, (byte)2, (byte)3, "localhost", "error", "procedure", 1, (uint)2 });
+            }
+            else
+            {
+                sqlError = (SqlError)typeof(SqlError)
+                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(int), typeof(byte), typeof(byte), typeof(string), typeof(string), typeof(string), typeof(int), typeof(uint), typeof(Exception) }, null)
+                    .Invoke(new object[] { 1, (byte)2, (byte)3, "localhost", "error", "procedure", 1, (uint)2, null });
             }
 
+            SqlErrorCollection sqlErrorCollection = (SqlErrorCollection)typeof(SqlErrorCollection)
+                .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { }, null)
+                .Invoke(new object[] { });
+            typeof(SqlErrorCollection)
+                .GetMethod("Add", BindingFlags.NonPublic | BindingFlags.Instance)
+                .Invoke(sqlErrorCollection, new object[] { sqlError });
+            SqlException sqlException = (SqlException)typeof(SqlException)
+                .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string), typeof(SqlErrorCollection), typeof(Exception), typeof(Guid) }, null)
+                .Invoke(new object[] { "message", sqlErrorCollection, exception, Guid.Parse("082FE40E-F683-402D-89C8-2E7486078620") });
+
+            yield return new object[] { PopulateException(sqlException, setHResult: false), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0ZW0uRGF0YS5TcWxDbGllbnQuU3FsRXhjZXB0aW9uDgAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMGRXJyb3JzEkNsaWVudENvbm5lY3Rpb25JZAEBAwMBAQEAAQABBwIDKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAILU3lzdGVtLkd1aWQCAAAABgMAAAAiU3lzdGVtLkRhdGEuU3FsQ2xpZW50LlNxbEV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAoEGROABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKCgT1////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgIO5C8Ig/YtQInILnSGB4YgBAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQwAAAADAAAAAwAAAAQGAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBg0AAAAQU3lzdGVtLkV4Y2VwdGlvbgkEAAAACQ8AAAAJEAAAAAkHAAAACQgAAAAJCQAAAAAAAAAK6AMAAAkKAAAACgQMAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYVAAAABnNlY3JldAgBAQkWAAAAAQ8AAAAFAAAACRcAAAACAAAAAgAAAAEQAAAABgAAAAkNAAAABhkAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARYAAAAMAAAACAgBAAAABhoAAAADb25lCRsAAAABFwAAAAwAAAAJFQAAAAgBAQkdAAAAARsAAAAMAAAABh4AAAAKU3FsRXJyb3IgMQYfAAAAJVN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFcnJvcjogZXJyb3IKAR0AAAAMAAAACAgBAAAACRoAAAAKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0ZW0uRGF0YS5TcWxDbGllbnQuU3FsRXhjZXB0aW9uDgAAAAZFcnJvcnMSQ2xpZW50Q29ubmVjdGlvbklkCUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwQDAQEDAwEBAQABAAEHKFN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFcnJvckNvbGxlY3Rpb24CAAAAC1N5c3RlbS5HdWlkKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAACQMAAAAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICDuQvCIP2LUCJyC50hgeGIAYFAAAAIlN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFeGNlcHRpb24GBgAAAAdtZXNzYWdlCQcAAAAJCAAAAAYJAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GCgAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYLAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAKBBkTgAYMAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgUDAAAAKFN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFcnJvckNvbGxlY3Rpb24BAAAABmVycm9ycwMcU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAIAAAAJDQAAAAQHAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkOAAAAAgAAAAIAAAAECAAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYPAAAAEFN5c3RlbS5FeGNlcHRpb24JBgAAAAkRAAAACRIAAAAJCQAAAAkKAAAACQsAAAAAAAAACugDAAAJDAAAAAoEDQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0AwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24FAAAICAkXAAAAAQAAAAEAAAAEDgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGGAAAAAZzZWNyZXQIAQEJGQAAAAERAAAABwAAAAkaAAAAAgAAAAIAAAABEgAAAAgAAAAJDwAAAAYcAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKChAXAAAABAAAAAkdAAAADQMBGQAAAA4AAAAICAEAAAAGHgAAAANvbmUKARoAAAAOAAAACRgAAAAIAQEJIAAAAAUdAAAAHlN5c3RlbS5EYXRhLlNxbENsaWVudC5TcWxFcnJvcgkAAAAGc291cmNlBm51bWJlcgVzdGF0ZQplcnJvckNsYXNzBnNlcnZlcgdtZXNzYWdlCXByb2NlZHVyZQpsaW5lTnVtYmVyDndpbjMyRXJyb3JDb2RlAQAAAAEBAQAACAICCAgCAAAABiEAAAAcLk5ldCBTcWxDbGllbnQgRGF0YSBQcm92aWRlcgEAAAACAwYiAAAACWxvY2FsaG9zdAYjAAAABWVycm9yBiQAAAAJcHJvY2VkdXJlAQAAAAIAAAABIAAAAA4AAAAICAEAAAAJHgAAAAoL", TargetFrameworkMoniker.netfx461) } };
+
             var sqlNotFilledException = new SqlNotFilledException("message", exception);
             yield return new object[] { PopulateException(sqlNotFilledException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACpTeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxOb3RGaWxsZWRFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAAKlN5c3RlbS5EYXRhLlNxbFR5cGVzLlNxbE5vdEZpbGxlZEV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQsAAAACAAAAAgAAAAQGAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgwAAAAQU3lzdGVtLkV4Y2VwdGlvbgkEAAAACQ4AAAAJDwAAAAkHAAAACQgAAAAJCQAAAAAAAAAK6AMAAAkKAAAACgQLAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYUAAAABnNlY3JldAgBAQkVAAAAAQ4AAAAFAAAACRYAAAACAAAAAgAAAAEPAAAABgAAAAkMAAAABhgAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARUAAAALAAAACAgBAAAABhkAAAADb25lCgEWAAAACwAAAAkUAAAACAEBCRsAAAABGwAAAAsAAAAICAEAAAAJGQAAAAoL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACpTeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxOb3RGaWxsZWRFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAAKlN5c3RlbS5EYXRhLlNxbFR5cGVzLlNxbE5vdEZpbGxlZEV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQsAAAACAAAAAgAAAAQGAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgwAAAAQU3lzdGVtLkV4Y2VwdGlvbgkEAAAACQ4AAAAJDwAAAAkHAAAACQgAAAAJCQAAAAAAAAAK6AMAAAkKAAAACgQLAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYUAAAABnNlY3JldAgBAQkVAAAAAQ4AAAAFAAAACRYAAAACAAAAAgAAAAEPAAAABgAAAAkMAAAABhgAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARUAAAALAAAACAgBAAAABhkAAAADb25lCgEWAAAACwAAAAkUAAAACAEBCRsAAAABGwAAAAsAAAAICAEAAAAJGQAAAAoL", TargetFrameworkMoniker.netfx461) } };
 
@@ -767,24 +748,18 @@ namespace System.Runtime.Serialization.Formatters.Tests
             var taskSchedulerException = new TaskSchedulerException("message", exception);
             yield return new object[] { PopulateException(taskSchedulerException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAC1TeXN0ZW0uVGhyZWFkaW5nLlRhc2tzLlRhc2tTY2hlZHVsZXJFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAtU3lzdGVtLlRocmVhZGluZy5UYXNrcy5UYXNrU2NoZWR1bGVyRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uCQMAAAAJDQAAAAkOAAAACQYAAAAJBwAAAAkIAAAAAAAAAAroAwAACQkAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAFAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAC1TeXN0ZW0uVGhyZWFkaW5nLlRhc2tzLlRhc2tTY2hlZHVsZXJFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAtU3lzdGVtLlRocmVhZGluZy5UYXNrcy5UYXNrU2NoZWR1bGVyRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uCQMAAAAJDQAAAAkOAAAACQYAAAAJBwAAAAkIAAAAAAAAAAroAwAACQkAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAFAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netfx461) } };
 
-            if (!PlatformDetection.IsUap)
-            {
-                ThreadAbortException threadAbortException = (ThreadAbortException)typeof(ThreadAbortException)
-                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { }, null)
-                    .Invoke(new object[] { });
-                yield return new object[] { PopulateException(threadAbortException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZEFib3J0RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkQWJvcnRFeGNlcHRpb24GAwAAAA1TeXN0ZW0gZXJyb3IuCQQAAAAKBgUAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYGAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgcAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABggAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAQAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQkAAAACAAAAAgAAAAQJAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYKAAAABnNlY3JldAgBAQkLAAAAAQsAAAAJAAAACAgBAAAABgwAAAADb25lCgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZEFib3J0RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkQWJvcnRFeGNlcHRpb24GAwAAABlUaHJlYWQgd2FzIGJlaW5nIGFib3J0ZWQuCQQAAAAKBgUAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYGAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgcAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABggAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAQAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQkAAAACAAAAAgAAAAQJAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYKAAAABnNlY3JldAgBAQkLAAAAAQsAAAAJAAAACAgBAAAABgwAAAADb25lCgs=", TargetFrameworkMoniker.netfx461) } };
-            }
+            ThreadAbortException threadAbortException = (ThreadAbortException)typeof(ThreadAbortException)
+                .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { }, null)
+                .Invoke(new object[] { });
+            yield return new object[] { PopulateException(threadAbortException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZEFib3J0RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkQWJvcnRFeGNlcHRpb24GAwAAAA1TeXN0ZW0gZXJyb3IuCQQAAAAKBgUAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYGAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgcAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABggAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAQAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQkAAAACAAAAAgAAAAQJAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYKAAAABnNlY3JldAgBAQkLAAAAAQsAAAAJAAAACAgBAAAABgwAAAADb25lCgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZEFib3J0RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkQWJvcnRFeGNlcHRpb24GAwAAABlUaHJlYWQgd2FzIGJlaW5nIGFib3J0ZWQuCQQAAAAKBgUAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYGAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgcAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABggAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAQAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQkAAAACAAAAAgAAAAQJAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYKAAAABnNlY3JldAgBAQkLAAAAAQsAAAAJAAAACAgBAAAABgwAAAADb25lCgs=", TargetFrameworkMoniker.netfx461) } };
 
             var threadInterruptedException = new ThreadInterruptedException("message", exception);
             yield return new object[] { PopulateException(threadInterruptedException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACtTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZEludGVycnVwdGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAK1N5c3RlbS5UaHJlYWRpbmcuVGhyZWFkSW50ZXJydXB0ZWRFeGNlcHRpb24GAwAAAAdtZXNzYWdlCQQAAAAJBQAAAAYGAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBwAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYIAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYJAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkKAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYLAAAAEFN5c3RlbS5FeGNlcHRpb24JAwAAAAkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACtTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZEludGVycnVwdGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAK1N5c3RlbS5UaHJlYWRpbmcuVGhyZWFkSW50ZXJydXB0ZWRFeGNlcHRpb24GAwAAAAdtZXNzYWdlCQQAAAAJBQAAAAYGAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBwAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYIAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYJAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkKAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYLAAAAEFN5c3RlbS5FeGNlcHRpb24JAwAAAAkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netfx461) } };
 
-            if (!PlatformDetection.IsUap)
-            {
-                ThreadStartException threadStartException = (ThreadStartException)typeof(ThreadStartException)
-                    .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(Exception) }, null)
-                    .Invoke(new object[] { exception });
-                yield return new object[] { PopulateException(threadStartException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZFN0YXJ0RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkU3RhcnRFeGNlcHRpb24GAwAAABdUaHJlYWQgZmFpbGVkIHRvIHN0YXJ0LgkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uBgwAAAAHbWVzc2FnZQkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZFN0YXJ0RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkU3RhcnRFeGNlcHRpb24GAwAAABdUaHJlYWQgZmFpbGVkIHRvIHN0YXJ0LgkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uBgwAAAAHbWVzc2FnZQkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netfx461) } };
-            }
+            ThreadStartException threadStartException = (ThreadStartException)typeof(ThreadStartException)
+                .GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(Exception) }, null)
+                .Invoke(new object[] { exception });
+            yield return new object[] { PopulateException(threadStartException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZFN0YXJ0RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkU3RhcnRFeGNlcHRpb24GAwAAABdUaHJlYWQgZmFpbGVkIHRvIHN0YXJ0LgkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uBgwAAAAHbWVzc2FnZQkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZFN0YXJ0RXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkU3RhcnRFeGNlcHRpb24GAwAAABdUaHJlYWQgZmFpbGVkIHRvIHN0YXJ0LgkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uBgwAAAAHbWVzc2FnZQkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netfx461) } };
 
             var threadStateException = new ThreadStateException("message", exception);
             yield return new object[] { PopulateException(threadStateException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZFN0YXRlRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkU3RhdGVFeGNlcHRpb24GAwAAAAdtZXNzYWdlCQQAAAAJBQAAAAYGAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBwAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYIAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYJAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkKAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYLAAAAEFN5c3RlbS5FeGNlcHRpb24JAwAAAAkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACVTeXN0ZW0uVGhyZWFkaW5nLlRocmVhZFN0YXRlRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAJVN5c3RlbS5UaHJlYWRpbmcuVGhyZWFkU3RhdGVFeGNlcHRpb24GAwAAAAdtZXNzYWdlCQQAAAAJBQAAAAYGAAAAGWh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20GBwAAABRTdGFja1RyYWNlIHN0cmluZy4uLgYIAAAAG1JlbW90ZSBTdGFja1RyYWNlIHN0cmluZy4uLgAAAAAK6AMAAAYJAAAAF0V4Y2VwdGlvbl9DbGFzc19TYW1wbGVzCgQEAAAAKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsAwAAAARoZWFkB3ZlcnNpb24FY291bnQDAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUICAkKAAAAAgAAAAIAAAAEBQAAABBTeXN0ZW0uRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYLAAAAEFN5c3RlbS5FeGNlcHRpb24JAwAAAAkNAAAACQ4AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECgAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGEwAAAAZzZWNyZXQIAQEJFAAAAAENAAAABAAAAAkVAAAAAgAAAAIAAAABDgAAAAUAAAAJCwAAAAYXAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEUAAAACgAAAAgIAQAAAAYYAAAAA29uZQoBFQAAAAoAAAAJEwAAAAgBAQkaAAAAARoAAAAKAAAACAgBAAAACRgAAAAKCw==", TargetFrameworkMoniker.netfx461) } };
@@ -1230,19 +1205,14 @@ namespace System.Runtime.Serialization.Formatters.Tests
             yield return new object[] { new Size(10, 45), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAgAAAAoAAAAtAAAACw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAgAAAAoAAAAtAAAACw==", TargetFrameworkMoniker.netfx461) } };
             yield return new object[] { new SizeF(10.2f, 45.8f), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABRTeXN0ZW0uRHJhd2luZy5TaXplRgIAAAAFd2lkdGgGaGVpZ2h0AAALCwIAAAAzMyNBMzM3Qgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABRTeXN0ZW0uRHJhd2luZy5TaXplRgIAAAAFd2lkdGgGaGVpZ2h0AAALCwIAAAAzMyNBMzM3Qgs=", TargetFrameworkMoniker.netfx461) } };
 
-            // System.Drawing.Common is a not supported assembly in UAP. Where it is generated
-            // from the reference assembly which doesn't declare the TypeForwardedFromAttributes so blobs will be different.
-            if (!PlatformDetection.IsUap)
+            yield return new object[] { GraphicsUnit.Pixel, new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAIAAAACAAAACw==", TargetFrameworkMoniker.netcoreapp21), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAIAAAACAAAACw==", TargetFrameworkMoniker.netfx461) } };
+            yield return new object[] { ContentAlignment.BottomCenter, new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAB9TeXN0ZW0uRHJhd2luZy5Db250ZW50QWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAIAAAs=", TargetFrameworkMoniker.netcoreapp21), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAB9TeXN0ZW0uRHJhd2luZy5Db250ZW50QWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAIAAAs=", TargetFrameworkMoniker.netfx461) } };
+            yield return new object[] { LinearGradientMode.BackwardDiagonal, new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACtTeXN0ZW0uRHJhd2luZy5EcmF3aW5nMkQuTGluZWFyR3JhZGllbnRNb2RlAQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=", TargetFrameworkMoniker.netcoreapp21), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACtTeXN0ZW0uRHJhd2luZy5EcmF3aW5nMkQuTGluZWFyR3JhZGllbnRNb2RlAQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=", TargetFrameworkMoniker.netfx461) } };
+            yield return new object[] { FontStyle.Bold, new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAACw==", TargetFrameworkMoniker.netcoreapp21), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAACw==", TargetFrameworkMoniker.netfx461) } };
+            // libgdiplus is not supported on some Windows variants.
+            if (PlatformDetection.IsDrawingSupported)
             {
-                yield return new object[] { GraphicsUnit.Pixel, new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAIAAAACAAAACw==", TargetFrameworkMoniker.netcoreapp21), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAIAAAACAAAACw==", TargetFrameworkMoniker.netfx461) } };
-                yield return new object[] { ContentAlignment.BottomCenter, new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAB9TeXN0ZW0uRHJhd2luZy5Db250ZW50QWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAIAAAs=", TargetFrameworkMoniker.netcoreapp21), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAB9TeXN0ZW0uRHJhd2luZy5Db250ZW50QWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAIAAAs=", TargetFrameworkMoniker.netfx461) } };
-                yield return new object[] { LinearGradientMode.BackwardDiagonal, new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACtTeXN0ZW0uRHJhd2luZy5EcmF3aW5nMkQuTGluZWFyR3JhZGllbnRNb2RlAQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=", TargetFrameworkMoniker.netcoreapp21), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACtTeXN0ZW0uRHJhd2luZy5EcmF3aW5nMkQuTGluZWFyR3JhZGllbnRNb2RlAQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=", TargetFrameworkMoniker.netfx461) } };
-                yield return new object[] { FontStyle.Bold, new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAACw==", TargetFrameworkMoniker.netcoreapp21), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAACw==", TargetFrameworkMoniker.netfx461) } };
-                // libgdiplus is not supported on some Windows variants.
-                if (PlatformDetection.IsDrawingSupported)
-                {
-                    yield return new object[] { new Font("coreFxAwesomeFont", 8.5f, FontStyle.Strikeout, GraphicsUnit.Pixel), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAABFjb3JlRnhBd2Vzb21lRm9udAAACEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAIAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=", TargetFrameworkMoniker.netcoreapp30), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAABFjb3JlRnhBd2Vzb21lRm9udAAACEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAIAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=", TargetFrameworkMoniker.netfx461) } };
-                }
+                yield return new object[] { new Font("coreFxAwesomeFont", 8.5f, FontStyle.Strikeout, GraphicsUnit.Pixel), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAABFjb3JlRnhBd2Vzb21lRm9udAAACEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAIAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=", TargetFrameworkMoniker.netcoreapp30), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAABFjb3JlRnhBd2Vzb21lRm9udAAACEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAIAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=", TargetFrameworkMoniker.netfx461) } };
             }
 
             // Custom object
@@ -1343,12 +1313,8 @@ namespace System.Runtime.Serialization.Formatters.Tests
             yield return new object[] { observableCollection, new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5XaW5kb3dzQmFzZSwgVmVyc2lvbj0zLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFAQAAAJIBU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLk9ic2VydmFibGVDb2xsZWN0aW9uYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACF9tb25pdG9yEkNvbGxlY3Rpb25gMStpdGVtcwQDoAFTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwuT2JzZXJ2YWJsZUNvbGxlY3Rpb25gMStTaW1wbGVNb25pdG9yW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAH5TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACQMAAAAJBAAAAAUDAAAAoAFTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwuT2JzZXJ2YWJsZUNvbGxlY3Rpb25gMStTaW1wbGVNb25pdG9yW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAApfYnVzeUNvdW50AAgCAAAAAAAAAAQEAAAAflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBwAACAgICQUAAAAFAAAAAAAAAA8FAAAABQAAAAgBAAAAAgAAAAMAAAAEAAAABQAAAAs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5XaW5kb3dzQmFzZSwgVmVyc2lvbj0zLjAuMC4wLCBDdWx0dXJlPU5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFAQAAAJIBU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLk9ic2VydmFibGVDb2xsZWN0aW9uYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACF9tb25pdG9yEkNvbGxlY3Rpb25gMStpdGVtcwQDoAFTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwuT2JzZXJ2YWJsZUNvbGxlY3Rpb25gMStTaW1wbGVNb25pdG9yW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAH5TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACQMAAAAJBAAAAAUDAAAAoAFTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwuT2JzZXJ2YWJsZUNvbGxlY3Rpb25gMStTaW1wbGVNb25pdG9yW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAApfYnVzeUNvdW50AAgCAAAAAAAAAAQEAAAAflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBwAACAgICQUAAAAFAAAABQAAAA8FAAAACAAAAAgBAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAs=", TargetFrameworkMoniker.netfx461) } };
             yield return new object[] { new System.Collections.ObjectModel.ReadOnlyObservableCollection<int>(observableCollection), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5XaW5kb3dzQmFzZSwgVmVyc2lvbj0zLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFAQAAAJoBU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLlJlYWRPbmx5T2JzZXJ2YWJsZUNvbGxlY3Rpb25gMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAZUmVhZE9ubHlDb2xsZWN0aW9uYDErbGlzdASSAVN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5PYnNlcnZhYmxlQ29sbGVjdGlvbmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAIAAAAJAwAAAAUDAAAAkgFTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwuT2JzZXJ2YWJsZUNvbGxlY3Rpb25gMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAIX21vbml0b3ISQ29sbGVjdGlvbmAxK2l0ZW1zBAOgAVN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5PYnNlcnZhYmxlQ29sbGVjdGlvbmAxK1NpbXBsZU1vbml0b3JbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAAflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJBAAAAAkFAAAABQQAAACgAVN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5PYnNlcnZhYmxlQ29sbGVjdGlvbmAxK1NpbXBsZU1vbml0b3JbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0BAAAACl9idXN5Q291bnQACAIAAAAAAAAABAUAAAB+U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24HAAAICAgJBgAAAAUAAAAAAAAADwYAAAAFAAAACAEAAAACAAAAAwAAAAQAAAAFAAAACw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5XaW5kb3dzQmFzZSwgVmVyc2lvbj0zLjAuMC4wLCBDdWx0dXJlPU5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFAQAAAJoBU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLlJlYWRPbmx5T2JzZXJ2YWJsZUNvbGxlY3Rpb25gMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAZUmVhZE9ubHlDb2xsZWN0aW9uYDErbGlzdASSAVN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5PYnNlcnZhYmxlQ29sbGVjdGlvbmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAIAAAAJAwAAAAUDAAAAkgFTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwuT2JzZXJ2YWJsZUNvbGxlY3Rpb25gMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAIX21vbml0b3ISQ29sbGVjdGlvbmAxK2l0ZW1zBAOgAVN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5PYnNlcnZhYmxlQ29sbGVjdGlvbmAxK1NpbXBsZU1vbml0b3JbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAAflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJBAAAAAkFAAAABQQAAACgAVN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5PYnNlcnZhYmxlQ29sbGVjdGlvbmAxK1NpbXBsZU1vbml0b3JbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0BAAAACl9idXN5Q291bnQACAIAAAAAAAAABAUAAAB+U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24HAAAICAgJBgAAAAUAAAAFAAAADwYAAAAIAAAACAEAAAACAAAAAwAAAAQAAAAFAAAAAAAAAAAAAAAAAAAACw==", TargetFrameworkMoniker.netfx461) } };
 
-            // [ActiveIssue(31912, "Blobs need to be updated for UAP")]
-            if (!PlatformDetection.IsUap)
-            {
-                yield return new object[] { new System.Collections.ObjectModel.ReadOnlyCollection<int>(Enumerable.Range(1, 15).ToList()), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAJABU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLlJlYWRPbmx5Q29sbGVjdGlvbmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAARsaXN0A35TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JAgAAAAQCAAAAflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBwAACAgICQMAAAAPAAAADwAAAA8DAAAADwAAAAgBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAJABU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLlJlYWRPbmx5Q29sbGVjdGlvbmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAARsaXN0A35TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JAgAAAAQCAAAAflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBwAACAgICQMAAAAPAAAADwAAAA8DAAAAEAAAAAgBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAAAAAACw==", TargetFrameworkMoniker.netfx461) } };
-                yield return new object[] { new System.Collections.ObjectModel.Collection<int>(Enumerable.Range(1, 20).ToList()), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAIgBU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLkNvbGxlY3Rpb25gMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAFaXRlbXMDflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQkCAAAABAIAAAB+U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24HAAAICAgJAwAAABQAAAAUAAAADwMAAAAUAAAACAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAACw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAIgBU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLkNvbGxlY3Rpb25gMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAFaXRlbXMDflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQkCAAAABAIAAAB+U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24HAAAICAgJAwAAABQAAAAUAAAADwMAAAAgAAAACAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw==", TargetFrameworkMoniker.netfx461) } };
-            }
+            yield return new object[] { new System.Collections.ObjectModel.ReadOnlyCollection<int>(Enumerable.Range(1, 15).ToList()), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAJABU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLlJlYWRPbmx5Q29sbGVjdGlvbmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAARsaXN0A35TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JAgAAAAQCAAAAflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBwAACAgICQMAAAAPAAAADwAAAA8DAAAADwAAAAgBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAJABU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLlJlYWRPbmx5Q29sbGVjdGlvbmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAARsaXN0A35TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JAgAAAAQCAAAAflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBwAACAgICQMAAAAPAAAADwAAAA8DAAAAEAAAAAgBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAAAAAACw==", TargetFrameworkMoniker.netfx461) } };
+            yield return new object[] { new System.Collections.ObjectModel.Collection<int>(Enumerable.Range(1, 20).ToList()), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAIgBU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLkNvbGxlY3Rpb25gMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAFaXRlbXMDflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQkCAAAABAIAAAB+U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24HAAAICAgJAwAAABQAAAAUAAAADwMAAAAUAAAACAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAACw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAIgBU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLkNvbGxlY3Rpb25gMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAFaXRlbXMDflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQkCAAAABAIAAAB+U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24HAAAICAgJAwAAABQAAAAUAAAADwMAAAAgAAAACAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw==", TargetFrameworkMoniker.netfx461) } };
             yield return new object[] { new System.Collections.ObjectModel.ReadOnlyDictionary<int, string>(dictionary), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAO0BU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLlJlYWRPbmx5RGljdGlvbmFyeWAyW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAxtX2RpY3Rpb25hcnkD4QFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5EaWN0aW9uYXJ5YDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JAgAAAAQCAAAA4QFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5EaWN0aW9uYXJ5YDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0EAAAAB1ZlcnNpb24IQ29tcGFyZXIISGFzaFNpemUNS2V5VmFsdWVQYWlycwADAAMIkQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5HZW5lcmljRXF1YWxpdHlDb21wYXJlcmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dCOUBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuS2V5VmFsdWVQYWlyYDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1bXQIAAAAJAwAAAAMAAAAJBAAAAAQDAAAAkQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5HZW5lcmljRXF1YWxpdHlDb21wYXJlcmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAAAAAAcEAAAAAAEAAAACAAAAA+MBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuS2V5VmFsdWVQYWlyYDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0E+////+MBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuS2V5VmFsdWVQYWlyYDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAAA2tleQV2YWx1ZQABCAEAAAAGBgAAAAR0ZXN0Afn////7////AgAAAAYIAAAADGFub3RoZXIgdGVzdAs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAO0BU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLlJlYWRPbmx5RGljdGlvbmFyeWAyW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAxtX2RpY3Rpb25hcnkD4QFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5EaWN0aW9uYXJ5YDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JAgAAAAQCAAAA4QFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5EaWN0aW9uYXJ5YDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0EAAAAB1ZlcnNpb24IQ29tcGFyZXIISGFzaFNpemUNS2V5VmFsdWVQYWlycwADAAMIkQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5HZW5lcmljRXF1YWxpdHlDb21wYXJlcmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dCOUBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuS2V5VmFsdWVQYWlyYDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1bXQIAAAAJAwAAAAMAAAAJBAAAAAQDAAAAkQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5HZW5lcmljRXF1YWxpdHlDb21wYXJlcmAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAAAAAAcEAAAAAAEAAAACAAAAA+MBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuS2V5VmFsdWVQYWlyYDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0E+////+MBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuS2V5VmFsdWVQYWlyYDJbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAAA2tleQV2YWx1ZQABCAEAAAAGBgAAAAR0ZXN0Afn////7////AgAAAAYIAAAADGFub3RoZXIgdGVzdAs=", TargetFrameworkMoniker.netfx461) } };
 
             var simpleKeyedCollection = new SimpleKeyedCollection
@@ -1399,9 +1365,8 @@ namespace System.Runtime.Serialization.Formatters.Tests
             yield return new object[] { new TypeWithoutNamespace(), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAHBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuVGVzdHMsIFZlcnNpb249NC4wLjMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj05ZDc3Y2M3YWQzOWI2OGViBQEAAAAUVHlwZVdpdGhvdXROYW1lc3BhY2UAAAAAAgAAAAs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAHBTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuVGVzdHMsIFZlcnNpb249NC4wLjMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj05ZDc3Y2M3YWQzOWI2OGViBQEAAAAUVHlwZVdpdGhvdXROYW1lc3BhY2UAAAAAAgAAAAs=", TargetFrameworkMoniker.netfx461) } };
 
             // System.Drawing.Common
-            // In UAP System.Drawing.Common is a not supported assembly, so this types throw PNSE.
             // Since this code paths use GDI+ we need to validate it is available
-            if (!PlatformDetection.IsUap && PlatformDetection.IsDrawingSupported)
+            if (PlatformDetection.IsDrawingSupported)
             {
                 const string InlineJpegImage = "iVBORw0KGgoAAAANSUhEUgAAAG4AAABkCAIAAADoopLKAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAIABJREFUeJzcuQdUU+u67825Z++z99qrr2VvCCi9954EQkioCQRCEgiE3nvvvfeOgEhXQBCkiKJiAcSCUqSDNJGO9G7ug9nbs+65e5xx7rjfGHecb47/eMczZxKc+c3/U97IYpLxRD24go0UwE0Ldrn1vHhk/dbUVvWnXcuCO9d7p28NzmW0vLn+6E3ti/6WrtHXo4t3X3d/YjA+bO5UtDzaZDA2GV8Wt9d3GIe7DAZoj8HYP2LsHzAYX0BHoL2d3aODw6+n/6v+mx9f/reDxbWsK+jusHX+Y83QQu2IAmLcDfPcmujWbv/6tpqpjfrpjett/TVvx1/PbkxsMNYYjN6VrUUG49XUXErZrWUGY/XoaP3L4Q6DMbd+uPUVJWA8+jupI8bB/h85Hu4fHOztfzk8+v8nSufCp3Eto6F3u+lp1Wr+aVK2QWivWNfSRp+qx1VjK5VD84kN7XkPXz8Zmx9aOwJ2M1/1aGgqurBsaufw08EhXPzMYPR8mJvdONj5SvPw77Y72t/b+eO/vbOzs7W1tbu7e3h4+P+Mwf9Hxz9B2Tx79HiJUTO6UdrzqWpoJa9zNPVxT3nfJ6vMirLe2ar3n8Ju3g8vrS9qfdX8fuLN3EbfLqN7nfH4w1Jm/aPxPcbwxu7E7uHw6vrLkemptd0NBgO8uXXEpHm0f7h3+JUsaP/L0ebuzsbO9s7B/n97kP8U5RSDMcFgdG0w3m0xPjAYL5YZNX2fWiY3bVJvNk1svlhh5Lb2pDW1Vb4ZePRh7tXS1vNlRsvU1sOpzZyHr14t7j6dWBjcOnr/ea9rcm5q6wDsuXLIWNre2TjcO2AcHTKO9r76FLTNOFw/2IXrzNP/7sc/QVnXO/hsZvHF/Pqrxe2OT9vFT/uym149GF51zax+OnvYu82oejtV3TPxcnW3a+Pg5erOw0VGac/87YHlhMYXtf1zt7s/DO4zhvYY7WPT4xu7kOxz+4cz6+sre1t7xxyPmO1om3G0dri7vLv5+WCHeeW/+/HPEnzg/euFhf6NnfEDRv/6l+rO4dLW3q75L6FFDx6ObT4Y+ZzZ/Lrm/dT7A0bbymbJm97bH/aj7/fmdE7E3XtbN7Ja0//p/T6jbX6v9uXbt58WPx0y5g6PPm5tLuxtbjMOdhlHO8ccv6wd7S1sr898Xvq4try8t7UFHem/+fFPUI7ubfZvrHZ+nO1d3Rjc+HK7oz+h7P6N5rdZDW9bhteLnw0GFtaXvxnuO2TcHZ3yLa3MfjXnXPwosXUou328bZ3xcHb/7Raj/PV4XsP91qGxid39+aMvs3s7SwfbG4y9Tcb+1teBaflwZ2ptaXh+BjSxuvBpe+3/NYr/2+OfoJxd25heWZ/+vN0zvQCVLvZG5fXGpy9n1kqf9rWOrebee+kUfz3zbtu7ZcbbpS8NPTNFr0cbx5bCbjVW94zf7Ox5t7w1ecgY2zuqefYcUnt0cWV2a3fnGN/fx8yZ/Z25L4ftI+NvJudejS89H5hb/drxp9bXt5mNHkam7eORCT4FL0GXZ97rwcHB5ubm0dGxf6Hp/9Mvw3z1v/7lYXKAj8B68PWAAC7+/eXD4zs5nuOOvhx+OYImuXecUkffho39/f29vb8X+eObhN4Jb/465H05/ugXlq6hseG5xY+be0NLG68+zEVeryh/0jW+y4i7eb+pb/ZW+2B0aVPN6/FpGMsPGW1Tm+VdH+59WImqbK7vn6rs7O2cXelb3e5eWK1ufT6xvv16ZOLN6OTI3Er/9Dz4cecrNRC0+NHPO28ml+o7+t9NbXdNbM9sbu7+AyUUVJjq1w6OZre3v1E7/Hr856b4P0LJhPjtg3D8O0cmysMvDMC7DxPGwS7oeF7+97/PfADM+Pgx7O79fUZm3g+DwfKsZwC+/7vJuZHV3azb93MbnpY9fdc+ue6dUd7Y+7G5fy4H2kvXRO/nY45AtnFkGSpjWv2zR+OLtzv7Hg5OPh780NTVl11e/Xb84+N3A+0D491T87DObB2uMBgf948WGIw3U5/g73d//NzYOfBuev3t1Mb4ysrml7+jZHyd2dcPv8z8w4ZMF3z7qt++w/8lSvg7/wu+Px6wS9s7gKa4vbm1tbO9tbe7cwS1/t/fDJb89pjh3sCYcOWPD5vlxdBEa+/wo56R2UNGXGld18JucWtPdlOnRWh69auxlqFFyPGbbQPPJtbBpIWP3j39uPv2MyP/4evXc9t3u4budQ3VtnWVP3jqG53S8rK3tXsI3D2zy3g5+Wl0Y29yn9E5NvN64lNDZ8/b6aW30yv3Xg8Mr+xNbTH6Z2eXtnf/iBLy/SM0pH+wg/uGFb4/BJ8/f/7fOTKP/yJHZnb/8fH8xwP+ta2drbX11eWVlc+ra1ub24f7gJL5FOGz6+vra2tr8Bcg3t7eBtB7R4dQB+DewZtf9g9YChse3Wxpe9Q3CdvB2NLGSQYjs+llakOnrnPojYdv695Opt15WvKk9+WnPaiV7dNbLSOrHTPb1xrauxf34VOPesYaX/TUPXsVGnftfntfy+uhwaWd6QPGk/HZN4sbPRv7IyuH7+c3m171A0coIHeev3k//3l658uH1dXP+4d/RLm6dzC8sMC8b+Ydf/v+cBz94fivoPwPLzEtCT5iPp5/8n4o8WsbKwuLc7OfPs3PLX1e3dzf3fv6QeYtAUd4ovAXmE939x+75IOjw93tna3VNRY9O0/X2MzSx8cuc0kuejq145lTU9r5wdg/ETpP5Yvh0ILaxMqHkOxPxj8/HF6qbB+52zUZV9r47uP2s/6Z9v7p5z1jbb2j2Tfu3m8bKGtsv/9uvH1q5ebLvqax2WeLG2DAgYW95tfD/QtbfXNrTa+7x9a3mAX0W62EO9rbZ8ysfH49Ogo3CbnzLXH+WPW/9YpvNP8TG/6xFH57JMw//h+8yXz1cGN7Y3l1/uPs5IeJianJuaXFjb2dvT+8h+nKbybd/Lqvg2J6vIVb/bzycY6FYOOBt/VySciNLG5wTim5P7ZhFnOjum/RJ/Mm9OvbL0chCMy9DakNaX68Phm43T4ckVf9anz14duxR6+HWl70PXszkJpdfau2PT63urzlzcPhuRvt3bcHJ+unF99N7XYMLde19UFeQ+d52PN+cnsHOK79A+XhzhdoO9DB59Y3uycnYZP+rYlDMDc3B1+A8bVUwcEE+q17/Cco/0j8myXhD25sbEB6fntC8Cqz8B3AA15YmpmYHBkaHhkbnZn7tL67vfe11MB74CPz8/NwMzBUwN+B0xXGwSpjH3Ycqxvr4OWFD9MsKZX3KO5hWja+ZO/YlPoXsIl0yaquGfgcnF8DPQcaTlBedUzZPQiYp/VvphteTUTl1bwYWap/3lt9/0VFfeud+889/FKSsqoCE25UPOmGDeXt9x9uj85Uf5h9Pb79vH+prq1/7POXkdXt2vbO11MTYxufoSwu7+xtbO5tfd452v17rYQJ6Y+1fHZ29vXr1319fSsrK7tfD2aGfsP0f4SSaUlIUsDxzZjwNrgOz29/bXN1fnFq/MNg/8DQyPD0p9m1HdiwMVZXV8GPCwsLY2Njo6OjQBNuZnFxcfZgc3ZvY35rbXF1ZfHT3ML4FEtxfde1yrbYvPq4/NrU0vra5z2vPixMbB7ZR2YllDS+GFu5cfdJQ1sP+Ll/evHRi+6bz1+UP+2ML7/TNb9Z2vIy587TtFuPwq/VxGSWZVe2xJQ01XRNvV3aH1w97iArW8u961sPRz/cevFq/IgxsL2X3/L4wfAYxFBPe2cWV9bXvu7ON6A2jSxtPB2eHZie7PnQP/55eGT9fX5Drp4z3cTX53pja/fw+8W15QPG1/GDqcOvH2XsHjH2v3z9Ye94voMpFcrFHmNv4wge0tbn7eMXv8C79zfXFqYnhj6OD+6uLTK+wNPb3VtfWp2b2liaPdxaXZp5uzDe/rH3wcTLhuGO5pE3rydHPn6cha3u6iawm5wa7X4/MjA4s7w0d7Q7zdjrWv/ct7I8ND0z9K6798nj3pZGlsK613nV7bcedBc1tDe/HoH+AM0BFJR5Pe/ug86Juazb9/LvPhpeP7z3brTofntBa2d9z2hqdXPv4s79rqGSxqdJ+RXx2WWugfERmWX+meUwML38tNW3uAb0P63N96xtv1laq+8d7Fpeb/0wk9lw/97AKMQfthjD8ytQ2iHRjxPocH92a7+1fxLOx+c/ltSXOwTbkxwNjdxhdVcxtAWU86uL0DFhfv4Dyi9fUe7BQPjtN2Xw9P4+AyB+Xlz7vLi6u7kBfZhxtL2+OjszObg0PXq0uQynIAg2F2d2V+cYu2vz4y9nB1on3zQMP7898OTuQGf7SP/YxIfl+Y9Tq58+zo2OD73p7ut6NzI5ObGxBlvEyeM572B2cWW87/3bB/efVZWxxOTW+ieWFNS2BaUWgiVTy2oaOt/devg8Lje78lFLx+hYclVN1M2a+sGZwhcD8U0dfkW1sI/0yylpeNXf2PY6q6DI0cklKCDQ0NLZOTjBITz9+oM3bVPrfcub6wzG0u7m+42D0X3G04m5l3Of63uG02qbmwc+dH5afT+3OrYAnoE0O9g7OK5Ky/uMppfdr3qG27u6K+rvxuakxxfkVj1+9vDdeOOr8e7hgdmlheMf6L4wW/7RsQN3do+OtuBJgOn+PgccszxGt7a4vPxpfvHjx7Wluf3t5YOdpbXlybmP/TPD3etzHxhbS0cbC59nx+Y/9K/MjGwvTX8c7Jh4+2DoWdX7+6U9DyrfP2/pf9czNDgx0v9udmxwdnCwv+Plq6cdXT3v3898Aj/2f14bXlqZmPw41t3b/6S1q6mWpebJ+6SiuzVPu10j0hpf9iYVV3RNzz0fGg2I8Stvqrj/9kVydVXYzerCN4O5b8ciHnbFNrS3LezHlNc9fDfwbnD4TtWtIA/7krQ4Y3NbJ/8IC7+Y1JonzUNzb+Y3j39wYzAGto51/Fvc9vGaWf/o4cjHkT3G4Ow87FnBg1tfjhY3j4OZ1bXCmro7d1syrxVfK7z14Pmr1jf9N+48TC68m1sFCT40NTe7sbN9CJyOwe0zDrcZe2uH+ytfDtaPXQZXvhwxUcJIsDH/afXj9PLMh7W5DzurM3vrU5vLI6tz76f73yxPDGzNfVj/ODo/2jsz0LUw1rc2MzLT1zbe2dj/oOxd/fXueyW9Txrev+7o6+nte/1k6v2b2b6e/mcdHS1PO1+8ez00CZvgjuHxzp6Bl22vOptbXty503GngqVt8NONu0+bXg46hydUPm4PSs9q6e6pe9Fu5miUXZJZ2FCRcLM4uLg04d7jtGfdnhX3IquaH47N+aZdu9V07/GTRyW56f72xmXJoT6+gSHRyTZ+MZGFdcVP++52j47vHA4sLb+e32kZ+lTVOTC6x+ha3EuvfXx/4ONHBmMDdmZfd5arR4wx2LmvbXT29oXFx5WVVzo7exvSbONTix6/GGpo7YlKLzV3D+seGhmbnl7ZWD38cvzj59HBytH+IuNg8WDr09HOImMXOurW8U9RsAPdg6Q/2JifAPetz41uLo7urIKGN5fery28+zzRu/VxcG9+FNaV8e7lsXcb0/37C2Mfu9tH2xq6G268rcnuabzR/+RO38vWnjcd3S+aP3S3T797/f7Js1cP2jrbu1/2fHjePzU8vdDdPfSk8VFdftHNxKSiuAiWu+19uTX3q1o7vePTMipuW/j6BaSl2IUE4inakanRoSmxgSlJXkkpXunZkOYmoXEOEVEppWUkC4u4lKTEhOhAD3srfY1QZ/OEmNik1Cz7gKjAnIrk2qeZjc/uD3yoftnV1Ddzq70/7U7ro5HF5v7ZxMoHd99N9KyCew42jw7XvjCmt4/eTs13jUzW3m/28HKNiwtLTEwMCIhwdQ+7UXpvfv14fJte2+wZHhsan1xYXTw6Ho039nZnd7c/MI5mtlc/7H6ePtiY+7K1xNhZZ2xvMrZA25uzQ9tzI3tLI/vLw3vL77cX3q3NvlyZblscfLk09Ar0qQ8APZ3pfgZX1j90f+xqH35U11Wd8+pWcndt9vvHN3vbG7pe3O/rqB979XC840nfg8ddDzvetg+0vxpvbh+a+fR5sGf0ef2jhryiqqSUkoQoljvP38Jup6q1I/1WdWr5TdfoSLtQf0M3B6wOwScs1MLJ2cHL2yUgwMU/MDEn18zROSQuNDUnxcHZqrKqJDsjMTEqJNTHNdLPI8THKyo61t43LCy/KqOxI+tex93e8dKnLys6huq7pxMqWmLLm+Nu3odpH8ZVaE0jI72Pnj9tefXu2dBMS8/Yg5dvK2trQkN9szJD792rvnOnzt8/2tUjvKaxdXFna4dxACj7R8Y/Qf88tvLa9vb41uYg4wvk78DGwtDO8uT+59nDtcWj9ZWj9c+HMPJMvNv+1He4PHi0MrC3+G5tun1+tOXjYOPEq/vjnfeG2+rft9b0PKyCdexF03TXw4mO1r7Gyo6S5LbCqK6q5J77N7oe3+xovd3fUTfwvKHvQf3bhns9LZ19L0afPh+qbHzd3TX06vGrZ7ebH5dUPiosvl+cz5JQWBFXcDM4Pdc3KdUqwM/YwxVvRdcwo2IIJFe/UB2ysZm1naubh5eXx42CXE9Xp8AAu9BgFwc7WmP9zdSEqNiIkMiQQE9nZxtjI29vXxvPoPiyhrKO4Vtvxp7PrkOvv9U2/OrTYfqdNvPgDMvQLAhaBpfjyltKCrODw8PC0nNhKqh6/q72aWdtQ/21rMTy8rjUlKCw0ODo6NT0zKKiitutr559WBrpGfrQNzT6cWH26Nimq5ubw5sbfYwvY58/9q7P9m/Nj+wtTx6szB6uLB6uLIOWRjo3p98eLr0/Wu7bmXu1NPZoqq92tKty6k0LoBx6frf30W1ACYkMpzNvH40/fdR1p/TJ9djH14JelEd3NWS9vF/4pLmkv72m53H1q7rKzpo6QPm+c+zx44HiiuePGp89uH3/flHNw4LyhwWFdbkZLH5J2bqWDjgK3cY7wC0wWJ9moozDqeG1DA0NHb4edDrd3t4+PDw8ODjYysoqwDMgMjjY0pScEOsHykqLtTA2drF1MTU19fD0Do2C51Lz8FV/eXNHWPatsGtVhXc7iupfxObd8YrJz654RLEP9k8sCkkr94pLz6tpLLzTVN306FZ13b2mllftLyODQ+9Ulob4eyfGRD57+LCy9JaZoZmvm9/A2+E3Pa97B7snpgc/r01+OZqD+Z1xNHa01/95vH1hsPXT+4erY22HCz2MtSHG6sDBfPd8b9Xu1APGUgdj7sXBdMfOh7a5d/f6H5b3P7w1+qwGNNRaNdFx9/PAs43h9uW+1uGnee8a057djH1cGPPkRkpnSd6b0uKusrI3HeX9b+tePq28XZJRkpNWf7OipeZefdndpqKChhv5d6/nwnqv+EZzSSGLY0i0sr6RpIoG0dTC2tXdyNKCZm7q6uWmr69vaWlpbW1No9FsbGyCgoL8/f0tLCw8HD2iQkIcbekpiUFx0T7pyVH2lpZh/mEUqhFMRV7+wQmZ+aV1D5IKqtwiM3wSC8obO0vrOyIzbjpB0b1eS7L0gR1RWGqpd0xKXE5RUk5RccWd6LhkFxe38NAwGoVccC090MfDxpwOTo8OjYwKjvL3CPB09IlJjG66X7u4PHH8u8fOxMJs5/z0s9X5jvnBRx/77oNWxp4dLLxjrL6HdWPqxfSbsvXRhqNPTw8/tu1Pte9OtC/03B9qreh7UD785PbAo4q3jUUgCN633Hx9twA4dtYkPimLeVKU8Kw4vb0k93lh/vP86x2txX1v7r5pu1Nfcb2iILeuDKaZiuspubfSU0CVmWnVOZm1eTkgFn0rRwm0Op+0opoeydjaimJCo5kZu7o7aWpqgjGNjY0NDAxMTExcXFwcHR2pVCqdQvd1d7egG0RHeAb62cdGBtiam8eGxZIphnZOri6evoERcQDIPybV3jciIOFacc3jG1Ut/tHZxnZ+oYnXtal2XmFpvpGZCVk30vPL8oorHz3ryMrNO/a7v6+DvbWfp7O3m5ODtYWpoaE5zdTewt7G1NZIzwSqc0ZW/Os3jzc3PsDszziaYOwNMvbeT/c0Tr6rn+ltWh1/erDQdbQEHNvnBh6MddxYHrizO/Vwd/LJzodnW2PPwJUDj24OPq4EM4LAnr33y2DtaS59UZPbXhX3tDzmUXH0o6KEJyWZrUXXWvJzm7Kym2qyX7RWvnxS11xTWlde2lhRVZFflhaZnB8dUZQQW5GReic3Gzjezs5gQeH1BOURogoIApkKfsTraKNVEFicsoaGBkAEmmBPJk3gCBd1NXQhozVxSHcXU1BkqA+cBvsEU41Nndw83bz9/UMiopMy/MNiPIMi0/KK06+VZebddPeNJBnZ+IcmaujQnDxCrB19I6JTcvKKK27Xdff0NzXfS09PLS27ER0VGh8V4mJvbW9lHujt7efhY0o1pVNMvZ39TEz08Xi0gb5qUqzncG8TgzHJOBj4PPNo8l0d6FP/vc3pti/Lb4+WulbHW+EKoFzqr9meeLA59nBt6OFKf8uHjpquhoKuhkJwJaCEFbCOt9WCwJudVYlPS6Kb86Mac2Pv5ac238htKshvyM+/WZB8/07J44bK+lvFDbduPb7bUF9enZeUfS0itCQpHiBCdkOy11zLYpFBYwSlZSURigSSnjHdUJeohcOhNNVQgA+qJOQ4rACUTCYTCAQsFkslUulUKkpB3NmBFuTvALXSzsLC28WbZGhi6+Tm6Obl7R8Uk5AcGhYBKioujY1NTU/P8/EJodEso6KSyGS6mxtwsbakWyfFphTm3Wisb6isKCspLbhVUUQ3J9fdLvdxd6bq64L3C3Lyc9Nzg7yDHSycoyK8zUwIBA2ZAC/j7heVjC+jjMOBz9PN0721M311iyPNO5/aGGtvj5ZfLY89GO+qmnxVsjpUByjXhu8v9DROv6rtuV/0uCy56Xps++2cN/U3OqqvtVVlQ2rDQA5839ZkPi2Jr8sMuZUUfCstuiYv825xcVP5zdtFec3VFU1VFZU3rt8pKXtU19hUWVOQmpMVGgQooVZClawvyINkZ1FQURWTl5NSkNPU1qAZk63Mqc72dD8veyAIJdLJyQk6j7m5ORMlZL013RoyWlVZ1tfLOjkhsLz4mqu9vaeTp7qOAdXU2sTCxtnFLSoqKizIP9jP61pGSmxETE56doh/sJWpZXpSmq2FDcQWJuaOdNucxPTC7NybRUW52WnX8lKuXU9GY2VjI4KS46LCg/zdHR1D/YOvpV1LjEqyM3Osrcyvrcy9f/dGb+edtZnnjO1uxu5bxsaL2f460OJI0/bsU8bqq4PFDohHX98ElCuDtZvjzcv9jR/f1I4+r+iszWnMjwKUzyuzIKMfFCXW5UTA6eOy1NbytDcV6Q/zo2/F++eFe+fFhJZkplUVFdbdqrhXVf2orr7hVmVxVk7Ztet3yysrrhelRMQk+XpBjldlpUOtBKbZYcEsqpqaSliMqgbWgKxraUlzsjPxcbMK9XWCvIaGAyXM1tYWsOrq6mp+PSi6FHMaDYuW8/O2gXKZnR5nZmRkY2qjrKFLMKDpkQ3hAUSHh4SAqezMI/3dYoJDspOSA9w9TEgGKdExzlbWsSGhDuYWoY5eOdGJuUkpFUUFackx4ZE+6dkxNAs9CxNKZEhAZkpisK+vmRHd2MDYwdLRx8U/IdKzujxj4HXj/PjT2YHGD+9uzb6v+DxW92mw5mP/bVg/T97bnW/d/NgyO1A92HljpO36XE/l6lD9fE/dZOftoSflL+5k1+dGPCpN6byTBygb82NuJfvXZIbeL0w4ppkbXZcSXBjumRnskR4ReC058fq1nBvXC2pLbjfeqrt9ozw/Gap7dtWNkoK0jFBP73gv95zwkLKUROCYGRIY4+7CoqlL0CHpQmo7Otm4OVvZW1DpZC2qLkZZWVldXR3SHDoPiUTC4XAqKiqQ4AhpBEBFyos52Ru5Opn4eTnilJX1tfVVtPTwJCMdfTI0/bjIUJjbHekG3rbGEX6+qdFRLlaWeIxKuK+PrYlxTFCgo7mZC8XUy9TKz84+NyUpJMDdzMIgKjEwMMo9LjKYRtaDBA/19w/w8lNHq6soYsCVQZ4WhTmRb55WzY+0rk48/jx+b2uq6XDhGNx0XyVoYaRubap5daJpqrfifXv++8fZ0MQX39+ZfVsz8aJq+OlNcGXT9eiGvGjwIACtTA0siHQtT/RlGrMuwe9WhEdekEtGkHtaeFB6fGxaSmpKanp+Ul5ZTnFRRkF2XPqNtGu3C0vzU9ICXd3BlXlR4YASmk9qgG+4kz0LRkWNQia5OJl6eZg42+pYGKmZG2hYGRCodCM5pLIShqBPttXE09W1KXoUI209AkpdQ0ZRFq+JDvKyTY72A/pEsp4myQCJo2jpGFmamPo7WcX7OyWHeyZG+8dG+1tY03X0tIxNKLZWpp6OdjiEQnxIUKi7W6h7SKRPcKCbk4uVkas1zcfR1pFubaBGqihMjQ9zd7Emezkap8f5l+TGZycFh/vZ1xaFNFfEdDZnjXXeXOytXeqpnekoHXmY+/ZB5sCz69NvK1ZHGtfHm+f6at4/yWuvS/jQcv3jsxsLLws/vswdbE1/WZ/0uCLpQUnqzayIe+UZZWmhOaGu1anhDdmxd5LD7mXGpkc7+jnS7Iwo7jYukYFxaQk5udkFxcWloSGRcbFJSYlpiQmpyUnpKckZEeExMKkkuprfCPeszYiqy4wuifbN8LFjkZNHaWlpWFiQnR0o9lYEK5qmNVXHjmZAMCBIyMnJIbDqWkYIJQJKRYtAImnra2PwBEVlhC5elYnSy93OyJRGoptitE10Saa25pbBbnaJgS4pEV6AMi4mwNnN3siEbG1j5uxg7eFgi5AQ83N2tKcZ2dGs3a3tvR1s/FysogLcEkID/ZzcjHUM40LdgjytPB1o/m5GeGdzAAAgAElEQVTmCeEe11JCc1PDMhMCa4simm7GPL+bMfC0ePZN9fzbakA59ji/+2H26Ivihf5a4Lgy3DD55iZcAZQLHbcWO8vmO29Mv8gZeJzWfieu4UZERVpIaohDWUZIboxHqp9NZXJQQ3Z0bUrog2txhWk+4V6WTqaGbpYOwR5hUUGxsVGJKUmpEUFB8ZGRCVD+Q0JgbwKnXi4uUOKSPa1yQ1yLY3zzw9wT3S2CLUks3Hyi8ooKOkScsYmWGV3DgqZlY6zvYErTJGpIysvKo1TRWKKYlLKMIhqvT9QhE7A6uiiMEqD0cjKNCHB2dbIElBRzCxUtYx19urWpObgyxsc+NtA5Mtg9NNjdzdPJ1ILm4mrv5+0W4OGqJC3pZW9rrq9nqkezM6Z72VvGBLnlpUbmp8YHuXkY4cmO5gbutjQfJzNfZ3NQoLt1VIBLcqRvVV5ETUFk883Elw3Zw0+KJjvKJp8Xjbfm9bRkTb0u3xi7B80a0nn4ecHb5mMPAsrZ54UTrVmjT1IB5Yu6hDu5wQXRnomBVqUZgdfjPbNC7G+nBtVnRVQnBTRlRlTmhsQHwKaN6mRi4WHj5u3o5ePmFeDjG+BoE+buFOrm6O9g7WdvBacupkYmBI0AC3Kko2mipy0oxsUCxMLKISggKqGMQejooQ2pODpN28aU4mRhrmekg1JVRuM0IccFRRWkFVC6ZD24CCjROBVIcBs60dXWyMyEpGtA1CZTFFUNoAiYUAxdLYwCHemBrubQvtxdLSHByYZ6gDI0yDc2NAiPQYf7eDmb0p3NrV0szcGSSZEehdlRuSlRPo72JHVta5qek4Whuy0dVguqjom+Jqz2puTrCQE3kgJuZobeK4p9VZfe35I78vjayMOsN3eTJ9qLN4ebtkeb57oqBx/ldjel99zLGH+QP9CQ2lMX09ccCyhfNSTX5YfmR7oXpXo/qEy5WxRdnuJTfy3sblbIzRj3O8l+FTl+sd6mDhRdKxLFwcjKwdTWydLG1cHWVl/TxYgIcqQQXGl6vpZG7iYkK101J7KWF10/xM4kwsk80tkixs2a5aqAtJCkPAKD0NRVIRuq0+l6thZ0R2trAxOCigYaraYGxuQVkpBFInUpOlr6qhr6JA2Cpp4OzoyqZUkjkPU11fEakPUKGBJO08CIRHY2o/raGvk6mrg7mjo50HX1tdW1VCHBA/08Y0ICCaoqTJS+js7uNhZeDvSYEMesJH/wnZe9tam+gYuliZM5zc6EYknVMyURjHQ0yFpYfXWVGE/nOB+n9BC38hT/h8XRr+tS3jenDtxPbbsZOfggZ/ld9Vpf3ccXZUMt1/qbs2AdbMjqrol/czv8XUNkz/3EthrYmfimB9jdzPF/Vp/VUpl0OzugMS+sNiPgZqxrbYpvabJLuLOBBQFD19Sy1KPaUk3sYY9nZWGmjbEmqlvq4Ey1VCAAms6GuhYErAuN5Glm6GdNB7nTKXYGBBZROTVJlKoiTgWLV9Yl4SiGBGMaxYxmiidj5dEyMggFUSk5bgERlKoKWFJFS0HLgAx9hkaFBoU3N9SmkLS0dLVVCTrQdjQJhnSqkbuVcZCTaZCbha+7tYebFXBUUlGEtuPuYh/o6aYiJwMJbkrUdbYwAwPam+kEehrHhtpFBtgHuNn6OjmAN+ElK0NASbYzoTmYmlgbUU1Jeu4mdB8L80hXm/xIz6b88Jd3kvrupQzcT35eHNpblzLzrGih8yasow+uDTZlHqsh6/3d5N67sYCyszaiocA3J9wm3IGaEWlxtySspiCwONGpOsPrToZ3dbL7w+uht1KdIx2JFpooI6yqqaaOqY6epQHJ3phsroe3JOlARpOwyhR1jBlRm66jCbETjeRmSvWyNAZBYEvWYRGSUxeUUxaWlxVXFJNBiSOUZFAohBJSBUtQFJMTFBQXFhSTFJWSJVL0ze2NcToIJQ1NbSLeiEIAV5pSNA3JeIL+cdYjsGRmggPKYGezYHdLf09bLw8bNU0MCq1gaERycbTxd3dRlpEClGZ6RFOSLo2oZmWs4etGDvYx9nU19ne1jvL39nV0dLOysjM2tjY0PPaFhQWcgiwJBg5kapCtVW6YV3NB9Ju7qYMt6SOPUjvLIt/dThi5lz31uAAEQe+d5DcVsW+rEntrE983xAPKpxWBlRnOqQGmYfaUKB/9smyPknTXnAjzcqCZ5lGf5dNZkdBc4J/qbeSgi6Fh0IYYnIGKKgmrYqiJIREIBjo6BHV1VRRKXUUFTkFaWKyjMcWBRobVyYTqTDeElYVDGHlZQPIiD9dFHlY2ngvsXJfZr3CwXb6qoiUjJMXNL8YvIiWFUFGxdrL2CHAkGmFF5OSVsWgiAWtIVAVBguP1CJDg0igdNFaXQtR3pJP97Gj+zqberpZQK5kojWgG4MpQXy9NZVSEr7eruZkhQdNQB2tD1/BzNwA5Wem42RiH+3j4ODh52tq7WFjZGBmbG1AsKYZOZhZwxRinZ0OkBtpY50f4PCxK6LmXNfYkZ+JZ1tvKuJ7qxIG7aWPNORMtecONmW9uxTwrCHqcF9hZHg618m19ROtN/4p0p6xQqwRP8xg/g/IcT0CZFWZaGu9wO9W9Mcevqya143Z0QbiNB1ndRFWZhFLGyytoyEpqIiRV0DhVjLoSCiMvh0QrY4m6BmQDI10dkr+jnbulmTWFZKKjTdVUI6tjWa6Ii3OIibGJiLAKCV0UEDjPx3eOl/csD8/fTpz66cy5E5cus/LwwSZdEaumoW9ApJlgiVhVXVW8IZ5mSzO2MyYYEXB6ODV9NSQSicNiSLp4uqGBnSnVw840xN0u1t9FH6lhoU2la+hFuXoF2TkY4bChTnZZ4dCZKfBpV0uDKD+HhBA3aFNwxdPWECMvStbGQMWEkdPf2dnFwsaKQjfVM4Q9lbO1BQyhbuaE1ACTtsrIyefZU8/SG7Idm/NcHxd5Py8P6KgIbr8V9KzM/0mJ7/PqKJjSodtUZ3lVpHo2F0bdSvEJsyW60dXjPOmFce6VaT6NuYHPy2Ne3IptKwlrLY0uinL3MSEb4dQJSjgNZawSCiEnL4n6h5QVpTEoOTUVhBZOmaCBgUIJJdLZSN+WhDfD4yiqSBZOSUmgyS4qCigv8PMDxNNcXCevXuUQELrMy3+Bk/ssx1XQ+atcl7h54YoESkocKamAQ2gYaGmStVGayjIqcvJYRS1tgiGkpJ2Nl6ujl7Otq7Ux7HbsaHpGanhLXRIVqxZgZ+dpboJHSNuSCa50kpst1c5U19FCP9DDMtjL2tnKwJyqYUZRJ6gq6OKQBpqqdH0dKyrVimpMJ1IpmkSskhJNX9fBjOxnT86PdnhVm/jhafZgc9yDbNeWHLdHuR6t+V5PC3yeF/q1FweAmgp9WyvCmosDy5OdSxNcqtJ9b0Q7RzqQXOmaoc6U1EDLvHD7m4lu964FNl/zu5PiWpXinuROt9JSVZeSQYnKICTl5GSlpWXEpEQFpcWEZMSF5SRF5aXEFKTFFWUkQPZUoh1F18aAYEHUNNZSJWNR/+7KS4KC4EcmxxNXrrDzC4IfAeW5K5wgCIAj8L0ixMUucJVPUlBWRUEBixRVkBCQFhaRF0epYDW18FQq1czUxJJuZEUjWRrqWhkRKWpq5no6Bji0j62ZmwVFCylGJ6KNdVBaGBl1ZUmiBsLaRNfNjuZkRYHpCmRvakAjqhMwSLwKiqKlZapPAUsa4UmqSgiqLt7SUMfJWDvJh/7gRujb2oTOW6FN8baNcTYNsdYgiO8nOTxMdX6c7lqaZF0Ub1EQY349yup6pG1umE26v3mCO82Bpu5upu1jRQi2J6b4GBdG2hWEWKS465fHO8W70Ky1sVqy8hgpRYyCEloZhVZByEoAQXGErJSSgiwIKSetIC0BF8lqKtCFQBBAF9JFI1jAiSDI62+pfYabG3TqMjtTYElgyikMT0dWTAFxkZv9POdlDkFuMUVpSZScgLQor4SQkKw4VBJZhLKMrLykpKSMhKiyoiwRnGVAwCpImehpA50At+M9jJ6mrIMF3sFCS1aMR16CD4OQIOExFjSirRnZmk6yNNbzdbZ0MKPADKSjqoxHo/VwmmBJQGlqBG+gQqcioiVsiYgsP7O6NM86cFOQye1g+p0w87oIy7uRVkxBnBVCSfDCx3sSMoOMs4LMEjyocW7UVB8zWyMNG0N1K320DQnlb6md6GkY40T0oaHyQy1inQyd9LUpGCwehVVDYQAlSklemJdXXFBQTkICISODlJVVkJKSFhWFb6wsLY6WkcDISWEVZHCKsrCy/M7BAR4EJ4IfgSMABbJQNCGdIanPsF85ycoGgoCZ4+eucJxmu3yJm4tfUkJYVoZbVIRTWAhiZQ1dRRV1CVlFHgFhDg4Ozqsc4kJ8kAjSgvw0Pbw5lejvZutgYYDHyThZ67s7ULQ1lAlaKrBr0tdVoxpowyQAs6oGDgnNB+qss4WxMRGvjkCgpeW1UFigaUYzsDIxoOBV1WQFyEqiQab4NDdasgMp14l4w51c5mtcGWReFWxx059e7GVY4GaQ7Ksb5aIW5aKR7ENO9KREOOhGOZEAJZQUO2NtUz00XQcBdTPKjQrXvU0wIZY4L0OcpSZGXwmNlUHKiUoJ8PNycrGd+Om3s7+fvnzuEuflK9zsnLCyX7jMevaiGA+3BB+vtKCAnIiwgpgoiOWXy5d/ZWMDoEyaYEwmSjY+gW8JDhAhhuwGb55mY//94qUz7BxXBIW4RERZeXgvcfNAzCuuICyrLInAyCgqSYF/4RAVlhITFuET0tPW1dMmWJgY6eE15KQEDYg4kq4qDqusrYUj4NVBJH0YZslUih5cgcbi72oT4unsYmlKUldXRyjr4/CWZBNVJXkSHgso9VXkzDWQgSZ6oSZEN22Ur4F8oCEyjK4SZYEDhZtigoxQfmSFeE/tRG9CgpdOtAsh1FYr2For3J4Y5QijAsXenARF2URXydFIHepmjIdRmIO+B0XBiYgyU1MmIpXQEvIS/CJcnFfY2C+c+PHEqZ9Pnfv93KXTl1jPsMJ6/sT5s7+d5efkFuTmFeETEBMQEhcUhpUFCP5TgQ1BkN0XuYCUsICUjAQCJYvGAFmmSY/rpqAwkzVw//Ecx+krApzCMrB3EpOWB5pwKMjLivDKqqK0JYXlVRA4NEJFXFhEVVlJXFgIaoa4pIisvJScgrQqDk2m6lMMSZraahZUAmwTYcNjSSUBSh2MmqG2vjXVVBkhqaeFphKwFBwKKloQnRxkRHTAIj2Nke5Gis5kWUeStIO+lJOBjJuhggcNEeOmkRNmmBlMDbRSdaMi/M3Vgqy0PY1UaSRNE4oWRUdFV1WKoikPXSjEiRzuRPEzUXYnY6DtgCtVpREK4jLSUhIysuKifGIivKLCPCKCXEJ8V/i52Xg4WbmuXuIU4RcWFRARFxIDiQmKwikLs0RCcQR84E0w6U+XLv148eJpNg5ABsMQExwABXZcImLsfMLnr/Bc4uLnEpYAsXILXOTkuyIgepZL9ByX8FkO/pOXrp44e/HsxctXrnIJCgqK8SnJiuIunOAR5pFByeHkJBAYFPYK61WOq+zwgIREBHn4uIVFhRAoRXlFOQEhfhxCAqsooSIrjpIURUlIqMgoQILrYbXBy6ZUgqEOjoCUNkIjvMnEEBrFQ1sjNcw8xpca4KjtYanqboHxd9CK8iYnBdMjnXE3Ys3yIuleJkhrvLgPXdXfXMMGL4tRktJSVVBXlkZKcWNkuGnaxzR9rXX86WhXEpqORWnKyCFFpAElDENq6ipYpDpaXlVREiUlJCvCI85/RYiXXYCHjV9aTEpGXBoEgaSIBNBkAUOBrX67cOmXcxdgBXa/X2T99fxFEMQAlOlNcB/0dEAJ74dWDkWTORtdFRLhFZcEz17kFLrMI8rKLXKOg//3C1dPXuKCmFdMnktYBlZBKaSwjJKAJAJO4W3nwb+8Eld5xK9wi3FwicIKp9z8UryCMhxsQlfYhTivCHGDC3iFBAQEhIQEhIUFhSUEJWWE1TXk7a0IUYHGGVGm12KM8uOozwrM5ttiFtrjH2ablQSp30s1e1ni1XbdLchVMcIbfT3FqCCVFumjEuKO9HOUNdQ+H+om62sj50iVM9NSoKkijLFK5poq1mBSFIqsqkrG4bSUUQgJ8BqfpJigvIw4WoxVDy1sY4B2MdFwMMTaUTAQ+FgTMbKKCiISiqKSOAWUBhKtJCnLwkxY4AiCgDn6ADtACWQBK1PQyuE64AN7QukExACa6VmIj7s8twgHv8QVAUk2XjEgBWLnE+cRlWNe5BSSBkHA5HiGjfciG/95Vt6zF7nPXOACQXDuEg9cOX+W69IFHg42fh5uYWEhcZgH5ORkFBXlObiOzYvDoews9EK96NE+lDAXzQBbpaxIal2hZ3Wee6Q73s0EEeKID3XUdSArWhIVoUcHOZDCXKjQXvxtiRFuRk5GqiEuCr42Ck6GilYEZQstrI2OhjOZ4GGsoyImpiQsLM/PL8XPK8nPK8LPLcjHycfNgRS5pIXgN9KSMyEoGuAkCUpCRBWYhKRkBUUF2Tn5WDnEufllBEQkeARYANmPp89+f/I07G2AF7gPeMHKRAaMvhVNOIXrzHbEfABML/989jwIzHiJSxjwgSAAXheuCgJfIAsCgnARnAvXz7LzAUpwIjunyOUrQqwcgpfYBWBluyoMV7g5xfl4JIUEpMXF5GSkFRQVFZWUkCoqyjx8UiIiMnIy8urKSJI6wlBdRl+JR1P6PEaFi0JWIOnJIxQ4FWS5tDUUcCoygryXOH8+efWnE5KsV6Uuc/L+flaBk58gi1TmF9VBn1STO4EQOCnBfkL00mkJtnNyXBeQApcU+fnF2Ni4Tp/munBOmPMKoOTlYmdnPacowoaT5yeqSulhpTWRwhgZHhBckeIT4r5w+fKJM1fPXuS9xM51npUFWADKH06dARzgL+DFJAjIgCZABL5MlPAqxEzQcAoo4THAA4DPwpP4+QzbiYucgIkJCxL8l7PsP52+zITIdOLpyzwgCOANkNcADsRMcO7je5MVgFlfFCkmoigqLCcsJCUkKAYJzs/Py8fHIyCoLMCvyMUhwnP5qjQvFwEhYaImb6ouY0qScrXCOVvgDPGSVG0ZO5o6TI4kNVkNSWmsqDhREaktIyfPya0uIUVVUYXV3kTaVE+CqCKsKsmPEORSFLiKErmClmBXFhGR4+ERYWMTYL8MKIX5uAR4r/JwsimI8cBeVltFTgd2dGhZdZSUhpI0nCLEpISvcPNcZBPi4BK5ygP2ZGHOj0zTgd2Ym0VgB76DvAbKIGYNhRXibykPp4ASHgDzSfx4ihXYAU0gBYJy+f2Ji3/+6TRcgZiJlSmIfz3H8cMv50E//Xbx15OXT527euEyH7gSmPJwSXBdFb3CLnCZlev8OdbTp0+fOPHbb7/9cv682BV2KS4OUWFOIS0k0sfSJC3AOSvYua3Us/tOWOfNgIpo0ywPfK63wY0A4zwfapgLOdhRP97XNMKNak9RcjXB+lrjzXVkAz2IHnZ4a0MNQ21VfZwySQ1F1UYYExU1ZGU15eRUpaRkhQQEr7BzsV+C7BYV4pUTFUBKiarIS6kqysCqLCuhJCMOKxRKSG3Ia6iSWHkkSkKGBZoGNBMYa6CBQAArAGXOQOA7MB0gA8pgUoDORAyn8CqTO6wQA33gBQJw4DtI9lOs3AAXUDL1bz+fAX07Bf3pr7//+bsTf/n+1Pc/n/vlBCuTJqQ5tB0ONkH2y3zsbDzsbJzs7OxsbKygEyd5eXnkZCXRsKUzJmgFOZhFOpt607XL/NXuROpXBOkkW8gG6fKHG0gkmaLSrTCOxtIONKkAR1UfW2UTAq8ZUcCaLIpHndPE8Ksi+BESfLJCfHLC/MoywhpoEV0NUR0kUk9ZWRuBUIDJh/Ui67lTV9kvCgtwC/HwMCXABUMM9ARWtvPnWc+ehccOtyvGxQccdVXV8WgsC/RlZkeGlVkHIZHBbrACx+9+Pwm+g1eZlJltB94DnwL6IOZW/Zj7JS7wGqQ5rBAD1r/9fuF/fH/iX/72+59+PPWXX87CKeivv54DjnAdzMjU76fZT569Am0HGhGUTmYH57oqzAujnICoiIiIuLiohITYuQt8YmIwMqkoy8kQ0HJW+hi6hhRW9BxR9jRJ4QJR5rym6EltsfMURW4TtJCxkrAtWc7GQNbLEutKV6aq8dPxonCqq3QFg+BHyfDLi/HLCgtBp1ZDSZPwCsZkBAWLJSopYaWlpQX4+NkvX718gZPjEiQ4+0W2y+dZL529eOH0+fOnzp09cebkLyd++/FX6Dmc5y5BuYSeA1syZSk5FmaSgsB9YEPIXMjWP//8K8t337P865+P9ad/g1IIVRJehbfBq4CYOTkx6yzg/rdffgOCkNFgPaD2w8lLEP/rDydZ/vQjXAGCzNxn4oZXv/vtPHRtcCJABJRMmqfPc8JF6OAXznGxwlafjefqFR5ubm4olFAuz5y/IiQkJSkuIcbPiZHltyYpO1IQVAyXCVmVoovSUVPQUUMYETXNKHpkbU0cQtGerG5FxDgbaVvrqeIVhAxUpMzwShBoq0mpoaWV5WCulEbLy2pi5A10ESaGCDMCAVAihITEebjEeblFBXigVnJdYT1/6sLZE+fO/H4WAtZzl9kvcrBdgG50WZJXEDiynTwLqwDb1eNa+T9+//5PJ3/8y5lfvoc90qVTP7GeZur7U7/8eOa3Xy+cOsF69jT7hTMcF0EQMDs+4PvbiVPMSgrBMfp//YHlu9/++tv57347+6fvf/0ff/n+z9/98N2Pv5y8ePmXM+d/O3fxNCs7rH/5+bfvfj1x4gLrr1ABLnD87fTFn89cPHPx8kU2dlbY2l+6ICR8WViEQ1SUU0yMT1xMEHafosIiIkLC4jwyMgIyikLiGFERQ7SsF0UthKbmq69ogeKzUxVxx8v6GygFUVUCKWgfPYQHQc7bWN3TCOdGwTjqoWwJChYa0qY4CRNVMTRSHIMUxaJENJRFdTFiVA0pE7wM1FB9PFJdRUJBik9U8CrktYgAP2xgBPmFLvAI/XKejVNI/MxldlaOK5KS4hfOn+ZgvwQlVUbweHJiCmKWv53//Y8Qf7h4Eq58d+63v/7+43cnfvrh9K8/nzsBQH+7ePr3S2dA4EQw5l9+/R30199OwPov3//I8m9/BY5/+fXcz8cthe37E+f/+vPJ73459dPvp388df5vv5/56fSFU6xXTlxk/+HkuV/OXrpwlfcsrzhskM5zi7ALiPGKSgiJSwkJi/ILCkhICMDuQUZaXE5WWv5454mQl0HKy4BhdNRV9fXU9WnaRHe6Uby7baqXZawjOdxKL8aekuxGz/SxAqW4m8Y6UCOs9SPsDcLtSMFWun6mWh6GWCd9JTsdRWttOQ2MrAZGWktVioiVJmvI0PHyMIHakRBG+mgddTllBRFpcT5JUSGwv5SErIS4rLCCyhVBKSmkCgefIDe/AAKB4LzKwcfLiZQQUxQTkRcRYjI9RvnjxXM/XToPguBv507/5fSJf/39l3/59ad/++Xnv/z6y19/+/VvJ37/4dTJn86c/vksDEx/RwkQmTr241//dlwH/vLLn346/cMpVqD54+nL35+8BPFPZ6BicP56/sppNl52fgnQRS6osFIicmheeTV+eXUxlJaCmi5G2wCjqYtUwckoIBUUEIoKSkiEihK4RBmvitbDYchqqhQ9ipepZZCTc6ifd1hyVGxJZtqtrISCuOC86KCCuNDSlOjytNiS5Kj8mOD0YK9EX5dUH4tkL7N4N+NIB3KQpY4XTc2ZpGyvi9DXUtbXQhloI43wSHNdlK0B2pmKcaepWlJxZDwKh5JESIvKS0vJyyEVFbHyimpITX0JBA6tqc8jLMkvLIbBYKGWCgsJ4BTlMXIyytKSCHFRJlCWv507C/r+/DkQBH85ferPJ4Hmbz+cAi6nvz95CtYfTwPEc7+eh/p4kbmt/LbLhBUq6Z9++uXffj7146mLJ1m5wWisAtKXhRXYxZU4JJR5JdHc4kqCslgZFV2QOFJLFkPEEk3ltUyROpY4ij2R7kK2cNMzslbVMlBAqSFQmiCUso4yWl8Va6SubqalZY3H22tQ/U3sYlx90oLD0lOSrhXlXS+5ln0tKSYnLjo/Kb4oPQXgFqYlX4uPSQkLjgvwzQq0zQywAaBAM8xW38dEA1BCptNJmmYkdXN9nLUBzoGCc6Op+9I1A8y17A01AK4mUgolIwnZgESqodC6KAxZUc1ACqWpomnAKSDFwy+Gw2qKCIkKC4oQMGjYYgJQoAn2lBMWZPnh/KWfLl7+9TLHCQ7OU1e5T3PygCA4w8bJTMnfL8DszQ7xWRjpr/Aw/3+CuSXnFhUHQQCnrJz8HPxiAlJIaQxBiWiKNXLEmXqqmXkpaprKqRkjtMywJHuMni0EyjpWeGN3VUMvDRMffetgmlMY3TFE39QVrWkoqaCpiMYronUU0UQE2kAZS8NqWGngHbR1neU1nAkmIVZuCe5+iWERKanJGZmJ8YnhoSlRkZnxcXmpKYVZmaDclOT02JikiPD8cGfQtRCHdD+rOFcaGNOdqupARNoa6toaEhyo2k6GWh40LT86PsicEGpJcCRjjTUU1RXEERLictIIBaQ2StUIpW4ujSZKIQk4vAmXgAy/kDQBbyAjqSAmIqmvjtPFYjSVkOBNSHYwJsspKFvcApcERK+ISfNIK/DLIQUVlIQUla8IiLPxilziEjx/he/CVdgUCrLziV4VlGDOTDAbCcnISaGUpZXQYgoIfklpTj4hSAFReRVFLaqmqZuec4S+e7yeRyKa6Igi2MGqTvVQJbkoalnDqaaRlyotUMMsVM82ytg51tgpmmjiiVQ3FpbTRuJ0FFXx8miCvLIuAkNGq5ngtK00dR0wep7GttGeAVkh4RkJcZl5mdmFWUsZJuMAACAASURBVBl5KXFZMZHgytKs9Mr8a1XXc2/lZhdnpF5PTiiO9QQVxXhcj3ABmtFOVH8z7eOiSdN3MtJ1NiS4GeG9adoBJvhQM0K4BcFZX8UEJ6cuK6ogJi4jpSSP0kPiLJW0nWRVyAhVCpHqICKlKiWDoRlaKSNxkmLyJA21/4jyAp8oq6DEVXE5PlmUCFJVXFlNCqMJ4pdQ5BGVY/48AZs/Dn4JbhFZPnEF5iQP7CQQKHkMFiSuiBSQkmHn5GGHSVZMXhxDRFEc1ayDsXZRaJtIpK6LvLYDrKoUbzTJQ07LHqHjrE7zR1ICVIyCtCwiyPbxhg4xunQ/ZW0rCRQZrU1AaWgpYLXkVLTkMTooNTJG20RNx0LX0MfeNT40PCc+NisjMaP0WnZ1QfbtvNTc6JAbCZE3MxKrc9Nr8jIqs1NKU+PgSkGk640ot8Jod0CZ4W8d42wYYI4HlM5G+s6Guq6GBA+KtrehVoCRVoiJdpiptps+2gwnrykrpiAqKSuNUUQbAkcVPR8FyAy8hbGljyxCRwFyiu6kjFQX4pfSU8NCjqsjFVVkpaFcHif4edgj80twiMjySCEF5NDCiqqiSBxIWFqZXxzBKSjDzisBuiogzSuqICCBhIzmEZMQlJZl/hIMrgR7AlweAWEeQVE+CUUJVT0lqhPWOkTZOkLeIgKh4yqv7YQiuuMM/VUpvkhdNzTJC28WJkv0UTTwUzUOIVrHUO1jiWbBGKKTPNYUo4dX1tFW1NCQxarLYbUQGnpovCGWaILTtKab+Xp6RAR4hUT6B2RFhxUnRZYkhmSFeOZF+hXFh5SnRIIguBbukxHkDoUyO8guJ9geiib0H+jmzM7jbKjnQtFxIWu7k7W8KBr+hppBNM0wE00vA4ylmjxeThIpLi0vo4ZSpavoemIpwYBSXdfWzCZIHkVUUMSb0OzlpFQ4WAXAktpoJTWEAlpG6u8ozwgpXBBDscuocilq8CnhQbwobR6kliACxyunwiGuyCose1FQ+rKI3FVJJLeMMq+IFLeQBL8YVAxlFFZLCactjVCB01NC/GdFxNikkSIYkjLJlWAWpW+Vqm+VYWAeiFC3UCe5UCyDlbSsJZUMMTr22lQPLX0zNZK1qpG7pnWYjkO0lrkfUpMmJodFyMghZeVRcgoQyEtKK0jJQKyCQMFYRMCibPRVg03V0pyJRUFmJeF2hWF2yU5aeX6UylibhnS3+jTXqjjb4lD69QDDHE/KdT/jwiDz68HW6d6m0HlcKFhLbQUTbYSDoYabCcHJQM1FD+dnpBNqSgqmER0MVCg4GbSUoKyosJycMlqNoq7nqEHxIOnZGujb6eAtNNSM8VpmRB0rLIYqLqqKkBNVR8oaqKAMFBW0xMWUhflZLomj2KVVuBTUBJTxwhhdUayeiCoRxCeP5pRCXBaROc8vDmIVlr4qqcgjq8QrJMYtIMInLC4ph0Bh1JRU1aXkkfwiEud5jwsup7iChJIORtdS19jHwCzEwCwMT7KVVMCj1Wl6hk5Q+0RlNJCqFFUtOhpLUFIjoXTMsTQP4KhGdVBQ0RESO4YIApqK0rJ/RIlQlAeUtiRsqLlGhqt+YaBpcZgtoExx1gaUFTHWwBF0O94OUOb7U5koi4ItCkJsMnyOXelKxVnhFc11lV1M8J5mRBeKhqu+GqAMoesHGek6UVQBpYqUoIKEmLISVhNvrKlnq0Z00CGY6eqYa2uZ4LAULU1jiFUxBuL/s02zDpL6zP/83D9Xd1f3+/32NrubhAAD49ru7u7u7iPdPdLT466Mu/swDDJYgAAhBBKSJSEJhIQQwX1wDRHoe1iutlJ7S72q6+nmW0PxqvdHnppGsiUCul7Cc8nFDh5XTSTw0PC4tXDcehQxBU/LpLChDD6CLUJyxIA0LAkMojVZcDCUAPEQZAqakEmgpmVBUzLArQqGwhGpTA6NxUXjSRkQeEIKNCkNngnF4ck8vlin0jl1Jq/W6BEKtQgEhU4Xq9V2BkOCRtNpNBGLJWNRmQyGgCnWi/QBtaNQbvSyWCIMHM2i0BgkymuPAHAAKplk8DRNwWfk6PjNfjnQNF1pn6n1AZW9YdlYmX6pxbu7NwyCub0zb77eAT75o8rBMhfY2AtNAr+C5tNyCx2KqBuEVBRS8aIGaaVZUaaTgMVIz8WzMNkMHEbCl2o0DpnSxRZYxHyDVGgScnVcpgqclVIbn63BIJhqOc+mlga0So9IqCEROUho3JvJaW+nZqzJhCTAkCkobAaOmE2kQEjUdDQ6CQZbnZb2ZmLiW0lJ8ZmZqUhkNh6fmpaRnJKWnpGFRGGoNAYAjcGBt6nrs9MTs2GZCDKOIuLxNQq5Xq3Qa+RingiRDaeTaDqllsfkkrBEDp3NZXAENLD48kQyvdaeZ88psThy5CIZE4/jM9lAHJCIR6KJaCwoc6ASyOVx2SohK88g7AhqgaOpCttEpQuo7C9UAHEbG127ekL7Bot3dgeBypGoFqicKLMAldN1gaFyd3O+odgiylExvBpOgV0OUpmv5efKWAUqfkQjLJBx/Dqemo1horNYeLRKKDFqzDKJkU6TiDiqf3wpUcmlS8FBLTWDMw5BE3IpWhHHKRPZOGw5FkPLTo97c138W+vXvZOUGJ+WmgzJzkAiIODiRsBnYaEp8PTVqfF/W/82YE3aulREBgQPB0+Bm1MGuPMj4aDoaFQyBo0Eb1PiU9PWp0PToMCCkM1Wy8Q65SuEXF52egYejVFIpGw6g4wncBhMAFAp5AhkKrPJU+AJVbh8YbVMxSWTJDwBCCYBhcHAEEDl674JXiVioVrEDprE/RHLfK0b2BwtswOVg8Wq0VId0AckvjcUAdkE56GIerhY/1oleGa4wgMmeNQuzdeyQYEHLZICqyygZHuF1FwJMyRj5wpoTiVLxcKCVHIJKCWXa5Aq5Vwpm8iSc1RKnkbGVoroUnAwSM3gTEHSaSSklEWxCLlWNkuJx7Hg2XGJyeuSUtanpCWCYEHhYMlBkih4sOegybBsdFpCxpq31//lrXVvrE15Ow2WCMVmZKYmpScnZKUlY5EwBoXIpJJwKHh2ekpi/Lrk9QlZqZkENF7A5qtlGr3KAGBzeIlJKZlZEAaTTSCSQYTpDBY4g5wymWDNtWpdxba8KqM7LBKpQGaVYimHxsAhUCgIDAh93TpBmSsVMo2YE7ZIRytcS00BoGmoxPJKU4kGqJyttYHS3j9cAmp8ocEJ/P5R5Uilty1sLnPKQ3quU8HIN4vBz/ErWB4B5bXKPCHdpmBreEQRBS0iY5QsupbLVbF5UhpTL9YapXqtUK3kysHZqjSreAoGhkYno+QcGkilVywyMxkyMj4uKysJkJ2dDIenY7FQKhXL4VAEAgaZhQK7Zkr2mncS/vz2uj+tTf5rGjQeiknJTkvKSk2EZqQQ0HA2jcShk4ng9p+Rsmbd2/HrV6emp2GwJB5PpVI69dpcvTaPI1WtS4ckZsHxDC4YKgCGUMYSK/BkDpEpYyjdUneFNq9B4Sym8zVg7GjloJSYIJKILMg/VYLho9WotBIuSBPofdva8sdLzQPFpleaQC1HtdPVluWO3AMjUVDjQCWo+tcq52o9sw25o1U+cH0sdynA5HGrWCGrtMiuyNPwcqTM1wVeKOc6NDyrnKMX0tQskpJB1LJoJh7XLha5tDa3zm5TmowSLXgFZ71IzcEzOAw8KHDQK4NqlVsoAM/HQTITANCsRCQsFY/JplPQfA5ZImSweFgCJTsTujY+8c/vxP/nuqQ30rNXw1CJ8IwkaFoCIjOZjIHx6EQ+aGNYsLKn/G39G28nrkrITEPgqWCTkKvztYZSraFSbHQlgVUfQcRzZSiGEMuW8LU2od6Bp0uIPD1dmy/xN2jC7TJPJUVoykLRdQoVUImGwuGZ2UAl+PFAJWgaep1GJ+WBJQbo294eAir7Cg3gDCIJVE5VmYHKg6OloMaByr4C+VCR7p8qx6r9QGWFWwkmz+uxU+JSvx47JXpJhUleqhW79WKPQeJUC0xCpppB0jLILhEvqFXnmjx5Zq9P53AoTG61NWBwmcVaAYHFYxHBBM/Vq0MaNVCpZlDiiOj4//3n/5EIFg5/cbZUD6HRpBKSiLwOy8xEUNLSUOvWpL0FNL25/q349PUpsDRoNiQ9PT4L8haZvo4vzmJxYEhkekpScvza/5WS+mZqRiKZzTP6I3JnOcdYZioYMpgrmBx3briTq/Ch6KoUHEefFyVKDQyll67JkfprbNX9xkgzRaFPRyNTs5K5YjEcjQF/jGp1rsNukUhUNLqRw3ZrCWYZ2a2R1+aHxurrF1qiW9u8u7usM/X2gSJ5b0i42Gg7OFG+f7purivSVe3rK7IOROwjZe6JKv9ouacjX19m5OSIsC4+I2JU1XltNW5LldNU67FWu8wlYG+XMr1cgoEE1+DhehrRwmeBRcejkDukNIeUXuI2apjkPKNeQaUbhRIGHEvBUoVUpp7NMjIoMgyalgmLw8LW/J83/yObwVYWVlGtAZJEIpUxeKQkIi0dS0qGoeNTM1clpLyZkLwqNWN9JiQVDoW9agiQ1TjiOiYnk8lCEAgIJBwBSVsN0h2fmJCGILK0Pr6rWhkZLJ36WO6uYWjC5mAzWeoW28Isrcdf3qpwhRTOEpEtqivYUNC9qWxgk7Okhi2XowlIOpsDmumr39lSqDIuTy+WKpksNgIl5qHImCwCCqUTK6vz8saqw1tbXPu7rNPVpv4CaU9QNFtr2TdcClQu9pT21fp7Cy2DJQ7gca4hCBiKOhvcsoiWkacQVtgNDX4HUFnpMAKnwGa5TR9R8YJShpdPcXGpbhHXLRO+2hkl4hKXJk8viXpMChopx2hUsQU2uY6No3MofAVbZBWK7GDPpJCFGGIcKM2/vvVfEBpDFSqXBIrZOhNXxCZhUkikBDw+Ho1eA4ethkJWQ7PXQbPXgz4AgUCyIWkQWCIal0xlQNlcAvPVf5ySunoVaHAEMktoDHibxmztS+rWZe/Mp/7BLd7uja6WSYw2YClt45nzZfYwS+VUuyvE9jJ1sC3ctdQ4vSfSNqC02PAUHJ3JkMikHA4Hng3BwtEKvkTM4EET0jFkTCYSjaZwbY5gZ0v7tqG2g0PFHw94p8q1A4Wy7qBsrNK+faDivemW5cGq8aZ8kEoQydn6/C3tJVs7ojN1eZ1BQ7VNCAJY77M35bhAJMusOiAUvAXBjGoEBQo2mEI5Ek6OQuxViB1SoZnPay30FNnURXajiEAIGG06kcap87DJIglHqRUo7WKpk88DS5OMRIlLWP2nv/7tT4lwBENvF7uDHL2VyObA0FAsejUauQqFeAeNiMeiEjGIFCQ0CZqZkJSWmgHNBA9giCgmjy5WiPgSAZlOg8UnU1BkOltuyK2pWThcsvWEsv8Av+9AePlI1f7P86Z3w01Ba00fXulCcrQ4cLPQFzI1RVxbtbao11MzZAnXsGUqOBrFZDMEYOoxGEg4CgXHgfFHwtDSE6GpGDK43ZsKG3sXD+w/+vmRfcuHpxsO9/onywwjJaaeiL2/NrQ41LJv4+DuyQ1zHVHgcbI6sLG5YLmrbHt3OQhmd9hU6xCDJAKPAOCx2KB8HUwgFKQyX0L38MhODsUl5LikAjCdQSpbQi5wZw+adAICOd+Ra9F63bYIi6bXSuxGscEmlIFlSEshiPG4uGTQBNe9syY5FU7jiq1+odmL48uRNA4SsRYGfQeavRaFSCbioCQ8AoOEQDPT3klanwKFwPHgnsqRaPRGp1ukViGIOCGBRsNQE1IQULra17FYsfOUc/4z1eQxTvOYc3qPfXhbui5XXdaBlnsoSp/CFeWoC7iGMo6lhmGtphsjVIUTxxCCLslkUBAIGAyGIJHpZDI3C0JMTcfB4EwEQy52Rssn9m756tb7393ce/CDnZPde3pKJqu8E01Fg621fV2ds7Pz+3bveG/L3KbBNpDH+cbQptYiEMnNGyJAa3uersoqAGEEHhsDzqhZU6iTg2IHqQQ2y3QiUOB2Js5Exdq4DJ9SErYYiu22ep81pFUU2ewajqyisCHHXxsMdQmlBV5zsUcbcEq0VjYHqBTh0XEoaCYK5C05NQtN0HmCpvwKutZNU3ug2KwMRGoaNBWCguGpZDKDDe7aMDRxbXpyGgIFxdGJDIXOGgwUVsiN5lQEhIyAgftJUioEw1GXDm/rOfRDaP64umsPKdgurh61tG+EaEJcfx1E7OC7ShU5tWpXoy7QKfd30Uy1OHmQJHFReAoCmUEh41KS1ycnpxIpTApDkgGjQVACrtTjC1aHGkcbt306cfLu4rd3N3741fZtOw5tnp9qrZgfGZic3dK/sG96z2f7Pzlz4OCHm6YngT7gcbGlEAQTOAWTB6gEqQQqm3PdACAR2ASNEpyB3AaHJqLhg1TamETQK8MmbVWOt6kgXO+xFZt0Nbn5NoW1vqq/oLA3WrOod3QU+ZuDthKv3Gzn8kxMiopOjCOgEWw6LSMjA47C+wsrcys7uLYIx1EGp9PS8fgkJAbcu8EeQ5PoSQItmqHIxCKzsMQ0OA1BkOvt0eKqDq3DkwjNTI5/A4vKRIObn9JU3TvXOn/YWjdL82wwlE2Lc7pcdfNEQynVUgYReWTBBrwuz5rXbQkNKvy9NFM9w1AhNBdz5WYckcGkEfE4FArcdvA0Il3Klbr07spAtG94YLq+b6507v2mjy6Pnnm+8eu7uz8++8H7n00N9G9Z3rfx/W9GDl2a+fv9A9/9vP/vP85v2g3qeqmtGEgE8QSNcrzS119sA3MctMUNIX9HQQ4IJggjOHcX53cW5jY6taV6UY6Y4eHTA3JRoUVf4XfX5uU2euxlFnNdXpFRYo0UdroCnUXVWy25E2FPi19faBfqzEwOUKljU+IwCDiPxYRkZKLQ+ILyhsKGQY6tlOaoQgql6TROAp6eThXgJCaGNkBV+XFiB4ZNg5IY67MoaXCJ2lIerR8w+vLXwzIh2W+TyNnpWcnxqRk0iVHhqmDpo2Rl1Fc6z1BWWQtGgS+mpYJsjjibxtG6fFOgS+Pr5FqaSbpqvr1e66/lyW2ZEKyYxwCXd5FIAkdTCHS5p6ClaXBH6+jeyb6xsvpe+4a5wt1nBn6MbTofW/rk6uLOE1Pjc8v7P99y4v7457/MfRt7/0rsvZN3ZrZ+APojUAk8TtfmApUAMM1BAwUxBOL6ouH2cAB4BIehiuL+0oJqsxykEowdv4gFxk6+XgUKPGw2NbhtpWZTpS8oZiidtkqptsoXWdAHJj2GKrPYp6ZIlHiShozTsAhxWA4/Pj1t1eo3sSioVMjj8sQwHDsRxszMSEmHoxzRJl20S1PWCxPZ+aYAliWCwzLJRBKPI09OwiiUXhxRgKOyIRjcm+vWpGZCKESWlGdQSLw8cYAg9MP4Xh74JwNt3vwWg7VQrs9VucrlOU1sTyND5ctgGAj6qK5i2ly7YCgd5lgi8XA2h4ZSKoU6m0MTKLbXjhbPfFy6/EP+prPtdaPtfdvad37e+/XdiRuxhduxTZefL529M3js0ujXt2eu/brwJLb4LLZw6+X02YcTJ26Oj451dvTWNba3tHQP9/ZPd7YNleVu8CibvYr6yurqrqXaDRubSiq6cy2DxY7Rhkip1l2s1ebp2D49wWcgg8tlicVRYQ3bnLlRs6teKg+xqVqpSOkrtxQveQqPltbuikRninJaQtZgrtbilMrj5DYnnsmAAEEEtIDDZLL4GIoQTpHD4fD1GVCxLQiKEacLv4nkEeVWFENMJOMoVDqFIvjr3zL4AguWwGdwxQQmA0MiwODo7AwkCkZnM40ybZHc1SDxtdIczURdFMVzollGoSFsL+hU53WRDDU59RNcVx3D0yaJTisrF5zNWzz1M2J3NYWAJZPJODITw5LzrRF7zYSjabM8OuWwRQPR3sjUwYZjl/rO/zZ9M7b5+ssdl38Z+uzWyLcPJ6++mH0Qm3sYm70Zm/rx58lTD0bmtnaNLbYNLfZOLk/Pb58bnRqoKW/wmbvCnvaWwZapI20TH3S2DPaVFIJI9tVWt9j81WZjoYHj1REdOqrLqMq15Yec1d6cSJUz0ChXhjlUvUyo8UetxYv+gsO5FTsChZM+d4NbF3BKdSa+OE5qsVN4XDBIkLBMJDQLBseAVGKYGr5EkYWh8k05cJEdJnK9kc2iaf00pQNHpxHoXApdtnYdWqvP5/B1PLGSSKcT6eTMLMjqt5MS1sCxOBVPXSzxtAkC3YzSWWJOD0ITgfF9NFWxytehyR0TuocVxQNUdxuvZMbc86Gt/yPf0BF781aStVoiMZCpwoxsUko2mcjUyMwhsSlMEjltuQ3B1tm6nV91nnzQe/7l0KWXU5d+W7z0y/Dpx8Pf/zxy5eX4rRhg7Fps/Nxv49/9PPDu8e4dn3bu+Hx43+m5/admNh3oau2rChZ1FUfbu7ds2PJTx/YLPaP7uhu628oa68o7+jz+VocxauTn6Jkui8zjD+UW9xdWbS2pbm8rrOyy2KNSvtOgtoZq/OXbQtGPPPWHPGVb3YFuu6nQIjMbBYo4klACUonGIiCZKSkJ8UnJGeAijGVplUYPnCyUWoNgd6Gqc1chBAxDAVMfSseQ0HSxQOHGktWF0U6dMcATyrJgr74KmZUNzc5AY5A8BtfN11cynW0Ud7d68rhj7nP30PuyomGsLIoRlcu8E/7aQ/ScPpy3T1S72zJ60jb+tX/ypLFtL9xYn1PQqbOW0jgWFF6Mo0gYHAWdKSWQObaqwaLJfRs+ugoaZc+FWM+52PCFFzNXYwM/vug/97L/Qqz/4isGAOdjgz+97Pn0VvvHt9qOrPQcvTvywc2h5ZOt3ZvLSzsb8qpr2t+tWr7TcOB529K3bT3LVdWTRaUzPV4fUFlqkuSbJAG/N1g1EO3/qGr+SsPA0kDz8FB+pM5qzvN7AtXd4cb3IlXH88fO5/eeyKvbFshrd5uCYL7HYdg8ulDA5jIIWERmalJKKtiBqDCyjMA3rckgc1VetsorMITfhnJR4pwsvnc9loHkqAX6EJ5pCZd0KdQuGoubkpackZ0CLs4cpkQicog1JVJ3p7ps0dR2MO/AzcK9l0IbTxhqFgnaWoSgjGcfdVd94B88rG7cLW09KGg9zGs+5J46VbxwWt+0PbduyREZA82BJvMjqLJMNBWKI2OpDH5ln21kb/mhi22nf2//MdZ1PjZ8Izb3INZ+PtZxLtb+Q6zj7CvAof2n2IZzsY4zsaaTsZpPf6s9+rz5wP2WzWfr+g9U1i+UBRqK2g6Gdz0r+TjW8P79loUvqnsOF7V+2JFX0Oj2lJr1+SaD31+cUzdfMH62eNvPlZOHO7u29Za0VftCeUVlgZbp/JYjeRVfBLf/UrhppWT4i4KahYCvxqUPxGURKaDAOTwmDg1LTVy3PiE1PhW1NpMCpRn+ay2aLrJJNH6dsyQBKUZJghmCUAZbg5V52PqiZKRMbYrgSUIcnpwBEp0aD4dB8FgGDidDM9xMywZr26HotiuFuy/pet5nBAfpzhaOo5Vt66Db+1muCUf7u7rm3cbuo8quY+LWw76Jr8LTJ6SlM5ryTYqSOWnBMMffjFDnJLNV6QIl0WB1b/uo8NAPjV896/iHrDag71Ks+3qs5nys7sdYw7ex5lMvAXWnX1Z9F6v4IVb/fazydKzkeCxy5LfyvQ+qNv5Q1Xe0onG5orAz1HvU/d7vOV/GKk7Emg7eaFg6Vzl9sa20tT5YVuLw55q8Tme5tWTO3HnSPHU3MPllWdeB+tKxkmCDt6LL2bnT1vx3U/Ep+65YzvbnxXPnizbsCwQ7XIbCuFXpWdlYDAaHzExLTIxfnZqWnQ6nJCPYWEn+nxNINJ5ZqvJaPaVZZD3b3kT39GaLHVRziczblI43iDThbBgVBkdmpCelp69PTUlKWJe5Jh63NksOk1YJK3c5J8/a2g/SfX0QSRFBVSxwNHDdG8iOTryzj5/XIy6ZsnS+b+r5SNG839V/1NKyA64uFVfv4FdskTYsG/v2Gvp2SDZMyzqmTGOb26/83HU51nMl1n0x1vZjrO5srOxMLPLNs6KfYtGzsepTsYYvY3UnXlR8+aLw9Iv8My8iX8eKT8UiJ2Jln8Qq9z+tWvipvOtItGa5tnIwd+hjw/7fjF/Gcr6KVR69U/vurYpt92sbp6vLekpzq8KuqN/XbC9dMnV8pRu7ZZy9nD9wsrx+V1HlZKBji3P8uLHrR3nJT5KtMcv2l6HNK5GBj0PRcb+zOu6NBHBnBDYgQCUkI5VG5wiVNp7aR1aX/Nc6CpqsYLG1akN+Bl4jCnTLS+ZTBA6up85TPclQF1t89TAMC0ybhPWrcTgIFJKVnAiJTyQlIQ1QeS0hbyO9+gDPN0Q3NbMM1WJbDctYhlWXEB2tovIFd9OCqW6jtmGZXjSH9g3pGrf7Onfx/C263o+l7QcNo59ED11t+/ZJ05mH9d/ebjn3sOrcw4rvnlSc+rXqq1jd6Vj1t7Hot7Hw6Wd538cKv4lVgFo+8bLqs9+jJ37L+/IX96nngc9+DX4Ri56KVX8Ra/jw99pNF8o7DhdXbK6pHfQMfSje80jw95jh+M/BD25Edl0v3nq3vHVrec0kyGxZXnOkeCjUtC8wds679FS3+XH+1OWqrk/LOvaFpz7yb7lgGbsjr1lhborplmPB5YdlkydL6pcKczfE/SX+/8Snr6Py2BS2mMLUaEwRBtfLFxdoywdwCueq1GwijflqnZT7rMMf6WbO4iTuZKoh2L2TbKvBKfLWZZEIGCwNngGHkpJTUW/FI95Ko2cxnUxnqyg8wQ1Nquv2uzuOGEo3CRzdAlsPUdUOEXeQHRv1A/uErTs0fUf1vcc5pbukZdvtjXsM5RudQyed02c8u66EPn0C4lZ5LlbxXazs1Muyb2Klp18R/TpWAuJ2Mlb81SsKPo+FP3tF6Hgs+PdY/qexcug87QAADG1JREFUvE9eAvKP/Zb76e85x1/kfPJb4P0ngeXbgalLOYM/Oocue6du5W97UvDei+AHMc8HL4z7n6n3PNTM3dYNfKNvfNcQnTSWThma9hiGzugW7mp3PDIv3vOM3MztvprTdcU1dF0/t6LYcle27bFsyyPFxvvKqdvq4Ru63qtxq9e/A8ciBQo1R2bQOCNcdUhuryeKw6L8VrzSlYwg0HhCCJG1hqySNmyV9n5qKmhLphllwU6oLCz21klNuQq5hopC4FFEOJSQlklIQ/LRPA/HVi/K7xcER5j5M7KieZa1na6qUrq6xfY+srab7Z5Vdu4QNG6zjn9euP1a3vxPwcmvc3uPSAvG1a0fmUZOundeCR57UgTEAY/fxspPxYq+fEXhF7GCE7Hw57HQZy8BweMvco+9Iufj3wMf/eY/+qvvyC8A74fP/Yefg7feY795j/7iOfjEt3wnMHM1MHLBNX7dN3s7Z8uj/Hd/8b/3q33/c/3ex8rd9w1bn5tnr9n6PrO37X1F/+eWueum5V8VOx/rlx7Yx1fc/dddfdesozfVC3fEW+8JtjwSLj0UL9yXTN9RjK2oBm7ErXlnLY3K4ssMDKnVXzmQyrBaa+ZSBSGqNYqXuqBkHk9uSMMw/zODQcvrZ1Ut851Vb0CEWE1htsAn9daacqrEchMkC05BYvEI/Kvvb+KESLoRLfBjVRG8vjpJVAmRVSaTnVkki1BXLjY0kCRVNO0Gduk0MTwh6zySu+1aaPlG4abzrs4PKLYOXsV7mr4Tnl3XQ5/8HPzyd0DRVy/LTsbyPv0dkPvJbznHfg18/Iv/o+cA39Gf3R/8CnAd+sX5/nPHwZ/tB54BbPufOvc9fXU49BzgeO+pa/m+b37FP3HdPXfHs/Gee+mBc/mRdccj/c6Hqh335dvvqpdj+k2PLVMXHCNfA8BBt/gIfCjc+Vi6+YF25o5x+KZh6IZq8pZw4x3O1nv0xfvMhXvsubu8qTvC8duSkZW4VX96i0ZgkSjCbILYWz3039O5/sF9a8RhgjqEFjqgVKlI5wGvf85ik53N5EDfWpLuf6awaJYyuqmErg3yDPlgZUmGkFloHA1NpOKZZJoURdOkk3XpdCdMFF4vKkWoq7PZfijFzJUFmeIQiuEnS8o44UlMYJTdfFA/+71m6ox59KSh7SDF0csrP2AY/DrvvftFn73I+exXz7GnuZ88B+c/Js5zGBh85jr0FABiBbC997N13zPL3qfmPU9M7z5+xdaHxh2PtbufaPc81e96Ytn2yLlw3z19x7npsWMR1OwD3cZ7yo13ZIt3ZEt3JZvvchdeiGafKqZXNOOXALLJm/ypR6zZX1nb7nM33RXPrMjGb0rHbggmbzDnb9GWbhOmV4hTK+SpFfrkbebEbc7Y7bh3/vOvJAQBCiWuSsHog03/LZFSMHYQaqokKvMQHGsmUSGzFlClnmSCmueup1jrINLQOzgNw1TCNhfD2Wa2PpxJ16dRNGQEBgPFgGWIwTWQhW44xw2XhMjmekpoRle/rC0eEVoqxLoiEteNorv4umpJcJZXssU0dca3/6F26ZJ2/LSp+6ggNKNqPu6avlBw6Oei4zHfJ7/aPnjk+uBx7hGg7zfAHwP4OoOWPc8B5nd/Nu1+Ztz11LDzCUAPJC48UG16CNqZFDS1bY/VS4+M8w+tsw+NS4/1iw9V83cl07eEUzcEMzcFs7eEcyu0yWesySe8iXsgYoKxFfbobcrwPcLwA9rCXfrMbdbkCnvsJmv0Bn3sBnniBnH6JnbwOm7oBmHoBmnoJmXoFn1oJS551d/wcCgciohPhAh1vjVwfnjDRoG3kSzPRXIdEKpe463lG4oQTLPKV883R3UVk1nCQDrdCGHq3oYw+fbydJ47lZ+blgx7Z1VafBIWQdfhZUGErAijr+fkjgjbPgQ7o6N9rySng6mJQCjWdKKVrasBi7oosiOw/WbJyZjj0BPD4jl99yfsvBl73w/++ZvB/c/zj750fviL5eAT2/7H7v1PHQd++f8DCDDsfKbf8RSg2/5Eu/xYs+2ReutDgGrqkWzmkWD+EXfxMUC48Fgx90Qz80Qyf188d08wfZs7cZMzfuM14MyaeMiefMCdeMCdvMcev8MYvk0evEnsv0kZAaZuAKiD1ykD14j9Vwl9V/D9V/Ad/w9C51UAsetaXGbSX1CQBCIGlpWR+Y9vDWttrkqjrZIk9BFFPoI4xxLuYusimUS11lmpspSoy6fxhlKCIsBS+99IJrIspSmCfKSlBUUUr0kmgPEN43pJpjqUoRlp72UWbGR2faEdOS2q2YGzNKJkxalUZxLRRdHWSO1T7LzN+qkfPMdeGA49MW2/Zhr+khNccA9ddE1ds2+5Y9/z2HzgKcD63hNwNu5+bNj1CAC6m27HA+32+5rlewDl5ocAxdID+ab7ssV70o13JQt3AMqJJ5LJx9zpR/TZhwDWzEPB1CPwCWPyFnPiFezxW6x/BI05ch3AH73FHV1hjawAibTBW5S+q5SeS5Su8+SOy5TOK8TuK4TuK/iuy7iOi4S2C7iWc5TGSwBS4yViw0VC40Vc44W4jJT/yE77C4MEwcGysdlojcQsYuqM8gCWa6fJg1xDmbt0lKooWAfhK8yFJmcEZ22SBLujnRtreuaSMAKaMZouK5HXbncGm8FVD8nzclwt8sgsIzRDDi1yKvfSB78XDn1LiGzO1jfhDDUoeSlMXMJ0dOaUHRQV7OR1fy7ZuSLdd8918GFo21Vzy2HnwHnz8Hn11EXN5pv6vQ8tB1/NENu7IGv3AaotwN1dxdId+abbANniinjuDkA0e1s4syKYvsWfAj3uJm/yhnr8mXjiCXvyEXX6IWnqAW0KhO6RcOIxcfgaefQGbfwWY3yFPX6bNXKLMXSDOXid13+B3X+B2nuZ0HMJ23ke3/4TofUbUstpatN5cusF4oaLhPaL+A2vJOIbfyTUfk+vuUSruUStvkiuvkCoPo+rOhf39tpVKKaA560gu1tM9Vu1hcNZWLUZ9EGaGs+WExgsg9XIkynQDKXMswEjq4UwvBRxfjjaa3OU8IU2oSKXKgnai0cN/iqWKoco9TGMpXRrLUZfTXZ1ycs2aqeOyafPcru/JfoXcewwlqCHcvOSNM1J7gVo5F1K75fizTc0e55qdz9TbXogm1rhjlzmj10VT92Uz91RbbyvXnyg2fQQoFy4B1DM3wWfy2ZvS2dWAKDfccbugL4GAIFiDgMvN+mDNwDM/usARt81eu9VWs8VALX7MqXrEmPDDQC97Tqt9Rq15Sql+QqA3HSZUH/h31PxAwBf/j2u7Cy29DtM9Ay65Nt/SxwEhaDJ9cpwKyPQqa9Z0hQMZeCUam0ujmsicpUoEkUkF+PpTChJrPB1kLUtWTQ3kuE0u6rEUheJomQKXFiOVxPoYiq8GI4VJ/IKXfWy/F62r5sXHNXXLatGPpRPnuH1fs8o2EWTV1LZbqw8km3txZcdoDUf442flS/fVr/7RLXjsXzhrmTiJvAonLgOHAFlr/X90eBrieBvgWvR5A0A0PdPg7SB69T+awBQnv9ikNx5kdRxAQD0vTYI9L0uz1cVWn8BW/PTv6f0uz8aREW+QRafBkDDX/0LcVypQmoPWipH2MEBWdm8MjyQRdIIpE6yyE7mq7NQGAKVmAZDpKLYqkAX3diO5OZmEU0CeQ6BJEdhhCyhG8P2SJ0tRL4TyTRT5EFdqNdcPiMJjwnDk9qaZUXP++LhrwVDF0R1RyXuHr4mQrc0EfPnFH2nVWPfKxevKHfcVex8KNt6XzK7Ihq7DhwBU0AZcPfPAP7RHRAtGL8GjPNGrwD+6Y7ce4XUc5nYfQlA6LoI3L3WR2w/T9hwDt/2E671R8DrrOHrzgNwteeALEz1jwBkxdl/y2t3iKKvAfDCU7CCk6/Fpecc/xfiVBaf1FViq59jhUeZoVFpuB+sODS+Ac8zk3gqIBGOQaxNSUuCM5T+ToqulaWrhFFtdJ4DjuRhcGKJOkiThlS+DrExwlQEBeZKS2TUUr4gyB1h+kfFxZuULQeE3aeEI1fUvaf1ZQsKT7Mgp59Xuds6fdE8f1m9dE22bUW89Y5wcUU0fVM8fgOI+6NHYBC4A+JeA9yBDsAZvsQeughgDV54rQ+4A+A7L+A6zmPbzwGAu9f6sC0/YJq/RzedBaAav3stDl31A6rye2AKUf4dvOwMAFJy+t8C3L3WBwl9mR38Iiv/RGbe54AU3yf/wv8Fe4XaH0Z+k6QAAAAASUVORK5CYII=";
                 byte[] rawInlineImageBytes = Convert.FromBase64String(InlineJpegImage);
@@ -1445,8 +1410,7 @@ namespace System.Runtime.Serialization.Formatters.Tests
             }
 
             // System.DirectoryServices, System.Security.Principal and System.Security.AccessControl are only available on Windows.
-            // They are currently not supported on UAP
-            if (PlatformDetection.IsWindows && !PlatformDetection.IsUap)
+            if (PlatformDetection.IsWindows)
             {
                 var directoryNotFoundException = new DirectoryNotFoundException("message", exception);
                 yield return new object[] { PopulateException(directoryNotFoundException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACRTeXN0ZW0uSU8uRGlyZWN0b3J5Tm90Rm91bmRFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAkU3lzdGVtLklPLkRpcmVjdG9yeU5vdEZvdW5kRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uCQMAAAAJDQAAAAkOAAAACQYAAAAJBwAAAAkIAAAAAAAAAAroAwAACQkAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAFAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAACRTeXN0ZW0uSU8uRGlyZWN0b3J5Tm90Rm91bmRFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgIAAAAkU3lzdGVtLklPLkRpcmVjdG9yeU5vdEZvdW5kRXhjZXB0aW9uBgMAAAAHbWVzc2FnZQkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCgAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGCwAAABBTeXN0ZW0uRXhjZXB0aW9uCQMAAAAJDQAAAAkOAAAACQYAAAAJBwAAAAkIAAAAAAAAAAroAwAACQkAAAAKBAoAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhMAAAAGc2VjcmV0CAEBCRQAAAABDQAAAAQAAAAJFQAAAAIAAAACAAAAAQ4AAAAFAAAACQsAAAAGFwAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFAAAAAoAAAAICAEAAAAGGAAAAANvbmUKARUAAAAKAAAACRMAAAAIAQEJGgAAAAEaAAAACgAAAAgIAQAAAAkYAAAACgs=", TargetFrameworkMoniker.netfx461) } };
index 1b68da6..b96b67a 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <!-- Needs netfx configuration per bug (dotnet/corefx #17575) so tests are actively running in desktop -->
     <BuildConfigurations>
-      uap;
       netfx;
       netcoreapp;
     </BuildConfigurations>
index b4f1fbb..eb87276 100644 (file)
@@ -3,7 +3,7 @@
     <SkipIncludeNewtonsoftJson>true</SkipIncludeNewtonsoftJson>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="BinaryFormatterTestData.cs" />
index 9162773..a37afe1 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.4.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 74db8e0..4c77be9 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.Serialization.Json.cs" />
index 591dde5..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 49f81ce..0609cbc 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Runtime.Serialization.Json</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="$(SourceDir)System.Private.DataContractSerialization\src\System.Private.DataContractSerialization.csproj" />
index 26abe8e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index dde78b1..b20b017 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <DefineConstants>$(DefineConstants);ReflectionOnly</DefineConstants>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Runtime\Serialization\Utils.cs" />
index deb5246..5e9767f 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(TestSourceFolder)DataContractJsonSerializer.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0a5d20f..2e7643d 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.Serialization.Primitives.cs" />
index cdeb74f..89d6ac0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index e6749d5..e941f9d 100644 (file)
@@ -6,7 +6,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <FileAlignment>512</FileAlignment>
     <PlatformTarget>AnyCPU</PlatformTarget>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Runtime\Serialization\CollectionDataContractAttribute.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b2cc117..c3dd6d4 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Runtime\Serialization\CollectionDataContractAttributeTests.cs" />
index 0cef3cd..a1cca7a 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.4.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1339dff..fec7a24 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.Serialization.Xml.cs" />
index cdeb74f..89d6ac0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index e1a5826..a62ca08 100644 (file)
@@ -2,10 +2,10 @@
   <PropertyGroup>
     <AssemblyName>System.Runtime.Serialization.Xml</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">
-    <ProjectReference Include="$(SourceDir)System.Private.DataContractSerialization\src\System.Private.DataContractSerialization.csproj" />
+  <ItemGroup>
+    <ProjectReference Include="..\..\System.Private.DataContractSerialization\src\System.Private.DataContractSerialization.csproj" />
   </ItemGroup>
   <ItemGroup>
     <Reference Include="System.Runtime" />
index e267827..3b96bea 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;                      
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 4d0e43e..137e844 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(TestSourceFolder)CanonicalizationTestHelper.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ac47ebe..d5bde0b 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <DefineConstants>$(DefineConstants);ReflectionOnly</DefineConstants>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\Runtime\Serialization\Utils.cs" />
index 1db066c..5be0543 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(TestSourceFolder)DataContractSerializerStressTests.cs" />
index bfa60ab..940bc0c 100644 (file)
@@ -5,6 +5,5 @@
     <StrongNameKeyId>ECMA</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
     <IsNETCoreAppRef>false</IsNETCoreAppRef>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f0a23f8..e4df353 100644 (file)
@@ -26,10 +26,6 @@ Global
                Release|Any CPU = Release|Any CPU
        EndGlobalSection
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {69FC7EB5-64FD-4464-88B1-B8ADD3870640}.Debug|Any CPU.ActiveCfg = uap-Windows_NT-Debug|Any CPU
-               {69FC7EB5-64FD-4464-88B1-B8ADD3870640}.Debug|Any CPU.Build.0 = uap-Windows_NT-Debug|Any CPU
-               {69FC7EB5-64FD-4464-88B1-B8ADD3870640}.Release|Any CPU.ActiveCfg = uap-Windows_NT-Release|Any CPU
-               {69FC7EB5-64FD-4464-88B1-B8ADD3870640}.Release|Any CPU.Build.0 = uap-Windows_NT-Release|Any CPU
                {263DA4F1-C3BC-4B43-98E7-9F38B419A131}.Debug|Any CPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
                {263DA4F1-C3BC-4B43-98E7-9F38B419A131}.Debug|Any CPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
                {263DA4F1-C3BC-4B43-98E7-9F38B419A131}.Release|Any CPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
index 6a88cfc..f2a6a49 100644 (file)
@@ -6,7 +6,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 20bed3f..304cbe0 100644 (file)
@@ -1,15 +1,15 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.WindowsRuntime.UI.Xaml.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp' or '$(TargetGroup)'=='uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Runtime.WindowsRuntime\ref\System.Runtime.WindowsRuntime.csproj" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netstandard'">
+  <ItemGroup Condition="'$(TargetsNetStandard)' == 'true'">
     <ProjectReference Include="..\..\System.Runtime.WindowsRuntime\ref\System.Runtime.WindowsRuntime.csproj" />
   </ItemGroup>
 </Project>
\ No newline at end of file
index dc6998f..4ececd2 100644 (file)
@@ -8,7 +8,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9003931..5f58c97 100644 (file)
@@ -1,15 +1,14 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AssemblyName>System.Runtime.WindowsRuntime.UI.Xaml</AssemblyName>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp3.0-Windows_NT-Debug;netcoreapp3.0-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp3.0-Windows_NT-Debug;netcoreapp3.0-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.1-Debug;netstandard1.1-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup Condition="'$(TargetGroup)' == 'netstandard1.1' or '$(TargetGroup)' == 'netstandard'">
     <GeneratePlatformNotSupportedAssemblyMessage>SR.PlatformNotSupported_WindowsRuntime</GeneratePlatformNotSupportedAssemblyMessage>
     <GeneratePlatformNotSupportedAssemblyWithGlobalPrefix>true</GeneratePlatformNotSupportedAssemblyWithGlobalPrefix>
     <AssemblyVersion Condition="'$(TargetGroup)' == 'netstandard1.1'">4.0.1.0</AssemblyVersion>
   </PropertyGroup>
-  <!-- Default configurations to help VS understand the options -->
-  <ItemGroup Condition="'$(TargetsNetCoreApp)'=='true' or '$(TargetsUap)'=='true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="System\Runtime\InteropServices\HResults.cs" />
     <Compile Include="System\Windows\CornerRadius.cs" />
     <Compile Include="System\Windows\Duration.cs" />
@@ -29,7 +28,7 @@
       <Link>Common\System\Runtime\InteropServices\WindowsRuntime\WindowsRuntimeImportAttribute.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)'=='true' or '$(TargetsUap)'=='true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Reference Include="System.Runtime" />
     <Reference Include="System.Resources.ResourceManager" />
     <Reference Include="System.Globalization" />
index 945a2e8..d3663b5 100644 (file)
@@ -1,7 +1,7 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
+      netcoreapp-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a001547..e1085da 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Windows\UI\Xaml\CornerRadiusTests.cs" />
index 4d9fc50..393867d 100644 (file)
@@ -7,6 +7,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Automation.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class ElementNotAvailableExceptionTests
     {
         private const int E_ELEMENTNOTAVAILABLE = unchecked((int)0x802B001F);
index 9d0493b..99fa64a 100644 (file)
@@ -7,6 +7,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Automation.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class ElementNotEnabledExceptionTests
     {
         private const int E_ELEMENTNOTENABLED = unchecked((int)0x802B001E);
index 5cb5cb4..3cb21da 100644 (file)
@@ -2,12 +2,14 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 // See the LICENSE file in the project root for more information.
 
+using System;
 using System.Collections.Generic;
 using System.Runtime.InteropServices;
 using Xunit;
 
 namespace Windows.UI.Xaml.Controls.Primitives.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class GeneratorPositionTests
     {
         [Fact]
index 8161004..0644f4d 100644 (file)
@@ -10,6 +10,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class CornerRadiusTests
     {
         [Fact]
index 6c35b18..068ee15 100644 (file)
@@ -8,6 +8,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class DurationTests
     {
         [Fact]
index e912a7f..f99066e 100644 (file)
@@ -8,6 +8,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class GridLengthTests
     {
         [Fact]
index 64a6d3a..9546605 100644 (file)
@@ -7,6 +7,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class LayoutCycleExceptionTests
     {
         private const int E_LAYOUTCYCLE = unchecked((int)0x802B0014);
index b6b0b06..800ce8f 100644 (file)
@@ -7,6 +7,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Markup.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class XamlParseExceptionTests
     {
         private const int E_XAMLPARSEFAILED = unchecked((int)0x802B000A);
index de791ff..3348c53 100644 (file)
@@ -8,6 +8,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Media.Animation.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class KeyTimeTests
     {
         [Fact]
index a173b9c..8f5acba 100644 (file)
@@ -10,6 +10,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Media.Media3D.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class Matrix3DTests
     {
         [Fact]
index 5efa248..074cdbd 100644 (file)
@@ -11,6 +11,7 @@ using Xunit;
 
 namespace Windows.UI.Xaml.Media.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class MatrixTests
     {
         [Fact]
index 1cf8862..560b52f 100644 (file)
@@ -2,12 +2,14 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 // See the LICENSE file in the project root for more information.
 
+using System;
 using System.Collections.Generic;
 using System.Runtime.InteropServices;
 using Xunit;
 
 namespace Windows.UI.Xaml.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class ThicknessTests
     {
         [Fact]
index 98e5c63..e314b47 100644 (file)
@@ -5,6 +5,5 @@
     <StrongNameKeyId>ECMA</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
     <IsNETCoreAppRef>false</IsNETCoreAppRef>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ff86e89..bfaa6e6 100644 (file)
@@ -26,10 +26,6 @@ Global
                Release|Any CPU = Release|Any CPU
        EndGlobalSection
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {C4854B44-ABFE-4BB5-8F89-F35FE6201338}.Debug|Any CPU.ActiveCfg = uap-Windows_NT-Debug|Any CPU
-               {C4854B44-ABFE-4BB5-8F89-F35FE6201338}.Debug|Any CPU.Build.0 = uap-Windows_NT-Debug|Any CPU
-               {C4854B44-ABFE-4BB5-8F89-F35FE6201338}.Release|Any CPU.ActiveCfg = uap-Windows_NT-Release|Any CPU
-               {C4854B44-ABFE-4BB5-8F89-F35FE6201338}.Release|Any CPU.Build.0 = uap-Windows_NT-Release|Any CPU
                {844A2A0B-4169-49C3-B367-AFDC4894E487}.Debug|Any CPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
                {844A2A0B-4169-49C3-B367-AFDC4894E487}.Debug|Any CPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
                {844A2A0B-4169-49C3-B367-AFDC4894E487}.Release|Any CPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
index 6a88cfc..f2a6a49 100644 (file)
@@ -6,7 +6,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9bc3fe1..b2aa016 100644 (file)
                        match the output assembly name 'System.Runtime.WindowsRuntime, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
      -->
     <NoWarn>$(NoWarn);1698</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Runtime.WindowsRuntime.cs" />
     <Compile Include="System.Runtime.WindowsRuntime.Manual.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp' or '$(TargetGroup)'=='uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="$(RepositoryEngineeringDir)restore\winrt\winrt.depproj" />
     <ProjectReference Include="..\..\mscorlib.WinRT-Facade\ref\mscorlib.WinRT-Facade.csproj" />
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
@@ -24,7 +24,7 @@
     <ProjectReference Include="..\..\System.IO\ref\System.IO.csproj" />
     <ProjectReference Include="..\..\System.Threading.Tasks\ref\System.Threading.Tasks.csproj" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netstandard'">
+  <ItemGroup Condition="'$(TargetsNetStandard)' == 'true'">
     <ProjectReference Include="$(RepositoryEngineeringDir)restore\winrt\winrt.depproj" />
     <ProjectReference Include="..\..\mscorlib.WinRT-Facade\ref\mscorlib.WinRT-Facade.csproj" />
   </ItemGroup>
index ab0219a..5e58358 100644 (file)
@@ -9,7 +9,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index aeeaabc..0d93883 100644 (file)
@@ -6,18 +6,16 @@
     <!-- CS1698 - Disable warning about reference to 4.0.0.0 System.Runtime.WindowsRuntime having same simple name as target assembly -->
     <!-- CS0436 - System.Private.CoreLib has internals visible to System.Runtime.WindowsRuntime and is colliding internals on common shared code -->
     <NoWarn>$(NoWarn);1698;0436</NoWarn>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp3.0-Windows_NT-Debug;netcoreapp3.0-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release;netstandard1.2-Debug;netstandard1.2-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">
-    <DefineConstants>$(DefineConstants);netstandard;FEATURE_APPX</DefineConstants>
+    <AssemblyVersion Condition="'$(TargetFramework)' == 'netstandard1.0'">4.0.0.0</AssemblyVersion>
+    <AssemblyVersion Condition="'$(TargetFramework)' == 'netstandard1.2'">4.0.11.0</AssemblyVersion>
+    <DefineConstants Condition="'$(TargetsNetCoreApp)' == 'true'">$(DefineConstants);FEATURE_APPX</DefineConstants>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp3.0-Windows_NT-Debug;netcoreapp3.0-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release;netstandard1.2-Debug;netstandard1.2-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup Condition="'$(TargetsNetStandard)' == 'true'">
     <GeneratePlatformNotSupportedAssemblyMessage>SR.PlatformNotSupported_WindowsRuntime</GeneratePlatformNotSupportedAssemblyMessage>
     <GeneratePlatformNotSupportedAssemblyWithGlobalPrefix>true</GeneratePlatformNotSupportedAssemblyWithGlobalPrefix>
-    <AssemblyVersion Condition="'$(TargetGroup)' == 'netstandard1.0'">4.0.0.0</AssemblyVersion>
-    <AssemblyVersion Condition="'$(TargetGroup)' == 'netstandard1.2'">4.0.11.0</AssemblyVersion>
   </PropertyGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
     <Reference Include="mscorlib" />
     <Reference Include="Windows" />
@@ -34,7 +32,7 @@
     <ReferenceFromRuntime Include="System.Runtime.InteropServices.WindowsRuntime" />
     <ReferenceFromRuntime Include="System.ObjectModel" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetsUap)' == 'true'">
+  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
     <!-- Needed for the compiler to resolve IObservableMap.MapChanged. -->
     <ProjectReference Include="..\..\System.Runtime\src\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Runtime.Extensions\src\System.Runtime.Extensions.csproj">
@@ -45,7 +43,7 @@
     <ProjectReference Include="..\..\System.Runtime.InteropServices.WindowsRuntime\src\System.Runtime.InteropServices.WindowsRuntime.csproj" />
     <ProjectReference Include="..\..\System.ObjectModel\src\System.ObjectModel.csproj" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="System\InternalHelpers.cs" />
     <Compile Include="System\IO\StreamOperationAsyncResult.cs" />
     <Compile Include="System\Runtime\InteropServices\WindowsRuntime\MarshalingHelpers.cs" />
index 7032ef3..1b39583 100644 (file)
@@ -273,7 +273,7 @@ namespace System.Resources
                    (libpath[packagepath.Length] == '\\' || packagepath.EndsWith("\\"));
         }
 
-#if NETSTANDARD2_0
+#if NETSTANDARD2_0 || NETCOREAPP
         /* Returns true if libpath is path to an ni image and if the path contains packagename as a subfolder */
         private static bool LibpathContainsPackagename(string libpath, string packagename)
         {
@@ -305,7 +305,7 @@ namespace System.Resources
                 }
             }
 
-#if NETSTANDARD2_0
+#if NETSTANDARD2_0 || NETCOREAPP
             /* On phone libpath is usually ni path and not IL path as we do not touch the IL on phone.
                On Phone NI images are no longer under package root. Due to this above logic fails to
                find the package to which the library belongs. We assume that NI paths usually have
@@ -363,7 +363,7 @@ namespace System.Resources
                 {
                     string packageSimpleName = FindPackageSimpleNameForFilename(libpath);
 
-#if NETSTANDARD2_0
+#if NETSTANDARD2_0 || NETCOREAPP
                     // If we have found a simple package name for the assembly, lets make sure it is not *.resource.dll that
                     // an application may have packaged in its AppX. This is to enforce AppX apps to use PRI resources.
                     if (packageSimpleName != null)
index 945a2e8..d3663b5 100644 (file)
@@ -1,7 +1,7 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
+      netcoreapp-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1992368..9cd12c0 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 60bd2e2..a3f2717 100644 (file)
@@ -11,6 +11,7 @@ using Xunit;
 
 namespace System.IO
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class AsWinRTStreamTests
     {
         [Fact]
index 9917aa5..5debf18 100644 (file)
@@ -8,6 +8,7 @@ using Xunit;
 
 namespace System.IO
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class CreateSafeFileHandleTests
     {
         [Fact]
@@ -116,7 +117,7 @@ namespace System.IO
             Assert.Throws<NotSupportedException>(() => folder.CreateSafeFileHandle("Foo", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read, FileOptions.Encrypted));
         }
 
-        [Fact]
+        [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsInAppContainer))]
         public void FromStorageFolder_Basic()
         {
             StorageFolder folder = ApplicationData.Current.TemporaryFolder;
@@ -129,7 +130,7 @@ namespace System.IO
             File.Delete(Path.Combine(folder.Path, filename));
         }
 
-        [Fact]
+        [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsInAppContainer))]
         public void FromStorageFolder_SurfaceIOException()
         {
             StorageFolder folder = ApplicationData.Current.TemporaryFolder;
@@ -145,7 +146,7 @@ namespace System.IO
             File.Delete(Path.Combine(folder.Path, filename));
         }
 
-        [Fact]
+        [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsInAppContainer))]
         public void FromStorageFolder_SurfaceNotFoundException()
         {
             StorageFolder folder = ApplicationData.Current.TemporaryFolder;
@@ -155,7 +156,7 @@ namespace System.IO
                 Assert.Throws<FileNotFoundException>(() => folder.CreateSafeFileHandle(filename, FileMode.Open)).Message);
         }
 
-        [Fact]
+        [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsInAppContainer))]
         public void FromStorageFolder_FileStream()
         {
             StorageFolder folder = ApplicationData.Current.TemporaryFolder;
@@ -177,7 +178,7 @@ namespace System.IO
             File.Delete(Path.Combine(folder.Path, filename));
         }
 
-        [Fact]
+        [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsInAppContainer))]
         public void FromStorageFile_Basic()
         {
             StorageFolder folder = ApplicationData.Current.TemporaryFolder;
@@ -191,7 +192,7 @@ namespace System.IO
             file.DeleteAsync().AsTask().Wait();
         }
 
-        [Fact]
+        [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsInAppContainer))]
         public void FromStorageFile_FileStream()
         {
             StorageFolder folder = ApplicationData.Current.TemporaryFolder;
@@ -214,7 +215,7 @@ namespace System.IO
             file.DeleteAsync().AsTask().Wait();
         }
 
-        [Fact]
+        [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsInAppContainer))]
         public void FromStorageFile_SurfaceIOException()
         {
             StorageFolder folder = ApplicationData.Current.TemporaryFolder;
index 5cfc97d..12363e2 100644 (file)
@@ -9,6 +9,7 @@ using Xunit;
 
 namespace System.Runtime.InteropServices.WindowsRuntime.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class WindowsRuntimeBufferExtensionsTests
     {
         public static IEnumerable<object[]> AsBuffer_TestData()
index 973b02b..86a2447 100644 (file)
@@ -8,6 +8,7 @@ using Xunit;
 
 namespace System.Runtime.InteropServices.WindowsRuntime.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class WindowsRuntimeBufferTests
     {
         [Theory]
index 29e5493..a7a5ef7 100644 (file)
@@ -9,6 +9,7 @@ using Xunit;
 
 namespace Windows.Foundation.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class PointTests
     {
         [Fact]
@@ -99,6 +100,7 @@ namespace Windows.Foundation.Tests
         }
 
         [Theory]
+        [ActiveIssue(41849)]
         [MemberData(nameof(ToString_TestData))]
         public void ToString_Invoke_ReturnsExpected(Point point, string format, IFormatProvider formatProvider, string expected)
         {
index 6e46fcc..f3e65ac 100644 (file)
@@ -9,6 +9,7 @@ using Xunit;
 
 namespace Windows.Foundation.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class RectTests
     {
         [Fact]
@@ -307,6 +308,7 @@ namespace Windows.Foundation.Tests
         }
 
         [Theory]
+        [ActiveIssue(41849)]
         [MemberData(nameof(ToString_TestData))]
         public void ToString_Invoke_ReturnsExpected(Rect rect, string format, IFormatProvider formatProvider, string expected)
         {
index 6fb8306..64ba04a 100644 (file)
@@ -8,6 +8,7 @@ using Xunit;
 
 namespace Windows.Foundation.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class SizeTests
     {
         [Fact]
index d4e8e5c..d323a5b 100644 (file)
@@ -9,6 +9,7 @@ using Xunit;
 
 namespace Windows.UI.Tests
 {
+    [ConditionalClass(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
     public class ColorTests
     {
         [Fact]
@@ -73,6 +74,7 @@ namespace Windows.UI.Tests
         }
 
         [Theory]
+        [ActiveIssue(41849)]
         [MemberData(nameof(ToString_TestData))]
         public void ToString_Invoke_ReturnsExpected(Color color, string format, IFormatProvider formatProvider, string expected)
         {
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2b2323d..19236e7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 49ecd88..db03e23 100644 (file)
@@ -5,7 +5,7 @@
     <RuntimeMetadataVersion>v4.0.30319</RuntimeMetadataVersion>
     <!-- disable warnings about obsolete APIs -->
     <NoWarn>$(NoWarn);0809;0618</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index af6c544..db38925 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 2af74ae..f336662 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Runtime</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 08c38c2..ad8296d 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2e2bfce..9cec3de 100644 (file)
@@ -4,7 +4,7 @@
     <NoWarn>1718</NoWarn>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\EnumTypes.cs">
index 7aa8a15..fb2f85f 100644 (file)
@@ -229,7 +229,7 @@ namespace System.Tests
             yield return new object[] { "mscorlib", "SyStEm.NULLABLE`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]", true, BindingFlags.Public | BindingFlags.Instance, Type.DefaultBinder, new object[0], CultureInfo.InvariantCulture, null, "", true };
         }
 
-        [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsWinRTSupported), nameof(PlatformDetection.IsNotWindows8x), nameof(PlatformDetection.IsNotWindowsServerCore), nameof(PlatformDetection.IsNotWindowsNanoServer), nameof(PlatformDetection.IsNotWindowsIoTCore))]
+        [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsWinUISupported))]
         [PlatformSpecific(TestPlatforms.Windows)]
         [MemberData(nameof(TestingCreateInstanceObjectHandleFullSignatureWinRTData))]
         public static void TestingCreateInstanceObjectHandleFullSignatureWinRT(string assemblyName, string type, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, string returnedFullNameType)
@@ -256,7 +256,6 @@ namespace System.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Assembly.LoadFile is not supported in AppX.")]
         public static void CreateInstanceAssemblyResolve()
         {
             RemoteExecutor.Invoke(() =>
index a84ca52..8d2b8ed 100644 (file)
@@ -1392,16 +1392,13 @@ namespace System.Tests
         [Fact]
         public static void Test_ToString()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (object[] testdata in ToString_TestData())
                 {
-                    foreach (object[] testdata in ToString_TestData())
-                    {
-                        ToString((decimal)testdata[0], (string)testdata[1], (IFormatProvider)testdata[2], (string)testdata[3]);
-                    }
+                    ToString((decimal)testdata[0], (string)testdata[1], (IFormatProvider)testdata[2], (string)testdata[3]);
                 }
-            }).Dispose();
+            }
         }
 
         private static void ToString(decimal f, string format, IFormatProvider provider, string expected)
index 43a19be..fcd5b81 100644 (file)
@@ -76,64 +76,61 @@ namespace System.Tests
         [Fact]
         public static void TryFormat()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (object[] testdata in ToString_TestData())
                 {
-                    foreach (object[] testdata in ToString_TestData())
-                    {
-                        decimal localI = (decimal)testdata[0];
-                        string localFormat = (string)testdata[1];
-                        IFormatProvider localProvider = (IFormatProvider)testdata[2];
-                        string localExpected = (string)testdata[3];
+                    decimal localI = (decimal)testdata[0];
+                    string localFormat = (string)testdata[1];
+                    IFormatProvider localProvider = (IFormatProvider)testdata[2];
+                    string localExpected = (string)testdata[3];
 
-                        try
+                    try
+                    {
+                        char[] actual;
+                        int charsWritten;
+
+                        // Just right
+                        actual = new char[localExpected.Length];
+                        Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                        Assert.Equal(localExpected.Length, charsWritten);
+                        Assert.Equal(localExpected, new string(actual));
+
+                        // Longer than needed
+                        actual = new char[localExpected.Length + 1];
+                        Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                        Assert.Equal(localExpected.Length, charsWritten);
+                        Assert.Equal(localExpected, new string(actual, 0, charsWritten));
+
+                        // Too short
+                        if (localExpected.Length > 0)
                         {
-                            char[] actual;
-                            int charsWritten;
+                            actual = new char[localExpected.Length - 1];
+                            Assert.False(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                            Assert.Equal(0, charsWritten);
+                        }
 
-                            // Just right
+                        if (localFormat != null)
+                        {
+                            // Upper localFormat
                             actual = new char[localExpected.Length];
-                            Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                            Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat.ToUpperInvariant(), localProvider));
                             Assert.Equal(localExpected.Length, charsWritten);
-                            Assert.Equal(localExpected, new string(actual));
+                            Assert.Equal(localExpected.ToUpperInvariant(), new string(actual));
 
-                            // Longer than needed
-                            actual = new char[localExpected.Length + 1];
-                            Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                            // Lower format
+                            actual = new char[localExpected.Length];
+                            Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat.ToLowerInvariant(), localProvider));
                             Assert.Equal(localExpected.Length, charsWritten);
-                            Assert.Equal(localExpected, new string(actual, 0, charsWritten));
-
-                            // Too short
-                            if (localExpected.Length > 0)
-                            {
-                                actual = new char[localExpected.Length - 1];
-                                Assert.False(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
-                                Assert.Equal(0, charsWritten);
-                            }
-
-                            if (localFormat != null)
-                            {
-                                // Upper localFormat
-                                actual = new char[localExpected.Length];
-                                Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat.ToUpperInvariant(), localProvider));
-                                Assert.Equal(localExpected.Length, charsWritten);
-                                Assert.Equal(localExpected.ToUpperInvariant(), new string(actual));
-
-                                // Lower format
-                                actual = new char[localExpected.Length];
-                                Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat.ToLowerInvariant(), localProvider));
-                                Assert.Equal(localExpected.Length, charsWritten);
-                                Assert.Equal(localExpected.ToLowerInvariant(), new string(actual));
-                            }
-                        }
-                        catch (Exception exc)
-                        {
-                            throw new Exception($"Failed on `{localI}`, `{localFormat}`, `{localProvider}`, `{localExpected}`. {exc}");
+                            Assert.Equal(localExpected.ToLowerInvariant(), new string(actual));
                         }
                     }
+                    catch (Exception exc)
+                    {
+                        throw new Exception($"Failed on `{localI}`, `{localFormat}`, `{localProvider}`, `{localExpected}`. {exc}");
+                    }
                 }
-            }).Dispose();
+            }
         }
     }
 }
index 805bf23..c1b4fe3 100644 (file)
@@ -453,16 +453,13 @@ namespace System.Tests
         [Fact]
         public static void Test_ToString_NotNetFramework()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (object[] testdata in ToString_TestData_NotNetFramework())
                 {
-                    foreach (object[] testdata in ToString_TestData_NotNetFramework())
-                    {
-                        ToString((double)testdata[0], (string)testdata[1], (IFormatProvider)testdata[2], (string)testdata[3]);
-                    }
+                    ToString((double)testdata[0], (string)testdata[1], (IFormatProvider)testdata[2], (string)testdata[3]);
                 }
-            }).Dispose();
+            }
         }
 
         private static void ToString(double d, string format, IFormatProvider provider, string expected)
index ccbf359..056145b 100644 (file)
@@ -146,49 +146,46 @@ namespace System.Tests
         [Fact]
         public static void TryFormat()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (var testdata in ToString_TestData_NotNetFramework())
                 {
-                    foreach (var testdata in ToString_TestData_NotNetFramework())
-                    {
-                        double localI = (double)testdata[0];
-                        string localFormat = (string)testdata[1];
-                        IFormatProvider localProvider = (IFormatProvider)testdata[2];
-                        string localExpected = (string)testdata[3];
+                    double localI = (double)testdata[0];
+                    string localFormat = (string)testdata[1];
+                    IFormatProvider localProvider = (IFormatProvider)testdata[2];
+                    string localExpected = (string)testdata[3];
 
-                        try
-                        {
-                            char[] actual;
-                            int charsWritten;
-
-                            // Just right
-                            actual = new char[localExpected.Length];
-                            Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
-                            Assert.Equal(localExpected.Length, charsWritten);
-                            Assert.Equal(localExpected, new string(actual));
-
-                            // Longer than needed
-                            actual = new char[localExpected.Length + 1];
-                            Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
-                            Assert.Equal(localExpected.Length, charsWritten);
-                            Assert.Equal(localExpected, new string(actual, 0, charsWritten));
-
-                            // Too short
-                            if (localExpected.Length > 0)
-                            {
-                                actual = new char[localExpected.Length - 1];
-                                Assert.False(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
-                                Assert.Equal(0, charsWritten);
-                            }
-                        }
-                        catch (Exception exc)
+                    try
+                    {
+                        char[] actual;
+                        int charsWritten;
+
+                        // Just right
+                        actual = new char[localExpected.Length];
+                        Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                        Assert.Equal(localExpected.Length, charsWritten);
+                        Assert.Equal(localExpected, new string(actual));
+
+                        // Longer than needed
+                        actual = new char[localExpected.Length + 1];
+                        Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                        Assert.Equal(localExpected.Length, charsWritten);
+                        Assert.Equal(localExpected, new string(actual, 0, charsWritten));
+
+                        // Too short
+                        if (localExpected.Length > 0)
                         {
-                            throw new Exception($"Failed on `{localI}`, `{localFormat}`, `{localProvider}`, `{localExpected}`. {exc}");
+                            actual = new char[localExpected.Length - 1];
+                            Assert.False(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                            Assert.Equal(0, charsWritten);
                         }
                     }
+                    catch (Exception exc)
+                    {
+                        throw new Exception($"Failed on `{localI}`, `{localFormat}`, `{localProvider}`, `{localExpected}`. {exc}");
+                    }
                 }
-            }).Dispose();
+            }
         }
 
         public static IEnumerable<object[]> ToStringRoundtrip_TestData()
index bbcf241..d8c1a49 100644 (file)
@@ -20,16 +20,13 @@ namespace System.Tests
         [Fact]
         public static void Invariant_DutchCulture_FormatsDoubleBasedOnInvariantCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("nl"))
             {
-                using (new ThreadCultureChange("nl"))
-                {
-                    double d = 123.456; // would be 123,456 in Dutch
-                    string expected = string.Format(CultureInfo.InvariantCulture, "Invariant culture is used {0}", d);
-                    string actual = FormattableString.Invariant($"Invariant culture is used {d}");
-                    Assert.Equal(expected, actual);
-                }
-            }).Dispose();
+                double d = 123.456; // would be 123,456 in Dutch
+                string expected = string.Format(CultureInfo.InvariantCulture, "Invariant culture is used {0}", d);
+                string actual = FormattableString.Invariant($"Invariant culture is used {d}");
+                Assert.Equal(expected, actual);
+            }
         }
 
         [Fact]
@@ -44,16 +41,13 @@ namespace System.Tests
         [Fact]
         public static void IFormattableToString_UsesSuppliedFormatProvider()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("nl"))
             {
-                using (new ThreadCultureChange("nl"))
-                {
-                    double d = 123.456; // would be 123,456 in Dutch
-                    string expected = string.Format(CultureInfo.InvariantCulture, "Invariant culture is used {0}", d);
-                    string actual = ((IFormattable)((FormattableString)$"Invariant culture is used {d}")).ToString(null, CultureInfo.InvariantCulture);
-                    Assert.Equal(expected, actual);
-                }
-            }).Dispose();
+                double d = 123.456; // would be 123,456 in Dutch
+                string expected = string.Format(CultureInfo.InvariantCulture, "Invariant culture is used {0}", d);
+                string actual = ((IFormattable)((FormattableString)$"Invariant culture is used {d}")).ToString(null, CultureInfo.InvariantCulture);
+                Assert.Equal(expected, actual);
+            }
         }
 
     }
index 7983893..f87b454 100644 (file)
@@ -29,17 +29,14 @@ namespace System.Tests
         [Fact]
         public static void CurrentCulture_DutchCulture_FormatsDoubleBasedOnCurrentCulture()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            var dutchCulture = new CultureInfo("nl");
+            using (new ThreadCultureChange(dutchCulture))
             {
-                var dutchCulture = new CultureInfo("nl");
-                using (new ThreadCultureChange(dutchCulture))
-                {
-                    double d = 123.456;
-                    string expected = string.Format(dutchCulture, "Dutch decimal separator is comma {0}", d);
-                    string actual = FormattableString.CurrentCulture($"Dutch decimal separator is comma {d}");
-                    Assert.Equal(expected, actual);
-                }
-            }).Dispose();
+                double d = 123.456;
+                string expected = string.Format(dutchCulture, "Dutch decimal separator is comma {0}", d);
+                string actual = FormattableString.CurrentCulture($"Dutch decimal separator is comma {d}");
+                Assert.Equal(expected, actual);
+            }
         }
     }
 }
index 034953e..95a4f77 100644 (file)
@@ -38,7 +38,6 @@ namespace System.Runtime.ExceptionServices.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)] // Feature Corrupting Exceptions not present for Linux
-        [ActiveIssue("https://github.com/dotnet/corefx/issues/21123", TargetFrameworkMonikers.Uap)]
         public static void ProcessExit_Called()
         {
             // We expect the launched process to crash; don't let it write the resulting AV message to the console.
index b45ead0..b7c6bf9 100644 (file)
@@ -452,16 +452,13 @@ namespace System.Tests
         [Fact]
         public static void Test_ToString_NotNetFramework()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (object[] testdata in ToString_TestData_NotNetFramework())
                 {
-                    foreach (object[] testdata in ToString_TestData_NotNetFramework())
-                    {
-                        ToString((float)testdata[0], (string)testdata[1], (IFormatProvider)testdata[2], (string)testdata[3]);
-                    }
+                    ToString((float)testdata[0], (string)testdata[1], (IFormatProvider)testdata[2], (string)testdata[3]);
                 }
-            }).Dispose();
+            }
         }
 
         private static void ToString(float f, string format, IFormatProvider provider, string expected)
index 1ca832f..22423d4 100644 (file)
@@ -149,49 +149,46 @@ namespace System.Tests
         [Fact]
         public static void TryFormat()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (object[] testdata in ToString_TestData())
                 {
-                    foreach (object[] testdata in ToString_TestData())
-                    {
-                        float localI = (float)testdata[0];
-                        string localFormat = (string)testdata[1];
-                        IFormatProvider localProvider = (IFormatProvider)testdata[2];
-                        string localExpected = (string)testdata[3];
+                    float localI = (float)testdata[0];
+                    string localFormat = (string)testdata[1];
+                    IFormatProvider localProvider = (IFormatProvider)testdata[2];
+                    string localExpected = (string)testdata[3];
 
-                        try
-                        {
-                            char[] actual;
-                            int charsWritten;
-
-                            // Just right
-                            actual = new char[localExpected.Length];
-                            Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
-                            Assert.Equal(localExpected.Length, charsWritten);
-                            Assert.Equal(localExpected, new string(actual));
-
-                            // Longer than needed
-                            actual = new char[localExpected.Length + 1];
-                            Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
-                            Assert.Equal(localExpected.Length, charsWritten);
-                            Assert.Equal(localExpected, new string(actual, 0, charsWritten));
-
-                            // Too short
-                            if (localExpected.Length > 0)
-                            {
-                                actual = new char[localExpected.Length - 1];
-                                Assert.False(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
-                                Assert.Equal(0, charsWritten);
-                            }
-                        }
-                        catch (Exception exc)
+                    try
+                    {
+                        char[] actual;
+                        int charsWritten;
+
+                        // Just right
+                        actual = new char[localExpected.Length];
+                        Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                        Assert.Equal(localExpected.Length, charsWritten);
+                        Assert.Equal(localExpected, new string(actual));
+
+                        // Longer than needed
+                        actual = new char[localExpected.Length + 1];
+                        Assert.True(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                        Assert.Equal(localExpected.Length, charsWritten);
+                        Assert.Equal(localExpected, new string(actual, 0, charsWritten));
+
+                        // Too short
+                        if (localExpected.Length > 0)
                         {
-                            throw new Exception($"Failed on `{localI}`, `{localFormat}`, `{localProvider}`, `{localExpected}`. {exc}");
+                            actual = new char[localExpected.Length - 1];
+                            Assert.False(localI.TryFormat(actual.AsSpan(), out charsWritten, localFormat, localProvider));
+                            Assert.Equal(0, charsWritten);
                         }
                     }
+                    catch (Exception exc)
+                    {
+                        throw new Exception($"Failed on `{localI}`, `{localFormat}`, `{localProvider}`, `{localExpected}`. {exc}");
+                    }
                 }
-            }).Dispose();
+            }
         }
 
         public static IEnumerable<object[]> ToStringRoundtrip_TestData()
index 90162ae..831b716 100644 (file)
@@ -281,22 +281,19 @@ namespace System.Tests
         [Fact]
         public static void Contains_StringComparison_TurkishI()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                const string Source = "\u0069\u0130";
+            const string Source = "\u0069\u0130";
 
-                using (new ThreadCultureChange("tr-TR"))
-                {
-                    Assert.True(Source.Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));
-                    Assert.True(Source.AsSpan().Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));
-                }
+            using (new ThreadCultureChange("tr-TR"))
+            {
+                Assert.True(Source.Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));
+                Assert.True(Source.AsSpan().Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));
+            }
 
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.False(Source.Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));
-                    Assert.False(Source.AsSpan().Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+            using (new ThreadCultureChange("en-US"))
+            {
+                Assert.False(Source.Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));
+                Assert.False(Source.AsSpan().Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
@@ -662,30 +659,27 @@ namespace System.Tests
         [Fact]
         public void Replace_StringComparison_TurkishI()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                const string Source = "\u0069\u0130";
+            const string Source = "\u0069\u0130";
 
-                using (new ThreadCultureChange("tr-TR"))
-                {
-                    Assert.True("\u0069".Equals("\u0130", StringComparison.CurrentCultureIgnoreCase));
+            using (new ThreadCultureChange("tr-TR"))
+            {
+                Assert.True("\u0069".Equals("\u0130", StringComparison.CurrentCultureIgnoreCase));
 
-                    Assert.Equal("a\u0130", Source.Replace("\u0069", "a", StringComparison.CurrentCulture));
-                    Assert.Equal("aa", Source.Replace("\u0069", "a", StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal("\u0069a", Source.Replace("\u0130", "a", StringComparison.CurrentCulture));
-                    Assert.Equal("aa", Source.Replace("\u0130", "a", StringComparison.CurrentCultureIgnoreCase));
-                }
+                Assert.Equal("a\u0130", Source.Replace("\u0069", "a", StringComparison.CurrentCulture));
+                Assert.Equal("aa", Source.Replace("\u0069", "a", StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal("\u0069a", Source.Replace("\u0130", "a", StringComparison.CurrentCulture));
+                Assert.Equal("aa", Source.Replace("\u0130", "a", StringComparison.CurrentCultureIgnoreCase));
+            }
 
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.False("\u0069".Equals("\u0130", StringComparison.CurrentCultureIgnoreCase));
+            using (new ThreadCultureChange("en-US"))
+            {
+                Assert.False("\u0069".Equals("\u0130", StringComparison.CurrentCultureIgnoreCase));
 
-                    Assert.Equal("a\u0130", Source.Replace("\u0069", "a", StringComparison.CurrentCulture));
-                    Assert.Equal("a\u0130", Source.Replace("\u0069", "a", StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal("\u0069a", Source.Replace("\u0130", "a", StringComparison.CurrentCulture));
-                    Assert.Equal("\u0069a", Source.Replace("\u0130", "a", StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                Assert.Equal("a\u0130", Source.Replace("\u0069", "a", StringComparison.CurrentCulture));
+                Assert.Equal("a\u0130", Source.Replace("\u0069", "a", StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal("\u0069a", Source.Replace("\u0130", "a", StringComparison.CurrentCulture));
+                Assert.Equal("\u0069a", Source.Replace("\u0130", "a", StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         public static IEnumerable<object[]> Replace_StringComparisonCulture_TestData()
@@ -966,150 +960,129 @@ namespace System.Tests
         [Fact]
         public static void IndexOf_TurkishI_TurkishCulture_Char()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("tr-TR"))
             {
-                using (new ThreadCultureChange("tr-TR"))
-                {
-                    string s = "Turkish I \u0131s TROUBL\u0130NG!";
-                    char value = '\u0130';
-                    Assert.Equal(19, s.IndexOf(value));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(4, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-
-                    ReadOnlySpan<char> span = s.AsSpan();
-                    Assert.Equal(19, span.IndexOf(new char[] { value }, StringComparison.CurrentCulture));
-                    Assert.Equal(4, span.IndexOf(new char[] { value }, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(19, span.IndexOf(new char[] { value }, StringComparison.Ordinal));
-                    Assert.Equal(19, span.IndexOf(new char[] { value }, StringComparison.OrdinalIgnoreCase));
-
-                    value = '\u0131';
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-
-                    Assert.Equal(10, span.IndexOf(new char[] { value }, StringComparison.CurrentCulture));
-                    Assert.Equal(8, span.IndexOf(new char[] { value }, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, span.IndexOf(new char[] { value }, StringComparison.Ordinal));
-                    Assert.Equal(10, span.IndexOf(new char[] { value }, StringComparison.OrdinalIgnoreCase));
-                }
-            }).Dispose();
+                string s = "Turkish I \u0131s TROUBL\u0130NG!";
+                char value = '\u0130';
+                Assert.Equal(19, s.IndexOf(value));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(4, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+
+                ReadOnlySpan<char> span = s.AsSpan();
+                Assert.Equal(19, span.IndexOf(new char[] { value }, StringComparison.CurrentCulture));
+                Assert.Equal(4, span.IndexOf(new char[] { value }, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, span.IndexOf(new char[] { value }, StringComparison.Ordinal));
+                Assert.Equal(19, span.IndexOf(new char[] { value }, StringComparison.OrdinalIgnoreCase));
+
+                value = '\u0131';
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+
+                Assert.Equal(10, span.IndexOf(new char[] { value }, StringComparison.CurrentCulture));
+                Assert.Equal(8, span.IndexOf(new char[] { value }, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, span.IndexOf(new char[] { value }, StringComparison.Ordinal));
+                Assert.Equal(10, span.IndexOf(new char[] { value }, StringComparison.OrdinalIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_TurkishI_InvariantCulture_Char()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    string s = "Turkish I \u0131s TROUBL\u0130NG!";
-                    char value = '\u0130';
+                string s = "Turkish I \u0131s TROUBL\u0130NG!";
+                char value = '\u0130';
 
-                    Assert.Equal(19, s.IndexOf(value));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, s.IndexOf(value));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    value = '\u0131';
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                value = '\u0131';
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_TurkishI_EnglishUSCulture_Char()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    string s = "Turkish I \u0131s TROUBL\u0130NG!";
-                    char value = '\u0130';
+                string s = "Turkish I \u0131s TROUBL\u0130NG!";
+                char value = '\u0130';
 
-                    Assert.Equal(19, s.IndexOf(value));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(19, s.IndexOf(value));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(19, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
 
-                    value = '\u0131';
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+                value = '\u0131';
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_EquivalentDiacritics_EnglishUSCulture_Char()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                string s = "Exhibit a\u0300\u00C0";
-                char value = '\u00C0';
+            string s = "Exhibit a\u0300\u00C0";
+            char value = '\u00C0';
 
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.Equal(10, s.IndexOf(value));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-                }
-            }).Dispose();
+            using (new ThreadCultureChange("en-US"))
+            {
+                Assert.Equal(10, s.IndexOf(value));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_EquivalentDiacritics_InvariantCulture_Char()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                string s = "Exhibit a\u0300\u00C0";
-                char value = '\u00C0';
+            string s = "Exhibit a\u0300\u00C0";
+            char value = '\u00C0';
 
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    Assert.Equal(10, s.IndexOf(value));
-                    Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+            {
+                Assert.Equal(10, s.IndexOf(value));
+                Assert.Equal(10, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(8, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_CyrillicE_EnglishUSCulture_Char()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                string s = "Foo\u0400Bar";
-                char value = '\u0400';
+            string s = "Foo\u0400Bar";
+            char value = '\u0400';
 
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Assert.Equal(3, s.IndexOf(value));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.Ordinal));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
-                }
-            }).Dispose();
+            using (new ThreadCultureChange("en-US"))
+            {
+                Assert.Equal(3, s.IndexOf(value));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.Ordinal));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.OrdinalIgnoreCase));
+            }
         }
 
         [Fact]
         public static void IndexOf_CyrillicE_InvariantCulture_Char()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                string s = "Foo\u0400Bar";
-                char value = '\u0400';
+            string s = "Foo\u0400Bar";
+            char value = '\u0400';
 
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    Assert.Equal(3, s.IndexOf(value));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCulture));
-                    Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
-                }
-            }).Dispose();
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+            {
+                Assert.Equal(3, s.IndexOf(value));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCulture));
+                Assert.Equal(3, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));
+            }
         }
 
         [Fact]
index 84e2019..d6d9388 100644 (file)
@@ -259,16 +259,13 @@ namespace System.Text.Tests
         [Fact]
         public static void Test_Append_Decimal()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (var testdata in Append_Decimal_TestData())
                 {
-                    foreach (var testdata in Append_Decimal_TestData())
-                    {
-                        Append_Decimal((string)testdata[0], (double)testdata[1], (string)testdata[2]);
-                    }
+                    Append_Decimal((string)testdata[0], (double)testdata[1], (string)testdata[2]);
                 }
-            }).Dispose();
+            }
         }
 
         private static void Append_Decimal(string original, double doubleValue, string expected)
@@ -296,16 +293,13 @@ namespace System.Text.Tests
         [Fact]
         public static void Test_Append_Double()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (var testdata in Append_Double_TestData())
                 {
-                    foreach (var testdata in Append_Double_TestData())
-                    {
-                        Append_Double((string)testdata[0], (double)testdata[1], (string)testdata[2]);
-                    }
+                    Append_Double((string)testdata[0], (double)testdata[1], (string)testdata[2]);
                 }
-            }).Dispose();
+            }
         }
 
         private static void Append_Double(string original, double value, string expected)
@@ -436,16 +430,13 @@ namespace System.Text.Tests
         [Fact]
         public static void Test_Append_Float()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (var testdata in Append_Float_TestData())
                 {
-                    foreach (var testdata in Append_Float_TestData())
-                    {
-                        Append_Float((string)testdata[0], (float)testdata[1], (string)testdata[2]);
-                    }
+                    Append_Float((string)testdata[0], (float)testdata[1], (string)testdata[2]);
                 }
-            }).Dispose();
+            }
         }
 
         private static void Append_Float(string original, float value, string expected)
@@ -1260,16 +1251,13 @@ namespace System.Text.Tests
         [Fact]
         public static void Test_Insert_Float()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (var testdata in Insert_Float_TestData())
                 {
-                    foreach (var testdata in Insert_Float_TestData())
-                    {
-                        Insert_Float((string)testdata[0], (int)testdata[1], (float)testdata[2], (string)testdata[3]);
-                    }
+                    Insert_Float((string)testdata[0], (int)testdata[1], (float)testdata[2], (string)testdata[3]);
                 }
-            }).Dispose();
+            }
         }
 
         private static void Insert_Float(string original, int index, float value, string expected)
@@ -1390,16 +1378,13 @@ namespace System.Text.Tests
         [Fact]
         public static void Test_Insert_Double()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (var testdata in Insert_Double_TestData())
                 {
-                    foreach (var testdata in Insert_Double_TestData())
-                    {
-                        Insert_Double((string)testdata[0], (int)testdata[1], (double)testdata[2], (string)testdata[3]);
-                    }
+                    Insert_Double((string)testdata[0], (int)testdata[1], (double)testdata[2], (string)testdata[3]);
                 }
-            }).Dispose();
+            }
         }
 
         private static void Insert_Double(string original, int index, double value, string expected)
@@ -1430,16 +1415,13 @@ namespace System.Text.Tests
         [Fact]
         public static void Test_Insert_Decimal()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (var testdata in Test_Insert_Decimal_TestData())
                 {
-                    foreach (var testdata in Test_Insert_Decimal_TestData())
-                    {
-                        Insert_Decimal((string)testdata[0], (int)testdata[1], (double)testdata[2], (string)testdata[3]);
-                    }
+                    Insert_Decimal((string)testdata[0], (int)testdata[1], (double)testdata[2], (string)testdata[3]);
                 }
-            }).Dispose();
+            }
         }
 
         private static void Insert_Decimal(string original, int index, double doubleValue, string expected)
index b4a7734..7de773a 100644 (file)
@@ -5,6 +5,5 @@
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
     <IsNETCoreAppRef>false</IsNETCoreAppRef>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c06ff01..18105ac 100644 (file)
@@ -7,7 +7,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap;
       netfx;
     </BuildConfigurations>
   </PropertyGroup>
index 3b96f40..9db00a3 100644 (file)
@@ -4,7 +4,7 @@
     <!-- Must match version supported by frameworks which support 4.1.* inbox.
          Can be removed when API is added and this assembly is versioned to 4.2.* -->
     <AssemblyVersion Condition="'$(TargetsNetFx)' != 'true'">4.1.1.0</AssemblyVersion>
-    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.AccessControl.cs" />
     <Reference Include="mscorlib" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsNetFx)' != 'true'">
-    <SuppressPackageTargetFrameworkCompatibility Include="$(UAPvNextTFM)" />
     <ProjectReference Include="..\..\System.Security.Principal.Windows\ref\System.Security.Principal.Windows.csproj" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Collections.NonGeneric\ref\System.Collections.NonGeneric.csproj" />
   </ItemGroup>
index 4ace388..91b5a56 100644 (file)
@@ -8,7 +8,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
       netfx-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
index 301d675..6c264a5 100644 (file)
@@ -4,12 +4,12 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)'=='true'">true</IsPartialFacadeAssembly>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard'">SR.PlatformNotSupported_AccessControl</GeneratePlatformNotSupportedAssemblyMessage>
-    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetFx)'=='true'">
     <Reference Include="mscorlib" />
   </ItemGroup>
-  <ItemGroup Condition="$(TargetGroup.StartsWith('netcoreapp')) OR '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="System\Security\AccessControl\ACE.cs" />
     <Compile Include="System\Security\AccessControl\ACL.cs" />
     <Compile Include="System\Security\AccessControl\CommonObjectSecurity.cs" />
     <Reference Include="System.Resources.ResourceManager" />
     <Reference Include="System.Security.Principal.Windows" />
   </ItemGroup>
-  <ItemGroup Condition="$(TargetGroup.StartsWith('netcoreapp')) == 'true' OR '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Reference Include="System.Collections" />
     <Reference Include="System.Diagnostics.Debug" />
     <Reference Include="System.Runtime.Extensions" />
index 2e94ce4..6114e61 100644 (file)
@@ -39,7 +39,6 @@ namespace System.Security.AccessControl.Tests
 
         [Theory]
         [MemberData(nameof(AccessRule_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "FileSystemAccessRule is not supported on UAP")]
         public void AccessRule_Constructor(string sid, int accessMask, bool isInherited, int inheritanceFlags, int propagationFlags, int accessControlType)
         {
             IdentityReference identityReference = new SecurityIdentifier(sid);
@@ -60,7 +59,6 @@ namespace System.Security.AccessControl.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "FileSystemAccessRule is not supported on UAP")]
         public override void AccessRule_Constructor_Invalid()
         {
             AssertExtensions.Throws<ArgumentNullException>("identity", () => Constructor(null, 1, true, (InheritanceFlags)1, (PropagationFlags)1, (AccessControlType)0));
index f4fe8e1..2ae81ce 100644 (file)
@@ -40,7 +40,6 @@ namespace System.Security.AccessControl.Tests
 
         [Theory]
         [MemberData(nameof(AuditRule_TestData))]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "FileSystemAuditRule is not supported on UAP")]
         public void AuditRule_Constructor(string sid, int accessMask, bool isInherited, int inheritanceFlags, int propagationFlags, int AuditFlags)
         {
             IdentityReference identityReference = new SecurityIdentifier(sid);
@@ -61,7 +60,6 @@ namespace System.Security.AccessControl.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "FileSystemAuditRule is not supported on UAP")]
         public override void AuditRule_Constructor_Invalid()
         {
             AssertExtensions.Throws<ArgumentNullException>("identity", () => Constructor(null, 1, true, (InheritanceFlags)1, (PropagationFlags)1, (AuditFlags)0));
index dd6fb5e..8bfb431 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netfx-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1ee8dfb..e14d85e 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <UnsupportedPlatforms>Linux;NetBSD;OSX</UnsupportedPlatforms>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Ace\Ace.Common.Tests.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3698fb6..0d60e21 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.Claims.cs" />
index cdeb74f..89d6ac0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 467af43..13c6661 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AssemblyName>System.Security.Claims</AssemblyName>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index b2d2734..ac9a15f 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ClaimsIdentityTests.cs" />
index 3f43a7a..29b5e44 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.3.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3568857..1ca94c0 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.Cryptography.Algorithms.cs" />
index 3e7e3ea..35d4ba2 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp-Unix;
       netcoreapp-OSX;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 72fe677..d11d0c2 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DefineConstants>$(DefineConstants);INTERNAL_ASYMMETRIC_IMPLEMENTATIONS</DefineConstants>
     <NoWarn>CS1573;CS3016;CA5350;CA5351;CA5379;CA5384;CA5385;$(NoWarn)</NoWarn>
-    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <Import Project="$(CommonPath)\System\Security\Cryptography\Asn1\AsnXml.targets"/>
   <Import Project="$(CommonPath)\System\Security\Cryptography\Asn1Reader\System.Security.Cryptography.Asn1Reader.Shared.projitems" />
index b66a362..ad8296d 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6372a95..67eac1b 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\IO\PositionValueStream.cs">
index b9957ad..0201026 100644 (file)
@@ -5,6 +5,5 @@
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
     <IsNETCoreAppRef>false</IsNETCoreAppRef>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 55566b1..759cccb 100644 (file)
@@ -11,7 +11,6 @@
       $(PackageConfigurations)
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index cc7bf0b..dbbbfde 100644 (file)
@@ -2,11 +2,11 @@
   <PropertyGroup>
     <DefineConstants Condition="'$(TargetGroup)' != 'net461' AND '$(TargetGroup)' != 'net462'">$(DefineConstants);FEATURE_ECPARAMETERS</DefineConstants>
     <!-- FEATURE_DSA_HASHDATA is technically also available on net462+, but it doesn't require being enabled since it is a facade -->
-    <DefineConstants Condition="'$(TargetGroup)' == 'uap' Or '$(TargetsNetCoreApp)' == 'true' OR '$(TargetsNetStandard)' == 'true'">$(DefineConstants);FEATURE_DSA_HASHDATA</DefineConstants>
+    <DefineConstants Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsNetStandard)' == 'true'">$(DefineConstants);FEATURE_DSA_HASHDATA</DefineConstants>
     <!-- FEATURE_ECDH_DERIVEFROM is technically also available on net462+, but it doesn't require being enabled since it is a facade -->
-    <DefineConstants Condition="'$(TargetGroup)' == 'uap' Or '$(TargetsNetCoreApp)' == 'true' OR '$(TargetsNetStandard)' == 'true'">$(DefineConstants);FEATURE_ECDH_DERIVEFROM</DefineConstants>
+    <DefineConstants Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsNetStandard)' == 'true'">$(DefineConstants);FEATURE_ECDH_DERIVEFROM</DefineConstants>
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
-    <Configurations>net461-Debug;net461-Release;net462-Debug;net462-Release;net47-Debug;net47-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard2.1-Debug;netstandard2.1-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;net462-Debug;net462-Release;net47-Debug;net47-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard2.1-Debug;netstandard2.1-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.Cryptography.Cng.cs" />
@@ -15,7 +15,7 @@
     <Reference Include="mscorlib" />
     <Reference Include="System.Core" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' Or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.IO\ref\System.IO.csproj" />
     <ProjectReference Include="..\..\System.Runtime.Handles\ref\System.Runtime.Handles.csproj" />
index 2286459..362abfc 100644 (file)
@@ -14,7 +14,6 @@
       netcoreapp-Windows_NT;
       netcoreapp;
       netfx-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 3f58cab..a5b03b7 100644 (file)
@@ -6,7 +6,7 @@
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
     <OmitResources Condition="'$(IsPartialFacadeAssembly)' == 'true'">true</OmitResources>
     <GenFacadesIgnoreMissingTypes Condition="'$(TargetGroup)' == 'net461'">true</GenFacadesIgnoreMissingTypes>
-    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;net462-Windows_NT-Debug;net462-Windows_NT-Release;net47-Windows_NT-Debug;net47-Windows_NT-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netcoreapp3.0-Windows_NT-Debug;netcoreapp3.0-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard2.1-Debug;netstandard2.1-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;net462-Windows_NT-Debug;net462-Windows_NT-Release;net47-Windows_NT-Debug;net47-Windows_NT-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netcoreapp3.0-Windows_NT-Debug;netcoreapp3.0-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard2.1-Debug;netstandard2.1-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup Condition="'$(TargetsWindows)' != 'true'">
     <GeneratePlatformNotSupportedAssemblyMessage>SR.PlatformNotSupported_CryptographyCng</GeneratePlatformNotSupportedAssemblyMessage>
index bde6cac..1ce60d7 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netfx-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 3854ac4..a28aa51 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <DefineConstants>$(DefineConstants);TESTING_CNG_IMPLEMENTATION</DefineConstants>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CreateTests.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 82c304e..d1611a6 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.Cryptography.Csp.cs" />
index 3c373cd..ad8296d 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 4e0cd90..8c825c8 100644 (file)
@@ -4,7 +4,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CA5373</NoWarn>
     <NoWarn Condition="'$(TargetsUnix)' == 'true'">$(NoWarn);CS0809</NoWarn>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Security\Cryptography\AesCryptoServiceProvider.cs" />
index 20cb040..ad8296d 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 581c471..606d76a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CreateTransformCompat.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2172f07..16ac007 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.Cryptography.Encoding.cs" />
index d909584..28007ae 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp-OSX;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index b0cdb20..1d6d9e9 100644 (file)
@@ -2,9 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Security.Cryptography.Encoding</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <DefineConstants Condition="'$(TargetGroup)'=='netcoreapp'">$(DefineConstants);netcoreapp</DefineConstants>
-    <DefineConstants Condition="'$(TargetGroup)'=='uap'">$(DefineConstants);uap</DefineConstants>
-    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <Import Project="$(CommonPath)\System\Security\Cryptography\Asn1\AsnXml.targets" Condition=" '$(TargetsOSX)' == 'true' " />
   <Import Project="$(CommonPath)\System\Security\Cryptography\Asn1Reader\System.Security.Cryptography.Asn1Reader.Shared.projitems" Condition=" '$(TargetsOSX)' == 'true' " />
index f329ed5..1e8dd5d 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 97932a2..c0d6200 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <Import Project="$(CommonPath)\System\Security\Cryptography\Asn1Reader\System.Security.Cryptography.Asn1Reader.Shared.projitems" />
   <ItemGroup>
index 3911bcb..c6f6519 100644 (file)
@@ -9,7 +9,6 @@
       $(PackageConfigurations)
       netfx;
       netcoreapp;      
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 5e814d2..fbf06d3 100644 (file)
@@ -1,18 +1,18 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
-    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard2.1-Debug;netstandard2.1-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard2.1-Debug;netstandard2.1-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.Cryptography.Pkcs.cs" />
-    <Compile Include="System.Security.Cryptography.Pkcs.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true' OR '$(TargetGroup)' == 'uap' OR '$(TargetsNetStandard)' == 'true'" />
+    <Compile Include="System.Security.Cryptography.Pkcs.netcoreapp.cs" Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsNetStandard)' == 'true'" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsNetFx)' == 'true'">
     <Reference Include="mscorlib" />
     <Reference Include="System" />
     <Reference Include="System.Security" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' OR '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Security.Cryptography.Algorithms\ref\System.Security.Cryptography.Algorithms.csproj" />
     <ProjectReference Include="..\..\System.Security.Cryptography.Csp\ref\System.Security.Cryptography.Csp.csproj" />
index 0d08799..9808a1a 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp-Windows_NT;
       netcoreapp;
       netfx-Windows_NT;
-      <!-- uap; -->
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 7b6a463..bdc27fc 100644 (file)
@@ -144,7 +144,6 @@ namespace System.Security.Cryptography.Pkcs.EnvelopedCmsTests.Tests
 
         [ConditionalFact(nameof(SupportsRc4))]
         [OuterLoop(/* Leaks key on disk if interrupted */)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "RC4 isn't available via CNG, and CNG is the only library available to UWP")]
         public static void Rc4AndCngWrappersDontMixTest()
         {
             //
index d261a61..934b99c 100644 (file)
@@ -536,7 +536,6 @@ namespace System.Security.Cryptography.Pkcs.Tests
         [Theory]
         [InlineData(SubjectIdentifierType.IssuerAndSerialNumber, false)]
         [InlineData(SubjectIdentifierType.IssuerAndSerialNumber, true)]
-        [ActiveIssue(31977, TargetFrameworkMonikers.Uap)]
         public static void AddFirstSigner_DSA(SubjectIdentifierType identifierType, bool detached)
         {
             ContentInfo contentInfo = new ContentInfo(new byte[] { 9, 8, 7, 6, 5 });
@@ -1026,7 +1025,6 @@ namespace System.Security.Cryptography.Pkcs.Tests
         [Theory]
         [InlineData(false)]
         [InlineData(true)]
-        [ActiveIssue(31977, TargetFrameworkMonikers.Uap)]
         public static void EnsureExtraCertsAdded(bool newDocument)
         {
             SignedCms cms;
index 33b9e7a..d6086bf 100644 (file)
@@ -445,7 +445,6 @@ namespace System.Security.Cryptography.Pkcs.Tests
         [InlineData(0)]
         [InlineData(1)]
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "NetFx bug")]
-        [ActiveIssue(31977, TargetFrameworkMonikers.Uap)]
         public static void RemoveCounterSignature_EncodedInSingleAttribute(int indexToRemove)
         {
             SignedCms cms = new SignedCms();
@@ -699,7 +698,6 @@ namespace System.Security.Cryptography.Pkcs.Tests
         }
 
         [Fact]
-        [ActiveIssue(31977, TargetFrameworkMonikers.Uap)]
         public static void AddCounterSigner_DSA()
         {
             SignedCms cms = new SignedCms();
@@ -1026,7 +1024,6 @@ namespace System.Security.Cryptography.Pkcs.Tests
         }
 
         [Fact]
-        [ActiveIssue(31977, TargetFrameworkMonikers.Uap)]
         public static void EnsureExtraCertsAdded()
         {
             SignedCms cms = new SignedCms();
index 0768c69..a5b2758 100644 (file)
@@ -1,11 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <!--
-      UAP fails when loading the src assembly:
-      Could not load file or assembly 'System.Security.Cryptography.Pkcs, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. 
-      The located assembly's manifest definition does not match the assembly reference. (0x80131040)
-    -->
     <Configurations>netcoreapp-Debug;netcoreapp-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5f3ab5b..4b36514 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.Cryptography.Primitives.cs" />
index cdeb74f..89d6ac0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index a0d092d..122ba04 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Security.Cryptography.Primitives</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Security\Cryptography\AsymmetricAlgorithm.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9ad368c..edf0e83 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <Import Project="$(CommonTestPath)\Tests.props" />
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonTestPath)\System\IO\PositionValueStream.cs">
index dd6fb5e..8bfb431 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netfx-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5b9ac15..e743a33 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ProtectedDataTests.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a96dbc3..9f3ca26 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.Cryptography.X509Certificates.cs" />
index d909584..28007ae 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp-OSX;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 68b4b68..5eb3738 100644 (file)
@@ -4,7 +4,7 @@
     <AssemblyName>System.Security.Cryptography.X509Certificates</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>$(NoWarn);CS3016;CA5379;CA5384;CA5385</NoWarn>
-    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <Import Project="$(CommonPath)\System\Security\Cryptography\Asn1\AsnXml.targets" />
   <Import Project="$(CommonPath)\System\Security\Cryptography\Asn1Reader\System.Security.Cryptography.Asn1Reader.Shared.projitems" />
index 48a3a8e..faa293b 100644 (file)
@@ -938,7 +938,6 @@ namespace System.Security.Cryptography.X509Certificates.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "Arrays with non-zero lower bounds are not supported.")]
         public static void X509ExtensionCollection_CopyTo_NonZeroLowerBound_ThrowsIndexOutOfRangeException()
         {
             using (X509Certificate2 cert = new X509Certificate2(TestData.PfxData, TestData.PfxDataPassword, Cert.EphemeralIfPossible))
index d909584..28007ae 100644 (file)
@@ -4,7 +4,6 @@
       netcoreapp-OSX;
       netcoreapp-Unix;
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 575ce23..1f70dd0 100644 (file)
@@ -1,14 +1,10 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <HaveDSA Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">true</HaveDSA>
-    <HaveCertificateCreation Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">true</HaveCertificateCreation>
-    <DefineConstants Condition="'$(TargetsNetCoreApp)' != 'true' and '$(TargetsUap)' != 'true'">$(DefineConstants);NO_DSA_AVAILABLE</DefineConstants>
-    <DefineConstants Condition="'$(HaveCertificateCreation)' != 'true'">$(DefineConstants);NO_EPHEMERALKEYSET_AVAILABLE</DefineConstants>
-    <DefineConstants Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetsUap)' == 'true'">$(DefineConstants);HAVE_THUMBPRINT_OVERLOADS</DefineConstants>
+    <DefineConstants>$(DefineConstants);HAVE_THUMBPRINT_OVERLOADS</DefineConstants>
     <DefineConstants Condition="'$(TargetsUnix)' == 'true'">$(DefineConstants);Unix</DefineConstants>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-OSX-Debug;netcoreapp-OSX-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Cert.cs" />
@@ -37,8 +33,6 @@
       <Link>CommonTest\System\Security\Cryptography\ByteUtils.cs</Link>
     </Compile>
     <Compile Include="ImportTests.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(HaveCertificateCreation)'=='true'">
     <Compile Include="CertificateCreation\CertificateRequestApiTests.cs" />
     <Compile Include="CertificateCreation\CertificateRequestChainTests.cs" />
     <Compile Include="CertificateCreation\CertificateRequestUsageTests.cs" />
index 870f920..b1c64a4 100644 (file)
@@ -2,7 +2,7 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 // See the LICENSE file in the project root for more information.
 
-#if NETCOREAPP || uap
+#if NETCOREAPP
 #define HAVE_STORE_ISOPEN
 #endif
 
index b526f45..b668337 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index c9d7a71..53d5c03 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <OutputType>Library</OutputType>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup>
     <RootNamespace>System.Security.Cryptography.Xml.Tests</RootNamespace>
index 55c73f3..80d48a5 100644 (file)
@@ -4,7 +4,6 @@
       netstandard;
       net461;
       netcoreapp3.0;
-      uap;
     </PackageConfigurations>
     <BuildConfigurations>
       $(PackageConfigurations);
index f99a075..7b7a670 100644 (file)
@@ -13,7 +13,7 @@
 [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Permissions.SecurityAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Permissions.SecurityPermissionAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Permissions.SecurityPermissionFlag))]
-#if NETCOREAPP || uap
+#if NETCOREAPP
 [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.IStackWalk))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.PermissionSet))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Security.Permissions.PermissionState))]
index 3a40676..7af18d3 100644 (file)
@@ -567,7 +567,7 @@ namespace System.Security
         void FromXml(System.Security.SecurityElement e, System.Security.Policy.PolicyLevel level);
         System.Security.SecurityElement ToXml(System.Security.Policy.PolicyLevel level);
     }
-#if !NETCOREAPP && !uap
+#if !NETCOREAPP
     public partial interface IStackWalk
     {
         void Assert();
@@ -591,7 +591,7 @@ namespace System.Security
         public override int GetHashCode() { throw null; }
         public override System.Security.SecurityElement ToXml() { throw null; }
     }
-#if !NETCOREAPP && !uap
+#if !NETCOREAPP
     public partial class PermissionSet : System.Collections.ICollection, System.Collections.IEnumerable, System.Runtime.Serialization.IDeserializationCallback, System.Security.ISecurityEncodable, System.Security.IStackWalk
     {
         public PermissionSet(System.Security.Permissions.PermissionState state) { }
@@ -1101,7 +1101,7 @@ namespace System.Security.Permissions
         public override System.Security.IPermission CreatePermission() { throw null; }
         public System.Security.PermissionSet CreatePermissionSet() { throw null; }
     }
-#if !NETCOREAPP && !uap
+#if !NETCOREAPP
     public enum PermissionState
     {
         None = 0,
index 67d94dd..b0d629b 100644 (file)
@@ -1,12 +1,11 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
-    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.Permissions.cs" />
     <Compile Include="System.Security.Permissions.Forwards.cs" />
-    <SuppressPackageTargetFrameworkCompatibility Include="$(UAPvNextTFM)" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Compile Include="System.Security.Permissions.netcoreapp.cs" />
@@ -28,7 +27,7 @@
   <ItemGroup Condition="'$(TargetsNetFx)' != 'true'">
     <ProjectReference Include="..\..\System.Security.AccessControl\ref\System.Security.AccessControl.csproj" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
     <ProjectReference Include="..\..\System.Collections.NonGeneric\ref\System.Collections.NonGeneric.csproj" />
     <ProjectReference Include="..\..\System.ComponentModel.Primitives\ref\System.ComponentModel.Primitives.csproj" />
     <ProjectReference Include="..\..\System.Data.Common\ref\System.Data.Common.csproj" />
index 292321f..a2f7796 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <PackageConfigurations>
       netcoreapp3.0;
-      uap;
       netstandard;
       net461;
     </PackageConfigurations>
index 16cebbe..a0d4963 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>System.Security.Permissions</RootNamespace>
     <AssemblyName>System.Security.Permissions</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="'$(TargetsNetFx)' != 'true'">
     <Compile Include="System\ApplicationIdentity.cs" />
   <ItemGroup>
     <Reference Include="System.Security.AccessControl" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <Reference Include="System.Collections" />
     <Reference Include="System.Collections.NonGeneric" />
     <Reference Include="System.ComponentModel.Primitives" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2076e73..4cb7e46 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ApplicationTrustTests.cs" />
index b4a7734..7de773a 100644 (file)
@@ -5,6 +5,5 @@
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
     <IsNETCoreAppRef>false</IsNETCoreAppRef>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a525392..8a28307 100644 (file)
@@ -9,7 +9,6 @@
       $(PackageConfigurations);
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2d24108..3c47616 100644 (file)
@@ -4,17 +4,16 @@
     <!-- Must match version supported by frameworks which support 4.1.* inbox.
          Can be removed when API is added and this assembly is versioned to 4.2.* -->
     <AssemblyVersion Condition="'$(TargetsNetFx)' != 'true'">4.1.1.0</AssemblyVersion>
-    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
-    <SuppressPackageTargetFrameworkCompatibility Include="$(UAPvNextTFM)" />
     <Compile Include="System.Security.Principal.Windows.cs" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsNetFx)' == 'true'">
     <Reference Include="mscorlib" />
     <Reference Include="System" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' or '$(TargetGroup)' == 'uap'">
+  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp'">
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Security.Claims\ref\System.Security.Claims.csproj" />
     <ProjectReference Include="..\..\System.Security.Principal\ref\System.Security.Principal.csproj" />
index 92a2710..f9314f3 100644 (file)
@@ -12,7 +12,6 @@
       $(PackageConfigurations)
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
       netfx-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
index 802c82a..8f88a76 100644 (file)
@@ -5,9 +5,9 @@
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
     <OmitResources Condition="'$(TargetsNetFx)' == 'true'">true</OmitResources>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsWindows)' != 'true'">SR.PlatformNotSupported_Principal</GeneratePlatformNotSupportedAssemblyMessage>
-    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Unix-Debug;netcoreapp2.0-Unix-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netcoreapp2.1-Unix-Debug;netcoreapp2.1-Unix-Release;netcoreapp2.1-Windows_NT-Debug;netcoreapp2.1-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Unix-Debug;netcoreapp2.0-Unix-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netcoreapp2.1-Unix-Debug;netcoreapp2.1-Unix-Release;netcoreapp2.1-Windows_NT-Debug;netcoreapp2.1-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
-  <ItemGroup Condition="($(TargetGroup.StartsWith('netcoreapp')) or '$(TargetGroup)' == 'uap') AND '$(TargetsWindows)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' and '$(TargetsWindows)' == 'true'">
     <Compile Include="Microsoft\Win32\SafeHandles\SafeAccessTokenHandle.cs" />
     <Compile Include="System\Security\Principal\IdentityNotMappedException.cs" />
     <Compile Include="System\Security\Principal\IdentityReference.cs" />
       <Link>Common\Microsoft\Win32\SafeHandles\SafeLsaReturnBufferHandle.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="$(TargetGroup.StartsWith('netcoreapp')) AND '$(TargetsWindows)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' and '$(TargetsWindows)' == 'true'">
     <Compile Include="$(CommonPath)\Interop\Windows\Advapi32\Interop.CheckTokenMembership.cs">
       <Link>Common\Interop\Interop.CheckTokenMembership.cs</Link>
     </Compile>
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'uap' AND '$(TargetsWindows)' == 'true'">
-    <Compile Include="$(CommonPath)\Interop\Windows\Kernel32\Interop.CheckTokenMembershipEx.cs">
-      <Link>Common\Interop\Interop.CheckTokenMembershipEx.cs</Link>
-    </Compile>
-  </ItemGroup>
   <ItemGroup Condition="'$(TargetsNetFx)' == 'true'">
     <Reference Include="mscorlib" />
   </ItemGroup>
index 83bfac9..a0dc348 100644 (file)
@@ -471,18 +471,10 @@ namespace System.Security.Principal
 
 
                 // CheckTokenMembership will check if the SID is both present and enabled in the access token.
-#if uap
-                if (!Interop.Kernel32.CheckTokenMembershipEx((til != TokenImpersonationLevel.None ? _safeTokenHandle : token),
-                                                      sid.BinaryForm,
-                                                      Interop.Kernel32.CTMF_INCLUDE_APPCONTAINER,
-                                                      ref isMember))
-                    throw new SecurityException(new Win32Exception().Message);
-#else
                 if (!Interop.Advapi32.CheckTokenMembership((til != TokenImpersonationLevel.None ? _safeTokenHandle : token),
                                                       sid.BinaryForm,
                                                       ref isMember))
                     throw new SecurityException(new Win32Exception().Message);
-#endif
 
 
             }
index ac39a2e..6c02e52 100644 (file)
@@ -171,18 +171,10 @@ namespace System.Security.Principal
             bool isMember = false;
 
             // CheckTokenMembership will check if the SID is both present and enabled in the access token.
-#if uap
-            if (!Interop.Kernel32.CheckTokenMembershipEx((_identity.ImpersonationLevel != TokenImpersonationLevel.None ? _identity.AccessToken : token),
-                                                  sid.BinaryForm,
-                                                  Interop.Kernel32.CTMF_INCLUDE_APPCONTAINER,
-                                                  ref isMember))
-                throw new SecurityException(new Win32Exception().Message);
-#else
             if (!Interop.Advapi32.CheckTokenMembership((_identity.ImpersonationLevel != TokenImpersonationLevel.None ? _identity.AccessToken : token),
                                                   sid.BinaryForm,
                                                   ref isMember))
                 throw new SecurityException(new Win32Exception().Message);
-#endif
 
             token.Dispose();
             return isMember;
index dd6fb5e..8bfb431 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netfx-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e195dca..73b3a70 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="NTAccount.cs" />
index 6b3e02e..29bb908 100644 (file)
@@ -72,7 +72,6 @@ public class WindowsIdentityTests
     }
 
     [Fact]
-    [ActiveIssue(31911, TargetFrameworkMonikers.Uap)]
     public static void CloneAndProperties()
     {
         TestUsingAccessToken((logonToken) =>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3ff2821..cab9b15 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 3c373cd..ad8296d 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 2142073..8690f05 100644 (file)
@@ -4,7 +4,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <Nullable>enable</Nullable>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6ae8ca1..31f5e33 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Security.SecureString.cs" />
index cdeb74f..89d6ac0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index c63fe53..ec544dc 100644 (file)
@@ -3,7 +3,7 @@
     <RootNamespace>System.Security.SecureString</RootNamespace>
     <AssemblyName>System.Security.SecureString</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Runtime" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 31ba178..c2738a8 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index c3d0d53..2e0339e 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ee50200..4621bf1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="BasicScenarioTests.cs" />
index e46f2b6..97b2f9f 100644 (file)
@@ -6,8 +6,6 @@
     <IsPartialFacadeAssembly Condition="'$(TargetsNetFx)' == 'true'">true</IsPartialFacadeAssembly>
     <OmitResources Condition="'$(TargetsNetFx)' == 'true'">true</OmitResources>
     <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetGroup)' == 'netstandard' AND '$(TargetsWindows)' != 'true'">SR.PlatformNotSupported_ServiceController</GeneratePlatformNotSupportedAssemblyMessage>
-    <!-- Although we have a netstandard configuration, we know we are not currently UAP compatible-->
-    <UWPCompatible>false</UWPCompatible>
     <Configurations>net461-Windows_NT-Debug;net461-Windows_NT-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup Condition="$(TargetGroup.StartsWith('netcoreapp')) OR ('$(TargetGroup)' == 'netstandard' AND '$(TargetsWindows)' == 'true')">
index eb55473..fd766dd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.2.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1eba17f..409f633 100644 (file)
@@ -8,7 +8,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index cf6ef4c..1d13355 100644 (file)
@@ -6,7 +6,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <!-- copy the Windows-specific implementation to net461 folder so that restore without a RID works -->
     <PackageTargetFramework Condition="'$(TargetGroup)' == 'netstandard' AND '$(TargetsWindows)' == 'true'">netstandard2.0;net461</PackageTargetFramework>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netcoreapp2.0-Windows_NT-Debug;netcoreapp2.0-Windows_NT-Release;netstandard-Debug;netstandard-Release;netstandard-Windows_NT-Debug;netstandard-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Microsoft\Win32\SafeHandles\SafeAllocHHandle.cs" />
index c3d0d53..2e0339e 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e27249d..9e2f227 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="EncoderFallbackBufferHelper.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index ce9b3d1..7df37ab 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index daa4c25..f7b483d 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Text.Encoding.Extensions</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 335a283..17cf6c5 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c6998db..af6f2a7 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Text.Encoding.Forwards.cs" />
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 554d73a..42fa234 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Text.Encoding</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c3b253d..69b2b38 100644 (file)
@@ -102,23 +102,20 @@ namespace System.Text.Tests
         [Fact]
         public void GetEncoding_EncodingName()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
+                foreach (CodePageMapping map in s_mapping)
                 {
-                    foreach (CodePageMapping map in s_mapping)
-                    {
-                        Encoding encoding = Encoding.GetEncoding(map.Name);
+                    Encoding encoding = Encoding.GetEncoding(map.Name);
 
-                        string name = encoding.EncodingName;
+                    string name = encoding.EncodingName;
 
-                        Assert.NotNull(name);
-                        Assert.NotEqual(string.Empty, name);
+                    Assert.NotNull(name);
+                    Assert.NotEqual(string.Empty, name);
 
-                        Assert.All(name, ch => Assert.InRange(ch, 0, 127));
-                    }
+                    Assert.All(name, ch => Assert.InRange(ch, 0, 127));
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
index 9bc7717..bf0322f 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="ASCIIEncoding\ASCIIEncodingEncode.cs" />
index b0566c6..e3343ce 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.4.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-       <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 6a88cfc..f2a6a49 100644 (file)
@@ -6,7 +6,6 @@
     <BuildConfigurations>
       $(PackageConfigurations);
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1bc8745..08b535e 100644 (file)
@@ -1,12 +1,12 @@
 <Project Sdk="Microsoft.NET.Sdk" ToolsVersion="Current">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release</Configurations>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Text.Encodings.Web.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' OR '$(TargetsUap)' == 'true'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="..\..\System.Memory\ref\System.Memory.csproj" />
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Runtime.Extensions\ref\System.Runtime.Extensions.csproj" />
index 6360871..99c6975 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netstandard2.1;
       netstandard;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 7ac5862..06084d5 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <RootNamespace>System.Text.Encodings.Web</RootNamespace>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netstandard-Debug;netstandard-Release;netstandard2.1-Debug;netstandard2.1-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netstandard-Debug;netstandard-Release;netstandard2.1-Debug;netstandard2.1-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Text\Encodings\Web\HexUtil.cs" />
     <Reference Include="System.Memory" />
     <Reference Include="System.Resources.ResourceManager" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true' OR '$(TargetsUap)' == 'true'">
-    <Reference Include="System.Diagnostics.Debug" />
-    <Reference Include="System.Runtime" />
-    <Reference Include="System.Runtime.Extensions" />
-    <Reference Include="System.Threading" />
-  </ItemGroup>
 </Project>
\ No newline at end of file
index dbc9859..61b88ac 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 815d085..f580805 100644 (file)
@@ -5,7 +5,7 @@
     <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
     <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
index 8ec7ebd..dfa0b0b 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.0.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index 00cb268..5ed752c 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netstandard;
       netcoreapp;
-      uap;
       netfx;
     </BuildConfigurations>
   </PropertyGroup>
index 7f1eb2d..96a179a 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Text.Json.cs" />
index 5d35e0a..745fb91 100644 (file)
@@ -3,7 +3,6 @@
     <PackageConfigurations>
       netstandard;
       netcoreapp3.0;
-      uap-Windows_NT;
       net461;
     </PackageConfigurations>
     <BuildConfigurations>
index 056b1f6..56c5936 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Text.Json</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <DocumentationFile>$(OutputPath)$(MSBuildProjectName).xml</DocumentationFile>
-    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>net461-Debug;net461-Release;netcoreapp-Debug;netcoreapp-Release;netcoreapp3.0-Debug;netcoreapp3.0-Release;netfx-Debug;netfx-Release;netstandard-Debug;netstandard-Release</Configurations>
     <!-- For the inbox library (that is shipping with the product), this should always be true. -->
     <!-- BUILDING_INBOX_LIBRARY is only false when building the netstandard compatible NuGet package. -->
     <DefineConstants Condition="'$(TargetsNETStandard)' != 'true' AND '$(TargetsNetFx)' != 'true'">$(DefineConstants);BUILDING_INBOX_LIBRARY</DefineConstants>
index dbc9859..61b88ac 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index c31a729..307e6f1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
     <DefineConstants Condition="'$(TargetGroup)'!='netfx'">$(DefineConstants);BUILDING_INBOX_LIBRARY</DefineConstants>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
   </PropertyGroup>
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f74685e..a1eadd7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index e866214..290f3aa 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Text.RegularExpressions.cs" />
index c49f16c..a1eadd7 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp;
     </BuildConfigurations>
   </PropertyGroup>
index 9d626bd..cf33ead 100644 (file)
@@ -4,7 +4,7 @@
     <DefineConstants Condition="'$(TargetGroup)' == 'netcoreapp'">$(DefineConstants);FEATURE_COMPILED</DefineConstants>
     <DefineConstants Condition="'$(TargetGroup)' == 'netcoreapp'">$(DefineConstants);FEATURE_COMPILEAPIS</DefineConstants>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Collections\Generic\ValueListBuilder.Pop.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index de6b22d..45e11e2 100644 (file)
@@ -678,85 +678,73 @@ namespace System.Text.RegularExpressions.Tests
         [Fact]
         public void GroupsEnUS()
         {
-            RemoteExecutorForUap.Invoke(() => {
-                using (new ThreadCultureChange(s_enUSCulture))
+            using (new ThreadCultureChange(s_enUSCulture))
+            {
+                foreach (object[] testCase in Groups_CustomCulture_TestData_enUS())
                 {
-                    foreach (object[] testCase in Groups_CustomCulture_TestData_enUS())
-                    {
-                        GroupsTest(testCase);
-                    }
+                    GroupsTest(testCase);
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
         public void GroupsCzech()
         {
-            RemoteExecutorForUap.Invoke(() => {
-                using (new ThreadCultureChange(s_czechCulture))
+            using (new ThreadCultureChange(s_czechCulture))
+            {
+                foreach (object[] testCase in Groups_CustomCulture_TestData_Czech())
                 {
-                    foreach (object[] testCase in Groups_CustomCulture_TestData_Czech())
-                    {
-                        GroupsTest(testCase);
-                    }
+                    GroupsTest(testCase);
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
         public void GroupsDanish()
         {
-            RemoteExecutorForUap.Invoke(() => {
-                using (new ThreadCultureChange(s_danishCulture))
+            using (new ThreadCultureChange(s_danishCulture))
+            {
+                foreach (object[] testCase in Groups_CustomCulture_TestData_Danish())
                 {
-                    foreach (object[] testCase in Groups_CustomCulture_TestData_Danish())
-                    {
-                        GroupsTest(testCase);
-                    }
+                    GroupsTest(testCase);
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
         public void GroupsTurkish()
         {
-            RemoteExecutorForUap.Invoke(() => {
-                using (new ThreadCultureChange(s_turkishCulture))
+            using (new ThreadCultureChange(s_turkishCulture))
+            {
+                foreach (object[] testCase in Groups_CustomCulture_TestData_Turkish())
                 {
-                    foreach (object[] testCase in Groups_CustomCulture_TestData_Turkish())
-                    {
-                        GroupsTest(testCase);
-                    }
+                    GroupsTest(testCase);
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
         public void GroupsAzeriLatin()
         {
-            RemoteExecutorForUap.Invoke(() => {
-                using (new ThreadCultureChange(s_azeriLatinCulture))
+            using (new ThreadCultureChange(s_azeriLatinCulture))
+            {
+                foreach (object[] testCase in Groups_CustomCulture_TestData_AzeriLatin())
                 {
-                    foreach (object[] testCase in Groups_CustomCulture_TestData_AzeriLatin())
-                    {
-                        GroupsTest(testCase);
-                    }
+                    GroupsTest(testCase);
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
         public void GroupsBasic()
         {
-            RemoteExecutorForUap.Invoke(() => {
-                using (new ThreadCultureChange(GetDefaultCultureForTests()))
+            using (new ThreadCultureChange(GetDefaultCultureForTests()))
+            {
+                foreach (object[] testCase in Groups_Basic_TestData())
                 {
-                    foreach (object[] testCase in Groups_Basic_TestData())
-                    {
-                        GroupsTest(testCase);
-                    }
+                    GroupsTest(testCase);
                 }
-            }).Dispose();
+            }
         }
 
         [Fact]
index 5fbce5a..f4135d3 100644 (file)
@@ -787,29 +787,23 @@ namespace System.Text.RegularExpressions.Tests
         [Fact]
         public void Match_SpecialUnicodeCharacters_enUS()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange("en-US"))
             {
-                using (new ThreadCultureChange("en-US"))
-                {
-                    Match("\u0131", "\u0049", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
-                    Match("\u0131", "\u0069", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
-                }
-            }).Dispose();
+                Match("\u0131", "\u0049", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
+                Match("\u0131", "\u0069", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
+            }
         }
 
         [Fact]
         public void Match_SpecialUnicodeCharacters_Invariant()
         {
-            RemoteExecutorForUap.Invoke(() =>
+            using (new ThreadCultureChange(CultureInfo.InvariantCulture))
             {
-                using (new ThreadCultureChange(CultureInfo.InvariantCulture))
-                {
-                    Match("\u0131", "\u0049", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
-                    Match("\u0131", "\u0069", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
-                    Match("\u0130", "\u0049", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
-                    Match("\u0130", "\u0069", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
-                }
-            }).Dispose();
+                Match("\u0131", "\u0049", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
+                Match("\u0131", "\u0069", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
+                Match("\u0130", "\u0049", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
+                Match("\u0130", "\u0069", RegexOptions.IgnoreCase, 0, 1, false, string.Empty);
+            }
         }
 
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotArmProcess))] // times out on ARM
index 24018bc..46dd08e 100644 (file)
@@ -17,13 +17,6 @@ namespace System.Text.RegularExpressions.Tests
         /// <returns></returns>
         public static IEnumerable<object[]> TransformRegexOptions(string testDataMethodName, int regexOptionsArrayIndex)
         {
-            // On UWP the compiled feature isn't currently enabled,
-            // therefore we don't need the additional test data.
-            if (PlatformDetection.IsUap)
-            {
-                return Enumerable.Empty<object[]>();
-            }
-
             IEnumerable<Type> types = Assembly.GetExecutingAssembly().GetTypes().Where(t => t.Namespace == typeof(RegexCompilationHelper).Namespace);
             foreach (Type type in types)
             {
index faf6073..253bc09 100644 (file)
@@ -14,34 +14,30 @@ namespace System.Text.RegularExpressions.Tests
         /// <summary>
         /// See https://en.wikipedia.org/wiki/Dotted_and_dotless_I
         /// </summary>
-        [ActiveIssue(38195, TargetFrameworkMonikers.Uap)]
         [Fact]
         public void TurkishI_Is_Differently_LowerUpperCased_In_Turkish_Culture()
         {
-            RemoteExecutorForUap.Invoke(() =>
-            {
-                var turkish = new CultureInfo("tr-TR");
-                string input = "I\u0131\u0130i";
+            var turkish = new CultureInfo("tr-TR");
+            string input = "I\u0131\u0130i";
 
-                Regex[] cultInvariantRegex = Create(input, CultureInfo.InvariantCulture, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
-                Regex[] turkishRegex = Create(input, turkish, RegexOptions.IgnoreCase);
+            Regex[] cultInvariantRegex = Create(input, CultureInfo.InvariantCulture, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
+            Regex[] turkishRegex = Create(input, turkish, RegexOptions.IgnoreCase);
 
-                // same input and regex does match so far so good
-                Assert.All(cultInvariantRegex, rex => Assert.True(rex.IsMatch(input)));
+            // same input and regex does match so far so good
+            Assert.All(cultInvariantRegex, rex => Assert.True(rex.IsMatch(input)));
 
-                // when the Regex was created with a turkish locale the lower cased turkish version will
-                // no longer match the input string which contains upper and lower case iiiis hence even the input string
-                // will no longer match
-                Assert.All(turkishRegex, rex => Assert.False(rex.IsMatch(input)));
+            // when the Regex was created with a turkish locale the lower cased turkish version will
+            // no longer match the input string which contains upper and lower case iiiis hence even the input string
+            // will no longer match
+            Assert.All(turkishRegex, rex => Assert.False(rex.IsMatch(input)));
 
-                // Now comes the tricky part depending on the use locale in ToUpper the results differ
-                // Hence the regular expression will not match if different locales were used
-                Assert.All(cultInvariantRegex, rex => Assert.True(rex.IsMatch(input.ToLowerInvariant())));
-                Assert.All(cultInvariantRegex, rex => Assert.False(rex.IsMatch(input.ToLower(turkish))));
+            // Now comes the tricky part depending on the use locale in ToUpper the results differ
+            // Hence the regular expression will not match if different locales were used
+            Assert.All(cultInvariantRegex, rex => Assert.True(rex.IsMatch(input.ToLowerInvariant())));
+            Assert.All(cultInvariantRegex, rex => Assert.False(rex.IsMatch(input.ToLower(turkish))));
 
-                Assert.All(turkishRegex, rex => Assert.False(rex.IsMatch(input.ToLowerInvariant())));
-                Assert.All(turkishRegex, rex => Assert.True(rex.IsMatch(input.ToLower(turkish))));
-            }).Dispose();
+            Assert.All(turkishRegex, rex => Assert.False(rex.IsMatch(input.ToLowerInvariant())));
+            Assert.All(turkishRegex, rex => Assert.True(rex.IsMatch(input.ToLower(turkish))));
         }
 
         /// <summary>
index 3db858b..b84cc4b 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
     <NoWarn>$(NoWarn);xUnit2008</NoWarn>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup>
   </PropertyGroup>
index dd6fb5e..8bfb431 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netfx-Windows_NT;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9dc0160..62b99a1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;netfx-Windows_NT-Debug;netfx-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="MutexSecurityTests.cs" />
index fde2bd3..a0cc3b8 100644 (file)
@@ -2,7 +2,7 @@
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
   <ItemGroup>
     <ProjectReference Include="..\src\System.Threading.Channels.csproj">
-      <SupportedFramework>net46;netcore50;netcoreapp1.0;$(UAPvNextTFM);$(AllXamarinFrameworks)</SupportedFramework>
+      <SupportedFramework>net46;netcore50;netcoreapp1.0;$(AllXamarinFrameworks)</SupportedFramework>
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
index 188fa18..61b88ac 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 378fcf5..de149ac 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="BoundedChannelTests.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2770ea7..b69ec76 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index a9a5bd7..bce456b 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Threading.Overlapped</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index 109210f..a1eadd7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index a06150b..cb6cb2a 100644 (file)
@@ -8,29 +8,11 @@ using System.Threading;
 
 internal static class DllImport
 {
-#if !uap
     [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode, BestFitMapping = false)]
     internal static extern Win32Handle CreateFile(string lpFileName,
        FileAccess dwDesiredAccess, FileShare dwShareMode,
        IntPtr securityAttrs, CreationDisposition dwCreationDisposition,
        FileAttributes dwFlagsAndAttributes, IntPtr hTemplateFile);
-#else
-    [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode, BestFitMapping = false)]
-    internal static extern unsafe Win32Handle CreateFile2(string lpFileName,
-        FileAccess dwDesiredAccess, FileShare dwShareMode,
-        CreationDisposition dwCreationDisposition, CREATEFILE2_EXTENDED_PARAMETERS* pCreateExParams);
-
-    [StructLayout(LayoutKind.Sequential)]
-    internal struct CREATEFILE2_EXTENDED_PARAMETERS
-    {
-        internal uint dwSize;
-        internal FileAttributes dwFileAttributes;
-        internal FileAttributes dwFileFlags;
-        internal uint dwSecurityQosFlags;
-        internal IntPtr lpSecurityAttributes;
-        internal IntPtr hTemplateFile;
-    }
-#endif
 
     [DllImport("kernel32.dll", SetLastError = true)]
     internal static extern unsafe int WriteFile(SafeHandle handle, byte* bytes, int numBytesToWrite, IntPtr numBytesWritten_mustBeZero, NativeOverlapped* lpOverlapped);
index 92d02a7..f6dd09d 100644 (file)
@@ -26,9 +26,7 @@ internal static partial class HandleFactory
 
     private static unsafe Win32Handle CreateHandle(bool async, string fileName)
     {
-        Win32Handle handle;
-#if !uap
-        handle = DllImport.CreateFile(
+        Win32Handle handle = DllImport.CreateFile(
             fileName,
             DllImport.FileAccess.GenericWrite,
             DllImport.FileShare.Write,
@@ -36,21 +34,6 @@ internal static partial class HandleFactory
             DllImport.CreationDisposition.CreateAlways,
             async ? DllImport.FileAttributes.Overlapped : DllImport.FileAttributes.Normal,
             IntPtr.Zero);
-#else
-        var p = new DllImport.CREATEFILE2_EXTENDED_PARAMETERS();
-        p.dwSize = (uint)sizeof(DllImport.CREATEFILE2_EXTENDED_PARAMETERS);
-        p.dwFileAttributes = DllImport.FileAttributes.Normal;
-        p.dwFileFlags = async ? DllImport.FileAttributes.Overlapped : DllImport.FileAttributes.Normal;
-        p.dwSecurityQosFlags = (uint)0;
-        p.lpSecurityAttributes = IntPtr.Zero;
-        p.hTemplateFile = IntPtr.Zero;
-        handle = DllImport.CreateFile2(
-            fileName,
-            DllImport.FileAccess.GenericWrite,
-            DllImport.FileShare.Write,
-            DllImport.CreationDisposition.CreateAlways,
-            &p);
-#endif
 
         if (!handle.IsInvalid)
         {
index 685f2b8..fbc37c9 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 53d7c7a..964b47e 100644 (file)
@@ -63,7 +63,6 @@ public partial class ThreadPoolBoundHandleTests
     }
 
     [Fact]
-    [ActiveIssue(21066, TargetFrameworkMonikers.Uap)]
     [PlatformSpecific(TestPlatforms.Windows)] // ThreadPoolBoundHandle.BindHandle is not supported on Unix
     public void BindHandle_ClosedSyncHandleAsHandle_ThrowsArgumentException()
     {
@@ -79,7 +78,6 @@ public partial class ThreadPoolBoundHandleTests
     }
 
     [Fact]
-    [ActiveIssue(21066, TargetFrameworkMonikers.Uap)]
     [PlatformSpecific(TestPlatforms.Windows)] // ThreadPoolBoundHandle.BindHandle is not supported on Unix
     public void BindHandle_ClosedAsyncHandleAsHandle_ThrowsArgumentException()
     {
index 24c7b72..1142a8a 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.6.4.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index c3d0d53..2e0339e 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp;
       netfx;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e57fa25..3f472e9 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netfx-Debug;netfx-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Dataflow\ActionBlockTests.cs" />
index 7d66b06..fb7700c 100644 (file)
@@ -1,11 +1,10 @@
 <Project>
   <Import Project="..\Directory.Build.props" />
   <PropertyGroup>
-    <!-- System.Threading.Tasks.Extensions has forwarded types into the runtime on netcoreapp/uap
+    <!-- System.Threading.Tasks.Extensions has forwarded types into the runtime on netcoreapp.
          It must win over assemblies versioned at 4.2.* -->
     <AssemblyVersion>4.3.0.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index f74685e..a1eadd7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index e5922d2..d362e1c 100644 (file)
@@ -1,16 +1,12 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Threading.Tasks.Extensions.Forwards.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netcoreapp' Or '$(TargetGroup)' == 'uap'">
+  <ItemGroup>
     <ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
     <ProjectReference Include="..\..\System.Threading.Tasks\ref\System.Threading.Tasks.csproj" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)' == 'netstandard1.0'">
-    <Reference Include="System.Runtime" />
-    <Reference Include="System.Threading.Tasks" />
-  </ItemGroup>
 </Project>
\ No newline at end of file
index 3f19907..adabcc0 100644 (file)
@@ -3,7 +3,6 @@
     <BuildConfigurations>
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 4efc6fe..d113465 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9e7107b..996e2e1 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index dd42985..359b316 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 043eb8d..0034493 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 591dde5..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index bc6c918..b512f46 100644 (file)
@@ -5,7 +5,7 @@
     <FileAlignment>512</FileAlignment>
     <DefineConstants>$(DefineConstants);CONCURRENT_COLLECTIONS;FEATURE_TRACING</DefineConstants>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 921a7ae..e13ea01 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <PropertyGroup>
     <StartupObject />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1c7a6e8..30b0cd8 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index df48584..cfb0a60 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Threading.Tasks</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3d3f283..e06e9fb 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="Helpers.cs" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 0cba6bf..78e6e3c 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 3706187..00098fa 100644 (file)
@@ -4,7 +4,7 @@
     <OutputType>Library</OutputType>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <Nullable>enable</Nullable>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Threading\ThreadExceptionEventArgs.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 2d3dc8b..fde6e1a 100644 (file)
@@ -4,7 +4,7 @@
     <!-- To be consistent between netfx and others we override the SDK behavior which defaults to .dll -->
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="DefaultApartmentStateMain.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e309fa3..836d458 100644 (file)
@@ -4,7 +4,7 @@
     <!-- To be consistent between netfx and others we override the SDK behavior which defaults to .dll -->
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="MTAMain.cs" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1f39035..21c14ea 100644 (file)
@@ -4,7 +4,7 @@
     <!-- To be consistent between netfx and others we override the SDK behavior which defaults to .dll -->
     <TargetExt>.exe</TargetExt>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="STAMain.cs" />
index a89c1f9..07d6d09 100644 (file)
@@ -3,7 +3,7 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="CompressedStackTests.cs" />
index 3b11457..9eb0e89 100644 (file)
@@ -168,7 +168,6 @@ namespace System.Threading.Threads.Tests
         [InlineData("MTAMain.exe", "SetApartmentStateTest")]
         [InlineData("DefaultApartmentStateMain.exe", "GetApartmentStateTest")]
         [InlineData("DefaultApartmentStateMain.exe", "SetApartmentStateTest")]
-        [ActiveIssue(20766, TargetFrameworkMonikers.Uap)]
         public static void ApartmentState_AttributePresent(string appName, string testName)
         {
             var psi = new ProcessStartInfo();
@@ -183,7 +182,6 @@ namespace System.Threading.Threads.Tests
         }
 
         [Fact]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "RemoteExecutor is STA on UAP.")]
         [PlatformSpecific(TestPlatforms.Windows)]
         public static void ApartmentState_NoAttributePresent_DefaultState_Windows()
         {
@@ -324,7 +322,6 @@ namespace System.Threading.Threads.Tests
 
         [Fact]
         [SkipOnTargetFramework(TargetFrameworkMonikers.Mono)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap)]
         public static void CurrentCultureTest_DifferentThread()
         {
             CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
@@ -1111,7 +1108,6 @@ namespace System.Threading.Threads.Tests
 
         [Fact]
         [PlatformSpecific(TestPlatforms.Windows)]
-        [SkipOnTargetFramework(TargetFrameworkMonikers.Uap, "SetPrincipal doesn't work on UAP.")]
         public static void WindowsPrincipalPolicyTest_Windows()
         {
             RemoteExecutor.Invoke(() =>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index fe00628..fef1c45 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index ec556da..6aafb29 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Threading.ThreadPool</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 9c3b820..485ed0b 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 739968b..be71a21 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 953a957..8d4d52e 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Threading.Timer</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ReferenceFromRuntime Include="System.Private.CoreLib" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a5e422e..c0aa83e 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
   </PropertyGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1d27d92..1706ea2 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 89b186f..d0b9110 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Threading</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   <ItemGroup>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5e62721..f330997 100644 (file)
@@ -161,12 +161,7 @@ namespace System.Threading.Tests
         {
             yield return string.Empty;
             yield return "Local\\";
-
-            // Creating global sync objects is not allowed in UWP apps
-            if (!PlatformDetection.IsUap)
-            {
-                yield return "Global\\";
-            }
+            yield return "Global\\";
         }
 
         public static IEnumerable<object[]> AbandonExisting_MemberData()
index 576c436..b56a300 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <TestRuntime>true</TestRuntime>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="AsyncLocalTests.cs" />
index d8cf6ba..1bf23a4 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.1.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index a353320..33cd04b 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <OutputType>Library</OutputType>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Transactions.Local.cs" />
index 109210f..a1eadd7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index d0a7ed3..f275f2a 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup>
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index cef73d2..52f38a3 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <CoverageSupported>false</CoverageSupported>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="NonMsdtcPromoterTests.cs" />
index 1ba7873..8e139fb 100644 (file)
@@ -66,35 +66,18 @@ namespace System.Text.Tests
         [InlineData("İI", "iI", StringComparison.CurrentCultureIgnoreCase, "tr-TR", true)]
         public static void Equals_NonOrdinal(string str1, string str2, StringComparison comparison, string culture, bool shouldCompareAsEqual)
         {
-            Func<string, string, string, string, string, int> action = (str1, str2, comparison, culture, shouldCompareAsEqual) =>
+            using (new ThreadCultureChange(culture))
             {
-                using (new ThreadCultureChange(culture))
-                {
-                    using BoundedUtf8Span boundedSpan1 = new BoundedUtf8Span(str1);
-                    using BoundedUtf8Span boundedSpan2 = new BoundedUtf8Span(str2);
+                using BoundedUtf8Span boundedSpan1 = new BoundedUtf8Span(str1);
+                using BoundedUtf8Span boundedSpan2 = new BoundedUtf8Span(str2);
 
-                    Utf8Span span1 = boundedSpan1.Span;
-                    Utf8Span span2 = boundedSpan2.Span;
+                Utf8Span span1 = boundedSpan1.Span;
+                Utf8Span span2 = boundedSpan2.Span;
 
-                    StringComparison comparisonType = Enum.Parse<StringComparison>(comparison);
-                    bool expected = bool.Parse(shouldCompareAsEqual);
-
-                    Assert.Equal(expected, span1.Equals(span2, comparisonType));
-                    Assert.Equal(expected, span2.Equals(span1, comparisonType));
-                    Assert.Equal(expected, Utf8Span.Equals(span1, span2, comparisonType));
-                    Assert.Equal(expected, Utf8Span.Equals(span2, span1, comparisonType));
-                }
-
-                return RemoteExecutor.SuccessExitCode;
-            };
-
-            if (culture != null && PlatformDetection.IsUap) // need to apply a culture to the current thread
-            {
-                RemoteExecutor.Invoke(action, str1, str2, comparison.ToString(), culture, shouldCompareAsEqual.ToString()).Dispose();
-            }
-            else
-            {
-                action(str1, str2, comparison.ToString(), culture, shouldCompareAsEqual.ToString());
+                Assert.Equal(shouldCompareAsEqual, span1.Equals(span2, comparison));
+                Assert.Equal(shouldCompareAsEqual, span2.Equals(span1, comparison));
+                Assert.Equal(shouldCompareAsEqual, Utf8Span.Equals(span1, span2, comparison));
+                Assert.Equal(shouldCompareAsEqual, Utf8Span.Equals(span2, span1, comparison));
             }
         }
 
index 009e8c6..e3343ce 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.4.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 79f9c32..0cec8e8 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
       _netfx;
     </BuildConfigurations>
   </PropertyGroup>
index f4a6859..9c694e8 100644 (file)
@@ -3,7 +3,7 @@
     <!-- Must match version supported by frameworks which support 4.0.* inbox.
          Can be removed when API is added and this assembly is versioned to 4.1.* -->
     <AssemblyVersion>4.0.3.0</AssemblyVersion>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.ValueTuple.TypeForwards.cs" />
index 79f9c32..0cec8e8 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
       _netfx;
     </BuildConfigurations>
   </PropertyGroup>
index 298545c..f642ec5 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <!-- rev'ed to 4.0.1.0 even though 4.0.0.0 never shipped so that we can drop pre-release down to beta -->
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.Collections" />
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 591bd47..a32940e 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
     <TestRuntime>true</TestRuntime>
   </PropertyGroup>
   <ItemGroup>
index d8cf6ba..1bf23a4 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.0.1.0</AssemblyVersion>
     <StrongNameKeyId>Open</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 1ddc082..dbb1b08 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Web.HttpUtility.cs" />
index 109210f..a1eadd7 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap-Windows_NT;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
index 1afcd20..8b840de 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the options -->
   <ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 90b82ee..fb3fe78 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="HttpUtility\HttpUtilityTest.cs" />
index 988124d..42479cd 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.2.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index aa5e2d7..a8e6877 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Xml.ReaderWriter.cs" />
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index a5ec1d3..34a5535 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Xml.ReaderWriter</AssemblyName>
     <RootNamespace>System.Xml</RootNamespace>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.Private.Xml\src\System.Private.Xml.csproj" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index e7f4947..f3b24cd 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Xml.XDocument.cs" />
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index c061cdc..ea77a26 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Xml.XDocument</AssemblyName>
     <RootNamespace>System.Xml</RootNamespace>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.Private.Xml.Linq\src\System.Private.Xml.Linq.csproj" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 89370c1..5ec5620 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Xml.XPath.XDocument.cs" />
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index ee0ac55..971bbaa 100644 (file)
@@ -3,12 +3,12 @@
     <AssemblyName>System.Xml.XPath.XDocument</AssemblyName>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System\Xml\XPath\XDocumentExtensions.cs" />
   </ItemGroup>
-  <ItemGroup Condition="'$(TargetGroup)'=='netcoreapp' or '$(TargetGroup)'=='uap'">
+  <ItemGroup Condition="'$(TargetsNetCoreApp)' == 'true'">
     <ProjectReference Include="..\..\System.Private.Xml\src\System.Private.Xml.csproj" />
     <ProjectReference Include="..\..\System.Private.Xml.Linq\src\System.Private.Xml.Linq.csproj" />
   </ItemGroup>
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 056a283..7e73225 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Xml.XPath.cs" />
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index ba35ffc..dfbccce 100644 (file)
@@ -2,7 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Xml.XPath</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.Private.Xml\src\System.Private.Xml.csproj" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 18ab2b7..a6a86c8 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Xml.XmlDocument.cs" />
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index 0ed1b4e..4950e31 100644 (file)
@@ -4,7 +4,7 @@
     <RootNamespace>System.Xml.XmlDocument</RootNamespace>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.Private.Xml\src\System.Private.Xml.csproj" />
index 0025ce6..08f46e9 100644 (file)
@@ -4,6 +4,5 @@
     <AssemblyVersion>4.1.1.0</AssemblyVersion>
     <StrongNameKeyId>Microsoft</StrongNameKeyId>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index f97cd5e..89d6ac0 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 3af18cf..1bc1a27 100644 (file)
@@ -1,6 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Xml.XmlSerializer.cs" />
index 0a221e3..adabcc0 100644 (file)
@@ -1,7 +1,6 @@
 <Project DefaultTargets="Build">
   <PropertyGroup>
     <BuildConfigurations>
-      uap-Windows_NT;
       netcoreapp-Windows_NT;
       netcoreapp-Unix;
     </BuildConfigurations>
index e213a90..6ecbaad 100644 (file)
@@ -3,7 +3,7 @@
     <AssemblyName>System.Xml.XmlSerializer</AssemblyName>
     <RootNamespace>System.Xml.XmlSerializer</RootNamespace>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
-    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release;uap-Windows_NT-Debug;uap-Windows_NT-Release</Configurations>
+    <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.Private.Xml\src\System.Private.Xml.csproj" />
index ec92a37..571f167 100644 (file)
@@ -89,6 +89,4 @@
       <SolutionsToUpdate Include="@(_solutionsToUpdateFiles->'%(RootDir)%(Directory)')" Exclude="@(_solutionsToExcludeFromUpdate)" />
     </ItemGroup>
   </Target>
-
-  <Import Project="$(RepositoryEngineeringDir)restore\uap-tools.targets" />
 </Project>
index fbf7203..b849b1c 100644 (file)
@@ -1,7 +1,6 @@
 <Project>
   <PropertyGroup>
     <BuildConfigurations>
-      uap;
       netcoreapp;
       netstandard;
       netstandard1.0;
index ad6a108..cf53f21 100644 (file)
@@ -6,7 +6,7 @@
     <!-- do not binplace, this is only used to help compile references
          against Windows.winmd.  The real mscorlib comes from src/shims/shims.proj -->
     <BinPlaceRef>false</BinPlaceRef>
-    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release;uap-Debug;uap-Release</Configurations>
+    <Configurations>netcoreapp-Debug;netcoreapp-Release;netstandard-Debug;netstandard-Release;netstandard1.0-Debug;netstandard1.0-Release</Configurations>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="TypeForwards.cs" />
index 52b3b65..506de9a 100644 (file)
@@ -27,9 +27,6 @@
       <FrameworkLayout Include="$(NETCoreAppPackageRefPath)">
         <TargetFramework>netcoreapp2.0</TargetFramework>
       </FrameworkLayout>
-      <FrameworkLayout Include="$(UAPPackageRefPath)">
-        <TargetFramework>$(UAPvNextTFM)</TargetFramework>
-      </FrameworkLayout>
       <FrameworkLayout Include="$(NuGetPackageRoot)$(NETStandardLibraryPackageId)\$(NETStandardLibraryPackageVersion)\build\netstandard2.0\ref">
         <TargetFramework>netstandard2.0</TargetFramework>
       </FrameworkLayout>
index 63aa354..d16ab67 100644 (file)
         "monoandroid10": "Any",
         "monotouch10": "Any",
         "uap10.0.16299": "4.0.0.0",
-        "uap10.0.16300": "4.0.4.0",
         "win8": "4.0.0.0",
         "wp8": "4.0.0.0",
         "wpa81": "4.0.0.0",
         "monoandroid10": "Any",
         "monotouch10": "Any",
         "uap10.0.16299": "4.2.1.0",
-        "uap10.0.16300": "4.3.0.0",
         "win8": "4.0.0.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "monoandroid10": "Any",
         "monotouch10": "Any",
         "uap10.0.16299": "4.3.0.0",
-        "uap10.0.16300": "4.6.0.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "xamarintvos10": "Any",
         "netcoreapp3.0": "4.2.0.0",
         "monoandroid10": "Any",
         "monotouch10": "Any",
-        "uap10.0.16300": "4.2.0.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "xamarintvos10": "Any",
         "monoandroid10": "Any",
         "monotouch10": "Any",
         "uap10.0.16299": "4.1.4.0",
-        "uap10.0.16300": "4.1.5.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "xamarintvos10": "Any",
         "monoandroid10": "Any",
         "monotouch10": "Any",
         "uap10.0.16299": "4.0.4.0",
-        "uap10.0.16300": "4.0.5.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "xamarintvos10": "Any",
         "monoandroid10": "Any",
         "monotouch10": "Any",
         "uap10.0.16299": "4.1.3.0",
-        "uap10.0.16300": "4.1.4.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "xamarintvos10": "Any",
         "monoandroid10": "Any",
         "monotouch10": "Any",
         "uap10.0.16299": "4.3.1.0",
-        "uap10.0.16300": "4.3.2.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "xamarintvos10": "Any",
         "portable46-wp81+wpa81": "4.0.0.0",
         "monoandroid10": "Any",
         "monotouch10": "Any",
-        "uap10.0.16300": "4.0.0.0",
         "win8": "4.0.0.0",
         "wp8": "2.0.5.0",
         "wpa81": "4.0.0.0",
         "monoandroid10": "Any",
         "monotouch10": "Any",
         "uap10.0.16299": "4.1.1.0",
-        "uap10.0.16300": "4.1.2.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "xamarintvos10": "Any",
         "netcoreapp2.1": "4.3.0.0",
         "monoandroid10": "Any",
         "monotouch10": "Any",
-        "uap10.0.16300": "4.3.0.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "xamarintvos10": "Any",
         "monoandroid10": "Any",
         "monotouch10": "Any",
         "uap10.0.16299": "4.0.3.0",
-        "uap10.0.16300": "4.0.4.0",
         "xamarinios10": "Any",
         "xamarinmac20": "Any",
         "xamarintvos10": "Any",
index 48605b8..8cb1e42 100644 (file)
     ]
   },
   {
-    "Name": "System.Net.Http.Rtc",
-    "Description": "Provides the System.Net.Http.RtcRequestFactory class, which creates HTTP requests for use with the Real-Time-Communications (RTC) background notification infrastructure.",
-    "CommonTypes": [
-      "System.Net.Http.RtcRequestFactory"
-    ]
-  },
-  {
     "Name": "System.Net.Requests",
     "Description": "Provides older classes (such as HttpWebRequest and HttpWebResponse) for sending HTTP requests and receiving HTTP responses from a resource identified by a URI. Developers should prefer the classes in the System.Net.Http package.",
     "CommonTypes": [
     ]
   },
   {
-    "Name": "System.Numerics.Vectors.WindowsRuntime",
-    "Description": "Provides extension methods for converting between System.Numerics.Vector2 and Windows.Foundation.Point and Size.",
-    "CommonTypes": [
-      "System.Numerics.VectorExtensions"
-    ]
-  },
-  {
     "Name": "System.ObjectModel",
     "Description": "Provides types and interfaces that allow the creation of observable types that provide notifications to clients when changes are made to it.",
     "CommonTypes": [
index 4edc6a4..034fe31 100644 (file)
@@ -9,15 +9,9 @@
     <ApiCompatNSBaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.$(TargetGroup).netstandard.txt</ApiCompatNSBaselineFile>
     <ApiCompatNSOnlyBaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.$(TargetGroup).netstandardOnly.txt</ApiCompatNSOnlyBaselineFile>
     <ApiCompatImplementationDirs>$(RefPath.TrimEnd('\/'))</ApiCompatImplementationDirs>
-    <!-- If we are targeting uap run ApiCompat against the implementation assemblies instead since they don't match the reference assemblies -->
-    <!-- also include $(RefPath) last to pick up windows.winmd dependency, which we don't place in RuntimePath -->
-    <ApiCompatImplementationDirs Condition="'$(TargetsUap)' == 'true'">$(RuntimePath.TrimEnd('\/')),$(RefPath.TrimEnd('\/'))</ApiCompatImplementationDirs>
     <!-- Set to true to build this project -->
-    <!-- Separate property otherwise /p:BaselineApiCompat=true would force it to run even for non-UAP -->
     <BaselineApiCompat Condition="'$(BaselineApiCompat)' == ''">false</BaselineApiCompat>
     <_RunApiCompat>true</_RunApiCompat>
-    <!-- Disable running apicompat for uap scenarios because the RuntimePath is not correctly setup in BuildAllConfigurations mode -->
-    <_RunApiCompat Condition="'$(BuildAllConfigurations)' == 'true' and '$(TargetsUap)' == 'true'">false</_RunApiCompat>
   </PropertyGroup>
 
   <ItemGroup>
index 54fa8c3..beb53a9 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 499a3b5..0dbef56 100644 (file)
@@ -3,8 +3,7 @@
     <!-- shared configurations between shims and apicompat -->
     <BuildConfigurations>
       $(BuildConfigurations);
-      netcoreapp;
-      uap;
+      netcoreapp;;
     </BuildConfigurations>
   </PropertyGroup>
 
@@ -14,7 +13,6 @@
 
   <PropertyGroup>
     <IsNETCoreApp>true</IsNETCoreApp>
-    <IsUAP>true</IsUAP>
     <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == ''">$(TargetFramework)</NuGetTargetMoniker>
   </PropertyGroup>
 
index 54fa8c3..beb53a9 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 54fa8c3..beb53a9 100644 (file)
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <BuildConfigurations>
       netcoreapp;
-      uap;
     </BuildConfigurations>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 20491c8..57cdeb8 100644 (file)
@@ -12,9 +12,7 @@
   <PropertyGroup>
     <IsRuntimeAssembly>true</IsRuntimeAssembly>
     <!-- Use runtime assemblies for the TargetGroup, using build configuration OSGroup -->
-    <_runtimeOSGroup>$(_bc_OSGroup)</_runtimeOSGroup>
-    <_runtimeOSGroup Condition="'$(TargetsUAP)' == 'true'">Windows_NT</_runtimeOSGroup>
-    <RefPath>$(ArtifactsBinDir)runtime/$(TargetGroup)-$(_runtimeOSGroup)-$(_bc_ConfigurationGroup)-$(ArchGroup)/</RefPath>
+    <RefPath>$(ArtifactsBinDir)runtime/$(TargetGroup)-$(_bc_OSGroup)-$(_bc_ConfigurationGroup)-$(ArchGroup)/</RefPath>
   </PropertyGroup>
 
   <ItemGroup>
index 1577b47..81b04f3 100644 (file)
@@ -6,9 +6,7 @@
     <GenerateFullCoverageReport>true</GenerateFullCoverageReport>
     <CoverageReportInputPath>$(ArtifactsBinDir)*.Tests/**/coverage.xml</CoverageReportInputPath>
     <CoverageReportDir>$(ArtifactsDir)coverage</CoverageReportDir>
-    <!-- For UAP we are using an APPX that is registered with a unique ID. Because of that we need to run tests sequentially -->
-    <SerializeProjects Condition="'$(BuildingUAPVertical)' == 'true' or '$(Coverage)' == 'true'">true</SerializeProjects>
-    <TraversalBuildDependsOn Condition="'$(BuildingUAPVertical)' == 'true' and '$(BuildAllConfigurations)' != 'true'">MakeCommonResourcesPriFile;$(TraversalBuildDependsOn)</TraversalBuildDependsOn>
+    <SerializeProjects Condition="'$(Coverage)' == 'true'">true</SerializeProjects>
   </PropertyGroup>
 
   <ItemGroup Condition="'$(BuildAllConfigurations)' != 'true'">