* POPO (Promote Only Pinned Objects) which actually breaks up a plug if it includes both pinned and non pinned objects so we don’t end up pinning the whole plug if survived pinned objects are adjacent to non pinned objects that might occupy large amounts of memory.
-We also have provided framework utilities like <span style="color:red">`PinnableBufferCache`</span> (which only exists in the full framework) and modified various framework components to use it.
+We also have provided framework utilities like <span style="color:red">`PinnableBufferCache`</span> (which only exists in .NET Framework) and modified various framework components to use it.
With these efforts we were able to mitigate perf problems caused by pinned by a lot. But at the end of the day, due to the nature of “pinning already allocated objects”, we cannot eliminate the situation of interleaved pinned and non pinned objects and that can still cause perf problems for GC. And the long lived scattered pins are the most problematic. They can be separated into 2 categories –
This could be used with `AssemblyLoadContext` APIs to resolve
dependencies not on the TPA list from a shared location, similar to
-the GAC on full framework. It could also be used to forcibly preload
+the GAC on .NET Framework. It could also be used to forcibly preload
assemblies that are on the TPA list from a different location. Future
changes to `AssemblyLoadContext` could make this easier to use by
making the default load context or TPA list modifiable.
<!-- This file is intentionally empty. It is copied by build.cmd into the bin directory as both Directory.Build.props
and Directory.Build.targets to prevent CMake built projects from dependending on the Directory.Build infrastructure
in the root of the source tree. In particular this was necessary to compile DacTableGen, which is currently compiled
- against the desktop framework.
+ against .NET Framework.
-->
</Project>
//------------------------------------------------------------------------------
void ISymbolDocumentWriter.SetSource(byte[] source)
{
- throw new NotSupportedException(); // Intentionally not supported to match .NET Framework CLR
+ throw new NotSupportedException(); // Intentionally not supported to match .NET Framework
}
//------------------------------------------------------------------------------
//
// ! Because the Release occurs in the finalizer thread, this safehandle really takes
// ! an ostrich approach to apartment issues. We only tolerate this here because we're emulating
- // ! the .NET Framework CLR's use of ISymWrapper which also pays lip service to COM apartment rules.
+ // ! the .NET Framework's use of ISymWrapper which also pays lip service to COM apartment rules.
// !
// ! However, think twice about pulling this safehandle out for other uses.
//
//
// Determine MarshalerKind
//
- // This mostly resembles .NET Framework CLR and .NET Native code as we need to match their behavior
- //
if (type.IsPrimitive)
{
switch (type.Category)
public bool DoListBenchmarkTagSets; // List out the benchmark tag sets from the .XML file
public bool DoListBenchmarkExecutables; // List out the benchmark exectubles from the .XML file
public int NumberOfRunsPerBenchmark; // Number of runs/iterations each benchmark should be run
- public string ComplusVersion; // COMPlus_VERSION for .NET Framework CLR hosted runs (optional).
+ public string ComplusVersion; // COMPlus_VERSION for .NET Framework hosted runs (optional).
public string BenchmarksRootDirectory; // Root directory for benchmark tree specified in .XML file.
public string BenchmarkXmlFileName; // Benchmark .XML filename (default coreclr_benchmarks.xml)
public string BenchmarkCsvFileName; // Benchmark output .CSV filename (default coreclr_benchmarks.csv)
{
StringBuilder messageBuilder = new StringBuilder();
- // Format taken from TraceListener.TraceEvent in full framework
+ // Format taken from TraceListener.TraceEvent in .NET Framework
messageBuilder.AppendFormat(CultureInfo.InvariantCulture, "{0} {1}: {2} : ",
s_sourceName, eventType.ToString(), (int)traceId);
{
public static class AssertExtensions
{
- private static bool IsFullFramework => RuntimeInformation.FrameworkDescription.StartsWith(".NET Framework");
+ private static bool IsNetFramework => RuntimeInformation.FrameworkDescription.StartsWith(".NET Framework");
public static void Throws<T>(Action action, string expectedMessage)
where T : Exception
{
T exception = Assert.Throws<T>(action);
- if (netFxParamName == null && IsFullFramework)
+ if (netFxParamName == null && IsNetFramework)
{
// Param name varies between .NET Framework versions -- skip checking it
return;
}
string expectedParamName =
- IsFullFramework ?
+ IsNetFramework ?
netFxParamName : netCoreParamName;
Assert.Equal(expectedParamName, exception.ParamName);
{
T exception = Assert.Throws<T>(testCode);
- if (netFxParamName == null && IsFullFramework)
+ if (netFxParamName == null && IsNetFramework)
{
// Param name varies between .NET Framework versions -- skip checking it
return;
}
string expectedParamName =
- IsFullFramework ?
+ IsNetFramework ?
netFxParamName : netCoreParamName;
Assert.Equal(expectedParamName, exception.ParamName);
where TNetCoreExceptionType : ArgumentException
where TNetFxExceptionType : Exception
{
- if (IsFullFramework)
+ if (IsNetFramework)
{
// Support cases where the .NET Core exception derives from ArgumentException
// but the .NET Framework exception is not.
public static Exception Throws(Type netCoreExceptionType, Type netFxExceptionType, Action action)
{
- if (IsFullFramework)
+ if (IsNetFramework)
{
return Assert.Throws(netFxExceptionType, action);
}
where TNetCoreExceptionType : ArgumentException
where TNetFxExceptionType : ArgumentException
{
- if (IsFullFramework)
+ if (IsNetFramework)
{
Throws<TNetFxExceptionType>(netFxParamName, action);
}
//
public static bool IsWindows => RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
- public static bool IsFullFramework => RuntimeInformation.FrameworkDescription.StartsWith(".NET Framework", StringComparison.OrdinalIgnoreCase);
+ public static bool IsNetFramework => RuntimeInformation.FrameworkDescription.StartsWith(".NET Framework", StringComparison.OrdinalIgnoreCase);
public static bool HasWindowsShell => IsWindows && IsNotWindowsServerCore && IsNotWindowsNanoServer && IsNotWindowsIoTCore;
public static bool IsWindows7 => IsWindows && GetWindowsVersion() == 6 && GetWindowsMinorVersion() == 1;
public static bool IsWindows8x => IsWindows && GetWindowsVersion() == 6 && (GetWindowsMinorVersion() == 2 || GetWindowsMinorVersion() == 3);
[Theory]
[MemberData(nameof(ValidCollectionSizes))]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework throws InvalidOperationException")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Framework throws InvalidOperationException")]
public void ISet_Generic_IntersectWith_Itself(int setLength)
{
ISet<T> set = GenericISetFactory(setLength);
{
// .NET Core and .NET Native throw PlatformNotSupportedExceptions when deserializing many exceptions.
// The .NET Framework supports full deserialization.
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
return;
}
[InlineData(536870928, true)] // number of bits overflows and wraps around to a valid size
public static void InvalidKeySizes(int invalidKeySize, bool skipOnNetfx)
{
- if (skipOnNetfx && PlatformDetection.IsFullFramework)
+ if (skipOnNetfx && PlatformDetection.IsNetFramework)
return;
using (Aes aes = AesFactory.Create())
[InlineData(536870928, true)] // number of bits overflows and wraps around to default BlockSize
public static void InvalidIVSizes(int invalidIvSize, bool skipOnNetfx)
{
- if (skipOnNetfx && PlatformDetection.IsFullFramework)
+ if (skipOnNetfx && PlatformDetection.IsNetFramework)
return;
using (Aes aes = AesFactory.Create())
private static bool ShouldDecryptorBeReusable()
{
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
return true;
bool doNotResetDecryptor;
UseAfterDispose(ecdsa, data, sig);
- if (!(PlatformDetection.IsFullFramework && ecdsa.GetType().Name.EndsWith("Cng")))
+ if (!(PlatformDetection.IsNetFramework && ecdsa.GetType().Name.EndsWith("Cng")))
{
Assert.Throws<ObjectDisposedException>(() => ecdsa.GenerateKey(ECCurve.NamedCurves.nistP256));
Array.Resize(ref encrypted, encrypted.Length + 1);
// Baseline/exempt a .NET Framework difference for RSACng
- if (!PlatformDetection.IsFullFramework ||
+ if (!PlatformDetection.IsNetFramework ||
rsa.GetType().Assembly.GetName().Name != "System.Core")
{
Assert.ThrowsAny<CryptographicException>(
byte[] encrypted = Encrypt(rsa, data, RSAEncryptionPadding.OaepSHA1);
Array.Resize(ref encrypted, encrypted.Length + 1);
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
Assert.ThrowsAny<CryptographicException>(
() => Decrypt(rsa, encrypted, RSAEncryptionPadding.OaepSHA1));
encrypted = Encrypt(rsa, data, RSAEncryptionPadding.OaepSHA256);
Array.Resize(ref encrypted, encrypted.Length + 1);
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
Assert.ThrowsAny<CryptographicException>(
() => Decrypt(rsa, encrypted, RSAEncryptionPadding.OaepSHA256));
using (RSA rsa = RSAFactory.Create())
{
- if (rsa is RSACng && PlatformDetection.IsFullFramework)
+ if (rsa is RSACng && PlatformDetection.IsNetFramework)
AssertExtensions.Throws<ArgumentException>(null, () => rsa.ImportParameters(imported));
else
Assert.ThrowsAny<CryptographicException>(() => rsa.ImportParameters(imported));
using (RSA rsa = RSAFactory.Create())
{
- if (rsa is RSACng && PlatformDetection.IsFullFramework)
+ if (rsa is RSACng && PlatformDetection.IsNetFramework)
AssertExtensions.Throws<ArgumentException>(null, () => rsa.ImportParameters(imported));
else
Assert.ThrowsAny<CryptographicException>(() => rsa.ImportParameters(imported));
Assert.Throws<ObjectDisposedException>(() => rsa.ExportParameters(false));
Assert.Throws<ObjectDisposedException>(() => rsa.ExportParameters(true));
- if (!(PlatformDetection.IsFullFramework && rsa.GetType().Name.EndsWith("Cng")))
+ if (!(PlatformDetection.IsNetFramework && rsa.GetType().Name.EndsWith("Cng")))
{
Assert.Throws<ObjectDisposedException>(() => rsa.ImportParameters(TestData.RSA1024Params));
}
</Modulus>
</RSA"));
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Equal("System.Security.XmlSyntaxException", exception.GetType().FullName);
}
// TripleDESCryptoServiceProvider doesn't throw the ArgumentOutOfRangeException,
// giving a CryptographicException when CAPI reports the destination too small.
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
exceptionType = typeof(CryptographicException);
}
/////////////////////////////////////////////////////////////////////////////////
- private static bool IsTransparentProxy(object obj)
- {
- // In the full framework, this checks:
- // return obj != null && RemotingServices.IsTransparentProxy(obj);
- // but transparent proxies don't exist in .NET Core.
- return false;
- }
-
- /////////////////////////////////////////////////////////////////////////////////
-
private static bool IsDynamicallyTypedRuntimeProxy(DynamicMetaObject argument, CSharpArgumentInfo info)
{
// This detects situations where, although the argument has a value with
bool isDynamicObject =
info != null &&
!info.UseCompileTimeType &&
- (IsComObject(argument.Value) || IsTransparentProxy(argument.Value));
+ IsComObject(argument.Value);
return isDynamicObject;
}
// The accuracy to which we can validate some numeric test cases depends on the platform.
private static readonly int s_precision = IsArmOrArm64OrAlpine ? 12 :
- PlatformDetection.IsFullFramework ? 14 : 15;
+ PlatformDetection.IsNetFramework ? 14 : 15;
[Theory]
[InlineData(0, 1.0, 1.0, 1.0, 1.0, 0, 0)]
CultureInfo.InvariantCulture,
"{0} ({1})",
typeof(Win32Exception).ToString(),
- PlatformDetection.IsFullFramework ? $"0x{E_FAIL:X8}" : error.ToString(CultureInfo.InvariantCulture));
+ PlatformDetection.IsNetFramework ? $"0x{E_FAIL:X8}" : error.ToString(CultureInfo.InvariantCulture));
Exception innerException = new FormatException();
SystemEvents.TimerElapsed += handler;
try
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// .NET Framework has a bug where it will allow EnsureSystemEvents to proceed without actually creating the HWND
SystemEventsTest.WaitForSystemEventsWindow();
SystemEvents.TimerElapsed += handler;
try
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// .NET Framework has a bug where it will allow EnsureSystemEvents to proceed without actually creating the HWND
SystemEventsTest.WaitForSystemEventsWindow();
{
if (s_hwnd == IntPtr.Zero)
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// .NET Framework has a bug where it will allow EnsureSystemEvents to proceed without actually creating the HWND
WaitForSystemEventsWindow();
yield return new object[] { compilerInfo, CodeDomProvider.GetCompilerInfo("cs"), true };
yield return new object[] { compilerInfo, CodeDomProvider.GetCompilerInfo("vb"), false };
- // .NET Core fixes a typo in .NET Full Framework and validates that the casted object
+ // .NET Core fixes a typo in .NET Framework and validates that the casted object
// instead of validating the object typed parameter.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { compilerInfo, new object(), false };
}
return new Dictionary<string, string>();
}
- protected override ModifyOperation ModifyEnumeratorThrows => PlatformDetection.IsFullFramework ? base.ModifyEnumeratorThrows : ModifyOperation.Add | ModifyOperation.Insert;
+ protected override ModifyOperation ModifyEnumeratorThrows => PlatformDetection.IsNetFramework ? base.ModifyEnumeratorThrows : ModifyOperation.Add | ModifyOperation.Insert;
- protected override ModifyOperation ModifyEnumeratorAllowed => PlatformDetection.IsFullFramework ? base.ModifyEnumeratorAllowed : ModifyOperation.Remove | ModifyOperation.Clear;
+ protected override ModifyOperation ModifyEnumeratorAllowed => PlatformDetection.IsNetFramework ? base.ModifyEnumeratorAllowed : ModifyOperation.Remove | ModifyOperation.Clear;
/// <summary>
/// Creates an object that is dependent on the seed given. The object may be either
Assert.Equal(name, attribute.Name);
Assert.Equal(thisKey, attribute.ThisKey);
Assert.Equal(otherKey, attribute.OtherKey);
- if (PlatformDetection.IsFullFramework && thisKey == null)
+ if (PlatformDetection.IsNetFramework && thisKey == null)
{
Assert.Throws<NullReferenceException>(() => attribute.ThisKeyMembers);
}
{
Assert.Equal(expectedThisKeyMembers, attribute.ThisKeyMembers);
}
- if (PlatformDetection.IsFullFramework && otherKey == null)
+ if (PlatformDetection.IsNetFramework && otherKey == null)
{
Assert.Throws<NullReferenceException>(() => attribute.OtherKeyMembers);
}
// The .NET Framework has a bug where CustomValidationAttribute doesn't
// validate the context. See https://github.com/dotnet/corefx/issues/18360.
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.False(attribute.RequiresValidationContext);
}
// .NET Core fixed a bug where whitespace strings were allowed as CustomDataType.
// See https://github.com/dotnet/corefx/issues/4465.
- yield return new object[] { " ", PlatformDetection.IsFullFramework };
+ yield return new object[] { " ", PlatformDetection.IsNetFramework };
}
[Theory]
// The .NET Framework considers them invalid. This is likely a bug
// in .NET core. Seee https://github.com/dotnet/corefx/issues/17873.
// [ActiveIssue("https://github.com/dotnet/corefx/issues/17873")]
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
yield return new TestCase(new PhoneAttribute(), "+4+2+5+-+5+5+5+-+1+2++1+2++");
yield return new TestCase(new PhoneAttribute(), "425-555-1212 ");
yield return new object[] { attribute, new CategoryAttribute("category2"), false };
yield return new object[] { attribute, new CategoryAttribute(string.Empty), false };
// .NET Framework throws a NullReferenceException.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { attribute, new CategoryAttribute(null), false };
}
// .NET Framework throws a NullReferenceException.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { new CategoryAttribute(null), new CategoryAttribute(null), true };
yield return new object[] { new CategoryAttribute(null), new CategoryAttribute("category"), false };
yield return new object[] { attribute, new DescriptionAttribute("description2"), false };
yield return new object[] { attribute, new DescriptionAttribute(""), false };
// .NET Framework throws a NullReferenceException.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { attribute, new DescriptionAttribute(null), false };
}
// .NET Framework throws a NullReferenceException.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { new DescriptionAttribute(null), new DescriptionAttribute(null), true };
yield return new object[] { new DescriptionAttribute(null), new DescriptionAttribute("description"), false };
yield return new object[] { attribute, new DesignerCategoryAttribute("category2"), false };
yield return new object[] { attribute, new DesignerCategoryAttribute(string.Empty), false };
// .NET Framework throws a NullReferenceException.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { attribute, new DesignerCategoryAttribute(null), false };
}
// .NET Framework throws a NullReferenceException.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { new DesignerCategoryAttribute(null), new DesignerCategoryAttribute(null), true };
yield return new object[] { new DesignerCategoryAttribute(null), new DesignerCategoryAttribute("category"), false };
yield return new object[] { attribute, new DisplayNameAttribute("name2"), false };
yield return new object[] { attribute, new DisplayNameAttribute(""), false };
// .NET Framework throws a NullReferenceException.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { attribute, new DisplayNameAttribute(null), false };
}
// .NET Framework throws a NullReferenceException.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { new DisplayNameAttribute(null), new DisplayNameAttribute(null), true };
yield return new object[] { new DisplayNameAttribute(null), new DisplayNameAttribute(""), false };
false
};
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[]
{
HasEntryAssembly = true;
- // The original .NET Framework (desktop) code tried to get the local path without using Uri.
+ // The original .NET Framework code tried to get the local path without using Uri.
// If we ever find a need to do this again be careful with the logic. "file:///" is
// used for local paths and "file://" for UNCs. Simply removing the prefix will make
// local paths relative on Unix (e.g. "file:///home" will become "home" instead of
public override Stream OpenStreamForWrite(string streamName, string templateStreamName, ref object writeContext)
{
- // On .NET Framework (Desktop CLR) we do a bunch of work here around ensuring permissions and quotas
+ // On .NET Framework we do a bunch of work here around ensuring permissions and quotas
return Host.OpenStreamForWrite(streamName, templateStreamName, ref writeContext);
}
}
catch
{
- // On .NET Framework (Desktop) we try to P/Invoke directly to Windows to get a "better" exception
+ // On .NET Framework we try to P/Invoke directly to Windows to get a "better" exception
// ThrowBetterException(keyMustExist);
throw;
}
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework does not have the fix https://github.com/dotnet/corefx/issues/41873")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Framework does not have the fix https://github.com/dotnet/corefx/issues/41873")]
public void DescriptionValueIsExposed()
{
FooFailsValidator validator = new FooFailsValidator();
[Fact]
public void EnsureInitWithDifferentOrderHostParams()
{
- string assemblyName = PlatformDetection.IsFullFramework ? "System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" : "System.Configuration.ConfigurationManager";
+ string assemblyName = PlatformDetection.IsNetFramework ? "System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" : "System.Configuration.ConfigurationManager";
// InternalConfigFactory allows you to specify your own host / hostInitParams
// Ensure ImplictMachineConfigHost can init within this process and not throw an Invalid cast exception
Assert.True(ElementOne.Equals(ElementTwo));
}
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework does not have the fix for https://github.com/dotnet/corefx/issues/27875")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Framework does not have the fix for https://github.com/dotnet/corefx/issues/27875")]
[Fact]
public void DefaultConstructorEqualHashCodes()
{
public class TempConfigurationHost : DelegatingConfigHost
{
- private static string s_assemblyName = PlatformDetection.IsFullFramework ? "System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" : "System.Configuration.ConfigurationManager";
+ private static string s_assemblyName = PlatformDetection.IsNetFramework ? "System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" : "System.Configuration.ConfigurationManager";
private static IInternalConfigConfigurationFactory s_configurationFactory;
private ConfigurationFileMap _fileMap;
[Fact]
public void UriSectionIdnIriParsing()
{
- using (var temp = new TempConfig(PlatformDetection.IsFullFramework ? UriSectionConfiguration_NetFX : UriSectionConfiguration_Core))
+ using (var temp = new TempConfig(PlatformDetection.IsNetFramework ? UriSectionConfiguration_NetFX : UriSectionConfiguration_Core))
{
var config = ConfigurationManager.OpenExeConfiguration(temp.ExePath);
UriSection uriSection = (UriSection)config.GetSection("uri");
[Fact]
public void UriSectionSchemeSettings()
{
- using (var temp = new TempConfig(PlatformDetection.IsFullFramework ? UriSectionConfiguration_NetFX : UriSectionConfiguration_Core))
+ using (var temp = new TempConfig(PlatformDetection.IsNetFramework ? UriSectionConfiguration_NetFX : UriSectionConfiguration_Core))
{
var config = ConfigurationManager.OpenExeConfiguration(temp.ExePath);
UriSection uriSection = (UriSection)config.GetSection("uri");
throw new IOException(SR.IO_NoConsole);
int mode = 0;
- Interop.Kernel32.GetConsoleMode(handle, out mode); // failure ignored in full framework
+ if (!Interop.Kernel32.GetConsoleMode(handle, out mode))
+ throw Win32Marshal.GetExceptionForWin32Error(Marshal.GetLastWin32Error());
if (value)
{
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework does not yet have the fix for this bug")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Framework does not have the fix for this bug")]
public void XsdSchemaDeserializationIgnoresLocale()
{
var serializer = new BinaryFormatter();
Assert.Equal(-1, rowIDColumn.AutoIncrementSeed);
Assert.Equal(-2, rowIDColumn.AutoIncrementStep);
}
-
- [Fact]
- [SkipOnTargetFramework(~TargetFrameworkMonikers.NetFramework, "Exists to provide notification of when the full framework gets the bug fix, at which point the preceding test can be re-enabled")]
- public void XsdSchemaDeserializationOnFullFrameworkStillHasBug()
- {
- var serializer = new BinaryFormatter();
- 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
- });
-
- Exception exception;
- CultureInfo savedCulture = CultureInfo.CurrentCulture;
- try
- {
- exception = Assert.Throws<TargetInvocationException>(() =>
- {
- // Before deserializing, update the culture to use a weird negative number format. The bug this test is testing causes "-1" to no
- // longer be treated as a valid representation of the value -1, instead only accepting the string "()1".
- CultureInfo.CurrentCulture = new CultureInfo("en-US")
- {
- NumberFormat = new NumberFormatInfo()
- {
- NegativeSign = "()"
- }
- };
- serializer.Deserialize(buffer); // BUG: System.Exception: "-1 is not a valid value for Int64."
- });
- }
- finally
- {
- CultureInfo.CurrentCulture = savedCulture;
- }
-
- Assert.IsAssignableFrom<FormatException>(exception.InnerException.InnerException);
- }
}
}
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix applied only for dotnet Core, full framework throws NullReferenceException")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix applied only for .NET Core, .NET Framework throws NullReferenceException")]
public void Equals_NullStringValueInStringArray_CanBeCompared()
{
var table = new DataTable("Table");
}
}
-}
\ No newline at end of file
+}
command.CommandText = @"SELECT * FROM " + tableName;
using (var builder = (OleDbCommandBuilder)OleDbFactory.Instance.CreateCommandBuilder())
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
AssertExtensions.Throws<ArgumentNullException>(
() => builder.QuoteIdentifier(null, command.Connection),
Assert.Equal(UpdateRowSource.Both, cmd.UpdatedRowSource);
cmd.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord;
Assert.Equal(UpdateRowSource.FirstReturnedRecord, cmd.UpdatedRowSource);
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
AssertExtensions.Throws<ArgumentOutOfRangeException>(
() => cmd.UpdatedRowSource = (UpdateRowSource)InvalidValue,
const int InvalidValue = -1;
using (var cmd = new OleDbCommand(default, connection, transaction))
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
AssertExtensions.Throws<ArgumentException>(
() => cmd.CommandTimeout = InvalidValue,
const int InvalidValue = 0;
using (var cmd = (OleDbCommand)OleDbFactory.Instance.CreateCommand())
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
AssertExtensions.Throws<ArgumentOutOfRangeException>(
() => cmd.CommandType = (CommandType)InvalidValue,
public void Parameters_AddNullParameter_Throws()
{
RunTest((command, tableName) => {
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
AssertExtensions.Throws<ArgumentNullException>(
() => command.Parameters.Add(null),
TException ex = Assert.Throws<TException>(connectAction);
// Some exception messages are different between Framework and Core
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
Assert.Contains(expectedExceptionMessage, ex.Message);
}
yield return new object[] { "This is a format with 1 object {0}", new object[] { 123 } };
yield return new object[] { "This is a weird {0}{1}{2} format that has multiple inputs {3}", new object[] { 0, 1, "two", "." } };
yield return new object[] { "This is a weird {0}{1}{2} format that but args are null", null };
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
- // Full framework doesn't check for args.Length == 0 and if format is not null or empty, it calls string.Format
+ // .NET Framework doesn't check for args.Length == 0 and if format is not null or empty, it calls string.Format
yield return new object[] { "This is a weird {0}{1}{2} format that but args length is 0", new object[] { } };
}
using (CounterSet typingCounterSet = new CounterSet(_fixture._providerId, _fixture._typingCounterSetId, CounterSetInstanceType.Single))
{
ArgumentException argumentException = (ArgumentException)Assert.Throws(exceptionType, () => typingCounterSet.AddCounter(8, CounterType.SampleBase, counterName));
- Assert.Equal(PlatformDetection.IsFullFramework ? netfxParameterName : netCoreParameterName, argumentException.ParamName);
+ Assert.Equal(PlatformDetection.IsNetFramework ? netfxParameterName : netCoreParameterName, argumentException.ParamName);
}
}
private static string GetResourceStringFromReflection(string key)
{
BindingFlags flags = BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic;
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
Type sr = typeof(EventSource).Assembly.GetType("System.SR", throwOnError: true, ignoreCase: false);
PropertyInfo resourceProp = sr.GetProperty(key, flags);
string message = _event.PayloadString(0, "message");
Debug.WriteLine(string.Format("Message=\"{0}\"", message));
// expected message: "ERROR: Exception in Command Processing for EventSource BadEventSource_MismatchedIds: Event Event2 was assigned event ID 2 but 1 was passed to WriteEvent. "
- if (!PlatformDetection.IsFullFramework) // Full framework has typo
+ if (!PlatformDetection.IsNetFramework) // .NET Framework has typo
Assert.Matches("Event Event2 was assigned event ID 2 but 1 was passed to WriteEvent", message);
}
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "The field _keys in full framework is called keys, so GetField returns null and ends up in a NRE")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "The field _keys in .NET Framework is called keys, so GetField returns null and ends up in a NRE")]
public void SortKeys_GetNull_ReturnsEmptyArray()
{
var control = new SortRequestControl();
yield return new object[] { new CharacterRange(1, 2), new object(), false };
// .NET Framework throws NullReferenceException.
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[] { new CharacterRange(1, 2), null, false };
}
IntPtr hdc = graphics.GetHdc();
try
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
AssertExtensions.Throws<ArgumentException>(null, () => Font.FromLogFont(null));
AssertExtensions.Throws<ArgumentException>(null, () => Font.FromLogFont(null, hdc));
// There is no such thing as a negative number in the native struct, we're throwing ArgumentException
// here now as the data size doesn't match what is expected (as other inputs above).
- PlatformDetection.IsFullFramework ? typeof(Win32Exception) : typeof(ArgumentException)
+ PlatformDetection.IsNetFramework ? typeof(Win32Exception) : typeof(ArgumentException)
};
// The size of an entry is negative.
new byte[] { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 127, 255, 255, 255, 127 },
// Another case where we weren't checking data integrity before invoking.
- PlatformDetection.IsFullFramework ? typeof(Win32Exception) : typeof(ArgumentException)
+ PlatformDetection.IsNetFramework ? typeof(Win32Exception) : typeof(ArgumentException)
};
// The offset and the size of the list of entries overflows.
public void ExtractAssociatedIcon_NonFilePath_ThrowsFileNotFound()
{
// Used to return null at the expense of creating a URI
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Null(Icon.ExtractAssociatedIcon("http://microsoft.com"));
}
}
else
{
- string fieldName = PlatformDetection.IsFullFramework ? "bitDepth" : "s_bitDepth";
+ string fieldName = PlatformDetection.IsNetFramework ? "bitDepth" : "s_bitDepth";
FieldInfo fi = typeof(Icon).GetField(fieldName, BindingFlags.Static | BindingFlags.NonPublic);
expectedBitDepth = (int)fi.GetValue(null);
}
public void FromFile_LongSegment_ThrowsException()
{
// Throws PathTooLongException on Desktop and FileNotFoundException elsewhere.
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
string fileName = new string('a', 261);
[MemberData(nameof(GetEncoderParameterList_ReturnsExpected_TestData))]
public void GetEncoderParameterList_ReturnsExpected(ImageFormat format, Guid[] expectedParameters)
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
throw new SkipTestException("This is a known bug for .NET Framework");
}
using (var fontCollection = new PrivateFontCollection())
{
// Throws PathTooLongException on Desktop and FileNotFoundException elsewhere.
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<PathTooLongException>(
() => fontCollection.AddFontFile(new string('a', 261)));
// On .NET Framework sometimes the size might be default or it might
// be disposed in which case Size property throws an ArgumentException
// so allow both cases see https://github.com/dotnet/corefx/issues/27361.
- if (PlatformDetection.IsFullFramework && ex is ArgumentException)
+ if (PlatformDetection.IsNetFramework && ex is ArgumentException)
{
return;
}
{
public class GetCultureInfoTests
{
- public static bool PlatformSupportsFakeCulture => !PlatformDetection.IsWindows || (PlatformDetection.WindowsVersion >= 10 && !PlatformDetection.IsFullFramework);
+ public static bool PlatformSupportsFakeCulture => !PlatformDetection.IsWindows || (PlatformDetection.WindowsVersion >= 10 && !PlatformDetection.IsNetFramework);
[ConditionalTheory(nameof(PlatformSupportsFakeCulture))]
[InlineData("en")]
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix not shipped for full framework.")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix not shipped for .NET Framework.")]
public static async Task ZipArchiveEntry_CorruptedStream_ReadMode_CopyTo_UpToUncompressedSize()
{
MemoryStream stream = await LocalMemoryStream.readAppFileAsync(zfile("normal.zip"));
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix not shipped for full framework.")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix not shipped for .NET Framework.")]
public static async Task ZipArchiveEntry_CorruptedStream_ReadMode_Read_UpToUncompressedSize()
{
MemoryStream stream = await LocalMemoryStream.readAppFileAsync(zfile("normal.zip"));
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Deflate64 zip support is a netcore feature not available on full framework.")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Deflate64 zip support is not available on .NET Framework.")]
public static async Task Zip64ArchiveEntry_CorruptedStream_CopyTo_UpToUncompressedSize()
{
MemoryStream stream = await LocalMemoryStream.readAppFileAsync(compat("deflate64.zip"));
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Deflate64 zip support is a netcore feature not available on full framework.")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Deflate64 zip support is not available on .NET Framework.")]
public static async Task Zip64ArchiveEntry_CorruptedFile_Read_UpToUncompressedSize()
{
MemoryStream stream = await LocalMemoryStream.readAppFileAsync(compat("deflate64.zip"));
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix not shipped for full framework.")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix not shipped for .NET Framework.")]
public static async Task ZipArchive_CorruptedLocalHeader_UncompressedSize_NotMatchWithCentralDirectory()
{
MemoryStream stream = await LocalMemoryStream.readAppFileAsync(zfile("normal.zip"));
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix not shipped for full framework.")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Fix not shipped for .NET Framework.")]
public static async Task ZipArchive_CorruptedLocalHeader_CompressedSize_NotMatchWithCentralDirectory()
{
MemoryStream stream = await LocalMemoryStream.readAppFileAsync(zfile("normal.zip"));
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full Framework does not allow unseekable streams.")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Framework does not allow unseekable streams.")]
public static async Task ZipArchive_Unseekable_Corrupted_FileDescriptor_NotMatchWithCentralDirectory()
{
using (var s = new MemoryStream())
Assert.Throws<ArgumentNullException>("directoryInfo", () =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, security);
}
Assert.Throws<ArgumentNullException>("directorySecurity", () =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, null);
}
Assert.Throws<UnauthorizedAccessException>(() =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, security);
}
Assert.Throws<ArgumentNullException>("fileInfo", () =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, FileMode.Create, FileSystemRights.WriteData, FileShare.Read, DefaultBufferSize, FileOptions.None, security);
}
Assert.Throws<ArgumentNullException>("fileSecurity", () =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, FileMode.Create, FileSystemRights.WriteData, FileShare.Read, DefaultBufferSize, FileOptions.None, null);
}
Assert.Throws<DirectoryNotFoundException>(() =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, FileMode.Create, FileSystemRights.WriteData, FileShare.Read, DefaultBufferSize, FileOptions.None, security);
}
Assert.Throws<ArgumentOutOfRangeException>("mode", () =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, invalidMode, FileSystemRights.WriteData, FileShare.Read, DefaultBufferSize, FileOptions.None, security); ;
}
Assert.Throws<ArgumentOutOfRangeException>("share", () =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, FileMode.Create, FileSystemRights.WriteData, invalidFileShare, DefaultBufferSize, FileOptions.None, security);
}
Assert.Throws<ArgumentOutOfRangeException>("bufferSize", () =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, FileMode.Create, FileSystemRights.WriteData, FileShare.Read, invalidBufferSize, FileOptions.None, security);
}
Assert.Throws<ArgumentException>(() =>
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
FileSystemAclExtensions.Create(info, mode, rights, FileShare.Read, DefaultBufferSize, FileOptions.None, security);
}
Assert.Equal(path, info.ToString());
}
- [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsFullFramework))]
+ [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNetFramework))]
public void ParentToString_Framework()
{
ParentToString(false);
internal static void GetDefaultIdentityAndHash(out object identity, out string hash, char separator)
{
- // .NET Framework (desktop CLR) IsolatedStorage uses identity from System.Security.Policy.Evidence to build
+ // .NET Framework IsolatedStorage uses identity from System.Security.Policy.Evidence to build
// the folder structure on disk. It would use the "best" available evidence in this order:
//
// 1. Publisher (Authenticode)
// 4. Site
// 5. Zone
//
- // For CoreFX StrongName and Url are the only relevant types. By default evidence for the Domain comes
+ // For .NET Core StrongName and Url are the only relevant types. By default evidence for the Domain comes
// from the Assembly which comes from the EntryAssembly(). We'll emulate the legacy default behavior
// by pulling directly from EntryAssembly.
//
// Note that it is possible that there won't be an EntryAssembly, which is something .NET Framework doesn't
- // have to deal with and shouldn't be likely on CoreFX due to a single AppDomain. Without Evidence
+ // have to deal with and shouldn't be likely on .NET Core due to a single AppDomain. Without Evidence
// to pull from we'd have to dig into the use case to try and find a reasonable solution should we
// run into this in the wild.
long totalLength = SizeInMb * buffer.Length;
// issue on .NET Framework we cannot use FileAccess.Write on a ZipArchive
- using (Package package = Package.Open(stream, FileMode.Create, PlatformDetection.IsFullFramework ? FileAccess.ReadWrite : FileAccess.Write))
+ using (Package package = Package.Open(stream, FileMode.Create, PlatformDetection.IsNetFramework ? FileAccess.ReadWrite : FileAccess.Write))
{
PackagePart part = package.CreatePart(partUri,
System.Net.Mime.MediaTypeNames.Application.Octet,
protected static void SuppressClientHandleFinalizationIfNetFramework(AnonymousPipeServerStream serverStream)
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// See https://github.com/dotnet/corefx/pull/1871. When AnonymousPipeServerStream.GetClientHandleAsString()
// is called, the assumption is that this string is going to be passed to another process, rather than wrapped
IEnumerable<int> result = source.Select(selector);
IEnumerator<int> enumerator = result.GetEnumerator();
- // The.NET full framework throws a NotImplementedException.
- // See https://github.com/dotnet/corefx/pull/2959.
Assert.Throws<NotSupportedException>(() => enumerator.Reset());
}
[InlineData(CodeLanguage.VJSharp)]
public void Throw_On_Unsupported_Languages(CodeLanguage lang)
{
- // On full framework JScript is supported and no exception raised
- if (lang == CodeLanguage.JScript && PlatformDetection.IsFullFramework)
+ // On .NET Framework JScript is supported and no exception raised
+ if (lang == CodeLanguage.JScript && PlatformDetection.IsNetFramework)
return;
var tempFilePath = Path.GetTempFileName();
{
//
// This pattern of easily inlinable "void Throw" routines that stack on top of NoInlining factory methods
- // is a compromise between older JITs and newer JITs (RyuJIT in Core CLR 1.1.0+ and .NET Framework CLR in 4.6.3+).
+ // is a compromise between older JITs and newer JITs (RyuJIT in .NET Core 1.1.0+ and .NET Framework in 4.6.3+).
// This package is explicitly targeted at older JITs as newer runtimes expect to implement Span intrinsically for
// best performance.
//
{
using (HttpClientHandler handler = CreateHttpClientHandler())
{
- // Same as .NET Framework (Desktop).
Assert.Equal(DecompressionMethods.None, handler.AutomaticDecompression);
Assert.True(handler.AllowAutoRedirect);
Assert.Equal(ClientCertificateOption.Manual, handler.ClientCertificateOptions);
{
using (HttpClientHandler handler = CreateHttpClientHandler())
{
- // Same as .NET Framework (Desktop).
Assert.Equal(64, handler.MaxResponseHeadersLength);
Assert.False(handler.PreAuthenticate);
Assert.True(handler.SupportsProxy);
Assert.True(handler.SupportsRedirectConfiguration);
- // Changes from .NET Framework (Desktop).
+ // Changes from .NET Framework.
Assert.False(handler.CheckCertificateRevocationList);
Assert.Equal(0, handler.MaxRequestContentBufferSize);
Assert.Equal(SslProtocols.None, handler.SslProtocols);
object current = null;
var exception = Record.Exception(() => current = enumerator.Current);
- // On full framework, enumerator.Current throws an exception because the collection has been modified after
+ // On .NET Framework, enumerator.Current throws an exception because the collection has been modified after
// creating the enumerator.
if (exception == null)
{
c1.Name = "hello";
Assert.Equal("hello", c1.Name);
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
Cookie c2 = new Cookie();
c2.Name = "hello world";
AssertExtensions.Throws<ArgumentNullException>("authenticationType", () => cc.Add("host", 500, null, new NetworkCredential())); //Null authenticationType
var exception = Record.Exception(() => cc.Add("", 500, "authenticationType", new NetworkCredential()));
- // On full framework we get exception.ParamName as null while it is "host" on netcore
+ // On .NET Framework we get exception.ParamName as null while it is "host" on netcore
Assert.NotNull(exception);
Assert.True(exception is ArgumentException);
ArgumentException ae = exception as ArgumentException;
AssertExtensions.Throws<ArgumentNullException>("authenticationType", () => cc.GetCredential("host", 500, null)); //Null authenticationType
var exception = Record.Exception(() => cc.GetCredential("", 500, "authenticationType")); //Empty host
- // On full framework we get exception.ParamName as null while it is "host" on netcore
+ // On .NET Framework we get exception.ParamName as null while it is "host" on netcore
Assert.NotNull(exception);
Assert.True(exception is ArgumentException);
ArgumentException ae = exception as ArgumentException;
// .NET Framework and .NET Core have different behaviors for Digest when default NetworkCredential is used.
if (string.Equals(authType, authenticationTypeDigest, StringComparison.OrdinalIgnoreCase) && (nc == CredentialCache.DefaultNetworkCredentials))
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// In .NET Framework, when authType == Digest, if WDigestAvailable == true, it will pass the validation.
// if WDigestAvailable == false, it will throw ArgumentException.
// .NET Framework and .NET Core have different behaviors for Digest when default NetworkCredential is used.
if (string.Equals(authType, authenticationTypeDigest, StringComparison.OrdinalIgnoreCase) && (nc == CredentialCache.DefaultNetworkCredentials))
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// In .NET Framework, when authType == Digest, if WDigestAvailable == true, it will pass the validation.
// if WDigestAvailable == false, it will throw ArgumentException.
[MemberData(nameof(InvalidIpv4AddressesStandalone))]
public void ParseIPv4_InvalidAddress_Failure(string address)
{
- ParseInvalidAddress(address, hasInnerSocketException: !PlatformDetection.IsFullFramework);
+ ParseInvalidAddress(address, hasInnerSocketException: !PlatformDetection.IsNetFramework);
}
[MemberData(nameof(InvalidIpv6AddressesNoInner))]
public void ParseIPv6_InvalidAddress_ThrowsFormatExceptionWithNoInnerExceptionInNetfx(string invalidAddress)
{
- ParseInvalidAddress(invalidAddress, hasInnerSocketException: !PlatformDetection.IsFullFramework);
+ ParseInvalidAddress(invalidAddress, hasInnerSocketException: !PlatformDetection.IsNetFramework);
}
private void ParseInvalidAddress(string invalidAddress, bool hasInnerSocketException)
Assert.True(IPAddress.IsLoopback(ip));
ip = new IPAddress(IPAddress.Loopback.MapToIPv6().GetAddressBytes()); // IPv4 loopback mapped to IPv6
- Assert.Equal(!PlatformDetection.IsFullFramework, IPAddress.IsLoopback(ip)); // https://github.com/dotnet/corefx/issues/35454
+ Assert.Equal(!PlatformDetection.IsNetFramework, IPAddress.IsLoopback(ip)); // https://github.com/dotnet/corefx/issues/35454
}
[Fact]
}
}; // Empty header followed by another empty header at the end
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
yield return new object[]
{
}
// NullReferenceException is thrown when serviceNames is null,
- // which is consistent with the behavior of the full framework.
+ // which is consistent with the behavior of the .NET Framework.
foreach (object item in serviceNames)
{
- // To match the behavior of the full framework, when an item
+ // To match the behavior of the .NET Framework, when an item
// in the collection is not a string:
// - Throw InvalidCastException when expectStrings is true.
// - Throw ArgumentException when expectStrings is false.
{
var collection = new ServiceNameCollection(new[] { "first", "second" });
- // This really should be ArgumentNullException, but the full framework does not
+ // This really should be ArgumentNullException, but the .NET Framework does not
// guard against null, so NullReferenceException ends up being thrown instead.
Assert.Throws<NullReferenceException>(() => collection.Merge((IEnumerable)null));
}
// We're inconsistent as to whether the ObjectDisposedException is thrown directly
// or wrapped in an IOException. For Begin/End, it's always wrapped; for Async,
// it's only wrapped on .NET Framework.
- if (this is SslStreamStreamToStreamTest_BeginEnd || PlatformDetection.IsFullFramework)
+ if (this is SslStreamStreamToStreamTest_BeginEnd || PlatformDetection.IsNetFramework)
{
await Assert.ThrowsAsync<ObjectDisposedException>(() => serverReadTask);
}
{
Type[] parentInterfaceTypes = interfaceType.GetInterfaces();
// The for loop below depeneds on the order for the items in parentInterfaceTypes, which
- // doesnt' seem right. But it's the behavior of DCS on the full framework.
+ // doesn't seem right. But it's the behavior of DCS on the .NET Framework.
// Sorting the array to make sure the behavior is consistent with Desktop's.
Array.Sort(parentInterfaceTypes, (x, y) => string.Compare(x.FullName, y.FullName));
foreach (Type parentInterfaceType in parentInterfaceTypes)
}
#if FEATURE_LEGACYNETCF
- // The DataContractSerializer in the full framework doesn't support unordered elements:
+ // The DataContractSerializer in the .NET Framework doesn't support unordered elements:
// deserialization will fail if the data members in the XML are not sorted alphabetically.
// But the NetCF DataContractSerializer does support unordered element. To maintain compatibility
// with Mango we always search for the member from the beginning of the member list.
{
get
{
- // On full framework , we set _dataContractSet = Options.GetSurrogate());
+ // On .NET Framework , we set _dataContractSet = Options.GetSurrogate());
// But Options.GetSurrogate() is not available on NetCore because IDataContractSurrogate
// is not in NetStandard.
throw new PlatformNotSupportedException(SR.PlatformNotSupported_IDataContractSurrogate);
{
public class UriBuilderTests
{
- //This test tests a case where the Core implementation of UriBuilder differs from Desktop Framework UriBuilder.
+ //This test tests a case where the .NET Core implementation of UriBuilder differs from .NET Framework UriBuilder.
//The Query property will not longer prepend a ? character if the string being assigned is already prepended.
[Fact]
public static void TestQuery()
[Theory]
[InlineData(":1:2:3:4:5:6:7:8")] // leading single colon
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework machines are not yet patched with the fix for this")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Framework machines are not yet patched with the fix for this")]
public void UriIPv6Host_BadAddress_SkipOnFramework(string address)
{
ParseBadIPv6Address(address);
[Fact]
public void FormattedDate()
{
- // Ensure we are compatible with the full framework
+ // Ensure we are compatible with the .NET Framework
Assert.Equal("CreatedTime=\"2018-01-01T12:13:14Z\"", new XAttribute("CreatedTime", new DateTime(2018, 1, 1, 12, 13, 14, DateTimeKind.Utc)).ToString());
}
}
Assert.Equal(expectedError, _errorCount);
- // Full framework does not set the namespace property for intersections and unions
- if (!PlatformDetection.IsFullFramework && expectedNs != null)
+ // .NET Framework does not set the namespace property for intersections and unions
+ if (!PlatformDetection.IsNetFramework && expectedNs != null)
{
XmlSchemaAnyAttribute attributeWildcard = ((XmlSchemaComplexType)xss.GlobalTypes[new XmlQualifiedName("t", attrNs)]).AttributeWildcard;
CompareWildcardNamespaces(expectedNs, attributeWildcard.Namespace);
Assert.Equal(expectedError, _errorCount);
- // Full framework does not set the namespace property for intersections and unions
- if (!PlatformDetection.IsFullFramework && expectedNs != null)
+ // .NET Framework does not set the namespace property for intersections and unions
+ if (!PlatformDetection.IsNetFramework && expectedNs != null)
{
XmlSchemaAnyAttribute attributeWildcard = ((XmlSchemaComplexType)xss.GlobalTypes[new XmlQualifiedName("t1", attrNs)]).AttributeWildcard;
CompareWildcardNamespaces(expectedNs, attributeWildcard.Namespace);
m_xsltArg.AddExtensionObject(szDefaultNS, obj);
LoadXSL("MyObject_CaseSensitive.xsl", xslInputType, readerType);
var e = Assert.ThrowsAny<XsltException>(() => Transform_ArgList("fruits.xml", outputType, navType));
- var exceptionSourceAssembly = PlatformDetection.IsFullFramework ? "System.Data.SqlXml" : "System.Xml";
+ var exceptionSourceAssembly = PlatformDetection.IsNetFramework ? "System.Data.SqlXml" : "System.Xml";
CheckExpectedError(e, exceptionSourceAssembly, "XmlIl_NoExtensionMethod", new[] { "urn:my-object", "FN3", "0" });
}
Assert.Equal("<In Memory Module>", module.Name);
// The coreclr ignores the name passed to AssemblyBuilder.DefineDynamicModule
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Equal(name, module.FullyQualifiedName);
}
//
// About the "desktopQuirk"
//
-// On the .NET Framework CLR, GetRuntimeProperties() and GetRuntimeEvents() behave inconsistently from the other
+// On the .NET Framework, GetRuntimeProperties() and GetRuntimeEvents() behave inconsistently from the other
// GetRuntime*() apis in that they suppress hidden instance properties and events from base classes.
//
// On .NET Native, the GetRuntime*() apis all behave consistently (i.e. the results include hidden instance
///
/// (3) Deal with platforms that don't yet have Encoding.GetString(byte*, int).
///
- /// If we're running on a full framework earlier than 4.6, we will bind to the internal
+ /// If we're running on a .NET Framework earlier than 4.6, we will bind to the internal
/// String.CreateStringFromEncoding which is equivalent and Encoding.GetString is just a trivial
/// wrapper around it in .NET 4.6. This means that we always have the fast path on every
- /// full framework version we support.
+ /// .NET Framework version we support.
///
/// If we can't bind to it via reflection, then we emulate it using what is effectively (2) and
/// with an empty prefix.
public class CustomAttributeDecoderTests
{
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Type assembly name is different on full framework.")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Type assembly name is different on .NET Framework.")]
public void TestCustomAttributeDecoder()
{
using (FileStream stream = File.OpenRead(typeof(HasAttributes).GetTypeInfo().Assembly.Location))
{
public partial class SignatureDecoderTests
{
- private static readonly string RuntimeAssemblyName = PlatformDetection.IsFullFramework ? "mscorlib" : "System.Runtime";
- private static readonly string CollectionsAssemblyName = PlatformDetection.IsFullFramework ? "mscorlib" : "System.Collections";
+ private static readonly string RuntimeAssemblyName = PlatformDetection.IsNetFramework ? "mscorlib" : "System.Runtime";
+ private static readonly string CollectionsAssemblyName = PlatformDetection.IsNetFramework ? "mscorlib" : "System.Collections";
[Fact]
public unsafe void VerifyMultipleOptionalModifiers()
TestData.WriteResourcesStream(actualData);
resourcesStream.CopyTo(expectedData);
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
// Some types rely on SerializationInfo.SetType on .NETCore
// which result in a different binary format
// Note: Only the Convert.ToSByte(String, IFormatProvider) overload throws an ArgumentNullException.
// This is inconsistent with the other numeric conversions, but fixing this behavior is not worth making
- // a breaking change which will affect the .NET Framework CLR.
+ // a breaking change.
Assert.Throws<ArgumentNullException>(() => Convert.ToSByte((string)null, TestFormatProvider.s_instance));
}
[Fact]
public static void Ctor_InvalidArgs_Throws()
{
- // ArgumentException on full framework
- AssertExtensions.Throws<ArgumentOutOfRangeException, ArgumentException>("platform", "platform", () => new OperatingSystem((PlatformID)(-1), new Version(1, 2)));
- AssertExtensions.Throws<ArgumentOutOfRangeException, ArgumentException>("platform", "platform", () => new OperatingSystem((PlatformID)42, new Version(1, 2)));
+ AssertExtensions.Throws<ArgumentOutOfRangeException>("platform", () => new OperatingSystem((PlatformID)(-1), new Version(1, 2)));
+ AssertExtensions.Throws<ArgumentOutOfRangeException>("platform", () => new OperatingSystem((PlatformID)42, new Version(1, 2)));
AssertExtensions.Throws<ArgumentNullException>("version", () => new OperatingSystem(PlatformID.Unix, null));
}
yield return new object[] { PopulateException(runtimeBinderInternalCompilerException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFNNaWNyb3NvZnQuQ1NoYXJwLCBWZXJzaW9uPTQuMC40LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQUBAAAARU1pY3Jvc29mdC5DU2hhcnAuUnVudGltZUJpbmRlci5SdW50aW1lQmluZGVySW50ZXJuYWxDb21waWxlckV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAABFTWljcm9zb2Z0LkNTaGFycC5SdW50aW1lQmluZGVyLlJ1bnRpbWVCaW5kZXJJbnRlcm5hbENvbXBpbGVyRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFNNaWNyb3NvZnQuQ1NoYXJwLCBWZXJzaW9uPTQuMC40LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQUBAAAARU1pY3Jvc29mdC5DU2hhcnAuUnVudGltZUJpbmRlci5SdW50aW1lQmluZGVySW50ZXJuYWxDb21waWxlckV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAABFTWljcm9zb2Z0LkNTaGFycC5SdW50aW1lQmluZGVyLlJ1bnRpbWVCaW5kZXJJbnRlcm5hbENvbXBpbGVyRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
RuntimeWrappedException runtimeWrappedException = (RuntimeWrappedException)typeof(RuntimeWrappedException)
- .GetConstructor((PlatformDetection.IsFullFramework ? BindingFlags.NonPublic : BindingFlags.Public) | BindingFlags.Instance, null, new Type[] { typeof(object) }, null)
+ .GetConstructor((PlatformDetection.IsNetFramework ? 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) } };
yield return new object[] { PopulateException(sqlAlreadyFilledException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAC5TeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxBbHJlYWR5RmlsbGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAAC5TeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxBbHJlYWR5RmlsbGVkRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAC5TeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxBbHJlYWR5RmlsbGVkRXhjZXB0aW9uDAAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMBAQMDAQEBAAEAAQcpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgIAAAAGAwAAAC5TeXN0ZW0uRGF0YS5TcWxUeXBlcy5TcWxBbHJlYWR5RmlsbGVkRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
SqlError sqlError = null;
- // Full framework has no constructor overload for passing an exception
- if (PlatformDetection.IsFullFramework)
+ // .NET Framework has no constructor overload for passing an exception
+ if (PlatformDetection.IsNetFramework)
{
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)
var privilegeNotHeldException = new PrivilegeNotHeldException("privilege", exception);
yield return new object[] { PopulateException(privilegeNotHeldException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAADdTeXN0ZW0uU2VjdXJpdHkuQWNjZXNzQ29udHJvbC5Qcml2aWxlZ2VOb3RIZWxkRXhjZXB0aW9uDQAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMNUHJpdmlsZWdlTmFtZQEBAwMBAQEAAQABBwEpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAN1N5c3RlbS5TZWN1cml0eS5BY2Nlc3NDb250cm9sLlByaXZpbGVnZU5vdEhlbGRFeGNlcHRpb24GAwAAAFxUaGUgcHJvY2VzcyBkb2VzIG5vdCBwb3NzZXNzIHRoZSAncHJpdmlsZWdlJyBwcml2aWxlZ2Ugd2hpY2ggaXMgcmVxdWlyZWQgZm9yIHRoaXMgb3BlcmF0aW9uLgkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoGCgAAAAlwcml2aWxlZ2UEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uBg0AAAAHbWVzc2FnZQkOAAAACQ8AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECwAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGFAAAAAZzZWNyZXQIAQEJFQAAAAEOAAAABAAAAAkWAAAAAgAAAAIAAAABDwAAAAUAAAAJDAAAAAYYAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEVAAAACwAAAAgIAQAAAAYZAAAAA29uZQoBFgAAAAsAAAAJFAAAAAgBAQkbAAAAARsAAAALAAAACAgBAAAACRkAAAAKCw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAADdTeXN0ZW0uU2VjdXJpdHkuQWNjZXNzQ29udHJvbC5Qcml2aWxlZ2VOb3RIZWxkRXhjZXB0aW9uDQAAAAlDbGFzc05hbWUHTWVzc2FnZQREYXRhDklubmVyRXhjZXB0aW9uB0hlbHBVUkwQU3RhY2tUcmFjZVN0cmluZxZSZW1vdGVTdGFja1RyYWNlU3RyaW5nEFJlbW90ZVN0YWNrSW5kZXgPRXhjZXB0aW9uTWV0aG9kB0hSZXN1bHQGU291cmNlDVdhdHNvbkJ1Y2tldHMNUHJpdmlsZWdlTmFtZQEBAwMBAQEAAQABBwEpU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwQU3lzdGVtLkV4Y2VwdGlvbggIAgYCAAAAN1N5c3RlbS5TZWN1cml0eS5BY2Nlc3NDb250cm9sLlByaXZpbGVnZU5vdEhlbGRFeGNlcHRpb24GAwAAAFxUaGUgcHJvY2VzcyBkb2VzIG5vdCBwb3NzZXNzIHRoZSAncHJpdmlsZWdlJyBwcml2aWxlZ2Ugd2hpY2ggaXMgcmVxdWlyZWQgZm9yIHRoaXMgb3BlcmF0aW9uLgkEAAAACQUAAAAGBgAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBgcAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCAAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCQAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoGCgAAAAlwcml2aWxlZ2UEBAAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAUAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uBg0AAAAHbWVzc2FnZQkOAAAACQ8AAAAJBgAAAAkHAAAACQgAAAAAAAAACugDAAAJCQAAAAoECwAAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQMAAAADa2V5BXZhbHVlBG5leHQCAgM4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUGFAAAAAZzZWNyZXQIAQEJFQAAAAEOAAAABAAAAAkWAAAAAgAAAAIAAAABDwAAAAUAAAAJDAAAAAYYAAAAF0lubmVyIGV4Y2VwdGlvbiBtZXNzYWdlCgoKCgoAAAAACgAVE4AKCgEVAAAACwAAAAgIAQAAAAYZAAAAA29uZQoBFgAAAAsAAAAJFAAAAAgBAQkbAAAAARsAAAALAAAACAgBAAAACRkAAAAKCw==", TargetFrameworkMoniker.netfx461) } };
- // Infrastructure issue where the netstandard dll is PNSE assembly but in full framework DirectoryServices should use the inbox assembly since they have the same identity.
+ // Infrastructure issue where the netstandard dll is PNSE assembly but in .NET Framework DirectoryServices should use the inbox assembly since they have the same identity.
// See: https://github.com/dotnet/corefx/issues/24903
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
var activeDirectoryOperationException = new ActiveDirectoryOperationException("message", exception, 0);
yield return new object[] { PopulateException(activeDirectoryOperationException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFtTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEAAABKU3lzdGVtLkRpcmVjdG9yeVNlcnZpY2VzLkFjdGl2ZURpcmVjdG9yeS5BY3RpdmVEaXJlY3RvcnlPcGVyYXRpb25FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAASlN5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJlY3RvcnkuQWN0aXZlRGlyZWN0b3J5T3BlcmF0aW9uRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAFtTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEAAABKU3lzdGVtLkRpcmVjdG9yeVNlcnZpY2VzLkFjdGl2ZURpcmVjdG9yeS5BY3RpdmVEaXJlY3RvcnlPcGVyYXRpb25FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAASlN5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJlY3RvcnkuQWN0aXZlRGlyZWN0b3J5T3BlcmF0aW9uRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
}
// TODO: Inbox framework assemblies with same identity aren't currently used for running tests. https://github.com/dotnet/corefx/issues/24903
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
var compositionContractMismatchException = new CompositionContractMismatchException("message", exception);
yield return new object[] { PopulateException(compositionContractMismatchException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAGRTeXN0ZW0uQ29tcG9uZW50TW9kZWwuQ29tcG9zaXRpb24sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEAAABGU3lzdGVtLkNvbXBvbmVudE1vZGVsLkNvbXBvc2l0aW9uLkNvbXBvc2l0aW9uQ29udHJhY3RNaXNtYXRjaEV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAABGU3lzdGVtLkNvbXBvbmVudE1vZGVsLkNvbXBvc2l0aW9uLkNvbXBvc2l0aW9uQ29udHJhY3RNaXNtYXRjaEV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQsAAAACAAAAAgAAAAQGAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgwAAAAQU3lzdGVtLkV4Y2VwdGlvbgkEAAAACQ4AAAAJDwAAAAkHAAAACQgAAAAJCQAAAAAAAAAK6AMAAAkKAAAACgQLAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYUAAAABnNlY3JldAgBAQkVAAAAAQ4AAAAFAAAACRYAAAACAAAAAgAAAAEPAAAABgAAAAkMAAAABhgAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARUAAAALAAAACAgBAAAABhkAAAADb25lCgEWAAAACwAAAAkUAAAACAEBCRsAAAABGwAAAAsAAAAICAEAAAAJGQAAAAoL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAGRTeXN0ZW0uQ29tcG9uZW50TW9kZWwuQ29tcG9zaXRpb24sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAABGU3lzdGVtLkNvbXBvbmVudE1vZGVsLkNvbXBvc2l0aW9uLkNvbXBvc2l0aW9uQ29udHJhY3RNaXNtYXRjaEV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAICAAAABgMAAABGU3lzdGVtLkNvbXBvbmVudE1vZGVsLkNvbXBvc2l0aW9uLkNvbXBvc2l0aW9uQ29udHJhY3RNaXNtYXRjaEV4Y2VwdGlvbgYEAAAAB21lc3NhZ2UJBQAAAAkGAAAABgcAAAAZaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbQYIAAAAFFN0YWNrVHJhY2Ugc3RyaW5nLi4uBgkAAAAbUmVtb3RlIFN0YWNrVHJhY2Ugc3RyaW5nLi4uAAAAAAroAwAABgoAAAAXRXhjZXB0aW9uX0NsYXNzX1NhbXBsZXMKBAUAAAApU3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwDAAAABGhlYWQHdmVyc2lvbgVjb3VudAMAADhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQgICQsAAAACAAAAAgAAAAQGAAAAEFN5c3RlbS5FeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCBgwAAAAQU3lzdGVtLkV4Y2VwdGlvbgkEAAAACQ4AAAAJDwAAAAkHAAAACQgAAAAJCQAAAAAAAAAK6AMAAAkKAAAACgQLAAAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlAwAAAANrZXkFdmFsdWUEbmV4dAICAzhTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbCtEaWN0aW9uYXJ5Tm9kZQYUAAAABnNlY3JldAgBAQkVAAAAAQ4AAAAFAAAACRYAAAACAAAAAgAAAAEPAAAABgAAAAkMAAAABhgAAAAXSW5uZXIgZXhjZXB0aW9uIG1lc3NhZ2UKCgoKCgAAAAAKABUTgAoKARUAAAALAAAACAgBAAAABhkAAAADb25lCgEWAAAACwAAAAkUAAAACAEBCRsAAAABGwAAAAsAAAAICAEAAAAJGQAAAAoL", TargetFrameworkMoniker.netfx461) } };
yield return new object[] { PopulateException(importCardinalityMismatchException), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAGRTeXN0ZW0uQ29tcG9uZW50TW9kZWwuQ29tcG9zaXRpb24sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEAAABEU3lzdGVtLkNvbXBvbmVudE1vZGVsLkNvbXBvc2l0aW9uLkltcG9ydENhcmRpbmFsaXR5TWlzbWF0Y2hFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAARFN5c3RlbS5Db21wb25lbnRNb2RlbC5Db21wb3NpdGlvbi5JbXBvcnRDYXJkaW5hbGl0eU1pc21hdGNoRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAMAgAAAGRTeXN0ZW0uQ29tcG9uZW50TW9kZWwuQ29tcG9zaXRpb24sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAABEU3lzdGVtLkNvbXBvbmVudE1vZGVsLkNvbXBvc2l0aW9uLkltcG9ydENhcmRpbmFsaXR5TWlzbWF0Y2hFeGNlcHRpb24MAAAACUNsYXNzTmFtZQdNZXNzYWdlBERhdGEOSW5uZXJFeGNlcHRpb24HSGVscFVSTBBTdGFja1RyYWNlU3RyaW5nFlJlbW90ZVN0YWNrVHJhY2VTdHJpbmcQUmVtb3RlU3RhY2tJbmRleA9FeGNlcHRpb25NZXRob2QHSFJlc3VsdAZTb3VyY2UNV2F0c29uQnVja2V0cwEBAwMBAQEAAQABBylTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbBBTeXN0ZW0uRXhjZXB0aW9uCAgCAgAAAAYDAAAARFN5c3RlbS5Db21wb25lbnRNb2RlbC5Db21wb3NpdGlvbi5JbXBvcnRDYXJkaW5hbGl0eU1pc21hdGNoRXhjZXB0aW9uBgQAAAAHbWVzc2FnZQkFAAAACQYAAAAGBwAAABlodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tBggAAAAUU3RhY2tUcmFjZSBzdHJpbmcuLi4GCQAAABtSZW1vdGUgU3RhY2tUcmFjZSBzdHJpbmcuLi4AAAAACugDAAAGCgAAABdFeGNlcHRpb25fQ2xhc3NfU2FtcGxlcwoEBQAAAClTeXN0ZW0uQ29sbGVjdGlvbnMuTGlzdERpY3Rpb25hcnlJbnRlcm5hbAMAAAAEaGVhZAd2ZXJzaW9uBWNvdW50AwAAOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlCAgJCwAAAAIAAAACAAAABAYAAAAQU3lzdGVtLkV4Y2VwdGlvbgwAAAAJQ2xhc3NOYW1lB01lc3NhZ2UERGF0YQ5Jbm5lckV4Y2VwdGlvbgdIZWxwVVJMEFN0YWNrVHJhY2VTdHJpbmcWUmVtb3RlU3RhY2tUcmFjZVN0cmluZxBSZW1vdGVTdGFja0luZGV4D0V4Y2VwdGlvbk1ldGhvZAdIUmVzdWx0BlNvdXJjZQ1XYXRzb25CdWNrZXRzAQEDAwEBAQABAAEHKVN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsEFN5c3RlbS5FeGNlcHRpb24ICAIGDAAAABBTeXN0ZW0uRXhjZXB0aW9uCQQAAAAJDgAAAAkPAAAACQcAAAAJCAAAAAkJAAAAAAAAAAroAwAACQoAAAAKBAsAAAA4U3lzdGVtLkNvbGxlY3Rpb25zLkxpc3REaWN0aW9uYXJ5SW50ZXJuYWwrRGljdGlvbmFyeU5vZGUDAAAAA2tleQV2YWx1ZQRuZXh0AgIDOFN5c3RlbS5Db2xsZWN0aW9ucy5MaXN0RGljdGlvbmFyeUludGVybmFsK0RpY3Rpb25hcnlOb2RlBhQAAAAGc2VjcmV0CAEBCRUAAAABDgAAAAUAAAAJFgAAAAIAAAACAAAAAQ8AAAAGAAAACQwAAAAGGAAAABdJbm5lciBleGNlcHRpb24gbWVzc2FnZQoKCgoKAAAAAAoAFROACgoBFQAAAAsAAAAICAEAAAAGGQAAAANvbmUKARYAAAALAAAACRQAAAAIAQEJGwAAAAEbAAAACwAAAAgIAQAAAAkZAAAACgs=", TargetFrameworkMoniker.netfx461) } };
}
- // Extension of core serializable types
- // Disabling on full framework until we compile against >=net471
- if (!PlatformDetection.IsFullFramework/* ? PlatformDetection.IsNetfx471OrNewer : true*/)
- {
- // ValueType isn't serializable before net471.
- yield return new object[] { new ValueTuple(), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAABFTeXN0ZW0uVmFsdWVUdXBsZQAAAAAL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAABFTeXN0ZW0uVmFsdWVUdXBsZQAAAAAL", TargetFrameworkMoniker.netfx471) } };
- yield return new object[] { ValueTuple.Create(1), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAHBTeXN0ZW0uVmFsdWVUdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAVJdGVtMQAIAQAAAAs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAHBTeXN0ZW0uVmFsdWVUdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAVJdGVtMQAIAQAAAAs=", TargetFrameworkMoniker.netfx471) } };
- yield return new object[] { ValueTuple.Create(1, "2"), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAM0BU3lzdGVtLlZhbHVlVHVwbGVgMltbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAFSXRlbTEFSXRlbTIAAQgBAAAABgIAAAABMgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAM0BU3lzdGVtLlZhbHVlVHVwbGVgMltbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAFSXRlbTEFSXRlbTIAAQgBAAAABgIAAAABMgs=", TargetFrameworkMoniker.netfx471) } };
- yield return new object[] { ValueTuple.Create(1, "2", 3u), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAKoCU3lzdGVtLlZhbHVlVHVwbGVgM1tbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAFSXRlbTEFSXRlbTIFSXRlbTMAAQAIDwEAAAAGAgAAAAEyAwAAAAs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAKoCU3lzdGVtLlZhbHVlVHVwbGVgM1tbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAFSXRlbTEFSXRlbTIFSXRlbTMAAQAIDwEAAAAGAgAAAAEyAwAAAAs=", TargetFrameworkMoniker.netfx471) } };
- yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAIYDU3lzdGVtLlZhbHVlVHVwbGVgNFtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAABAAAIDwkBAAAABgIAAAABMgMAAAAEAAAAAAAAAAs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAIYDU3lzdGVtLlZhbHVlVHVwbGVgNFtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAABAAAIDwkBAAAABgIAAAABMgMAAAAEAAAAAAAAAAs=", TargetFrameworkMoniker.netfx471) } };
- yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L, 5.6), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAOMDU3lzdGVtLlZhbHVlVHVwbGVgNVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBQAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQABAAAACA8JBgEAAAAGAgAAAAEyAwAAAAQAAAAAAAAAZmZmZmZmFkAL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAOMDU3lzdGVtLlZhbHVlVHVwbGVgNVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBQAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQABAAAACA8JBgEAAAAGAgAAAAEyAwAAAAQAAAAAAAAAZmZmZmZmFkAL", TargetFrameworkMoniker.netfx471) } };
- yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L, 5.6, 7.8f), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAMAEU3lzdGVtLlZhbHVlVHVwbGVgNltbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBgAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQVJdGVtNgABAAAAAAgPCQYLAQAAAAYCAAAAATIDAAAABAAAAAAAAABmZmZmZmYWQJqZ+UAL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAMAEU3lzdGVtLlZhbHVlVHVwbGVgNltbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBgAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQVJdGVtNgABAAAAAAgPCQYLAQAAAAYCAAAAATIDAAAABAAAAAAAAABmZmZmZmYWQJqZ+UAL", TargetFrameworkMoniker.netfx471) } };
- yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L, 5.6, 7.8f, 9m), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAJ4FU3lzdGVtLlZhbHVlVHVwbGVgN1tbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5EZWNpbWFsLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQcAAAAFSXRlbTEFSXRlbTIFSXRlbTMFSXRlbTQFSXRlbTUFSXRlbTYFSXRlbTcAAQAAAAAACA8JBgsFAQAAAAYCAAAAATIDAAAABAAAAAAAAABmZmZmZmYWQJqZ+UABOQs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAJ4FU3lzdGVtLlZhbHVlVHVwbGVgN1tbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5EZWNpbWFsLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQcAAAAFSXRlbTEFSXRlbTIFSXRlbTMFSXRlbTQFSXRlbTUFSXRlbTYFSXRlbTcAAQAAAAAACA8JBgsFAQAAAAYCAAAAATIDAAAABAAAAAAAAABmZmZmZmYWQJqZ+UABOQs=", TargetFrameworkMoniker.netfx471) } };
- yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L, 5.6, 7.8f, 9m, Tuple.Create(10)), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAL0HU3lzdGVtLlZhbHVlVHVwbGVgOFtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5EZWNpbWFsLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVmFsdWVUdXBsZWAxW1tTeXN0ZW0uVHVwbGVgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dCAAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQVJdGVtNgVJdGVtNwRSZXN0AAEAAAAAAAMIDwkGCwXPAVN5c3RlbS5WYWx1ZVR1cGxlYDFbW1N5c3RlbS5UdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAGAgAAAAEyAwAAAAQAAAAAAAAAZmZmZmZmFkCamflAATkE/f///88BU3lzdGVtLlZhbHVlVHVwbGVgMVtbU3lzdGVtLlR1cGxlYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAVJdGVtMQNrU3lzdGVtLlR1cGxlYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JBAAAAAQEAAAAa1N5c3RlbS5UdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAdtX0l0ZW0xAAgKAAAACw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAL0HU3lzdGVtLlZhbHVlVHVwbGVgOFtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5EZWNpbWFsLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVmFsdWVUdXBsZWAxW1tTeXN0ZW0uVHVwbGVgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dCAAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQVJdGVtNgVJdGVtNwRSZXN0AAEAAAAAAAMIDwkGCwXPAVN5c3RlbS5WYWx1ZVR1cGxlYDFbW1N5c3RlbS5UdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAGAgAAAAEyAwAAAAQAAAAAAAAAZmZmZmZmFkCamflAATkE/f///88BU3lzdGVtLlZhbHVlVHVwbGVgMVtbU3lzdGVtLlR1cGxlYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAVJdGVtMQNrU3lzdGVtLlR1cGxlYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JBAAAAAQEAAAAa1N5c3RlbS5UdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAdtX0l0ZW0xAAgKAAAACw==", TargetFrameworkMoniker.netfx471) } };
- }
+ yield return new object[] { new ValueTuple(), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAABFTeXN0ZW0uVmFsdWVUdXBsZQAAAAAL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAABFTeXN0ZW0uVmFsdWVUdXBsZQAAAAAL", TargetFrameworkMoniker.netfx471) } };
+ yield return new object[] { ValueTuple.Create(1), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAHBTeXN0ZW0uVmFsdWVUdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAVJdGVtMQAIAQAAAAs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAHBTeXN0ZW0uVmFsdWVUdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAVJdGVtMQAIAQAAAAs=", TargetFrameworkMoniker.netfx471) } };
+ yield return new object[] { ValueTuple.Create(1, "2"), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAM0BU3lzdGVtLlZhbHVlVHVwbGVgMltbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAFSXRlbTEFSXRlbTIAAQgBAAAABgIAAAABMgs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAM0BU3lzdGVtLlZhbHVlVHVwbGVgMltbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAFSXRlbTEFSXRlbTIAAQgBAAAABgIAAAABMgs=", TargetFrameworkMoniker.netfx471) } };
+ yield return new object[] { ValueTuple.Create(1, "2", 3u), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAKoCU3lzdGVtLlZhbHVlVHVwbGVgM1tbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAFSXRlbTEFSXRlbTIFSXRlbTMAAQAIDwEAAAAGAgAAAAEyAwAAAAs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAKoCU3lzdGVtLlZhbHVlVHVwbGVgM1tbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAFSXRlbTEFSXRlbTIFSXRlbTMAAQAIDwEAAAAGAgAAAAEyAwAAAAs=", TargetFrameworkMoniker.netfx471) } };
+ yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAIYDU3lzdGVtLlZhbHVlVHVwbGVgNFtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAABAAAIDwkBAAAABgIAAAABMgMAAAAEAAAAAAAAAAs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAIYDU3lzdGVtLlZhbHVlVHVwbGVgNFtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAABAAAIDwkBAAAABgIAAAABMgMAAAAEAAAAAAAAAAs=", TargetFrameworkMoniker.netfx471) } };
+ yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L, 5.6), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAOMDU3lzdGVtLlZhbHVlVHVwbGVgNVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBQAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQABAAAACA8JBgEAAAAGAgAAAAEyAwAAAAQAAAAAAAAAZmZmZmZmFkAL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAOMDU3lzdGVtLlZhbHVlVHVwbGVgNVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBQAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQABAAAACA8JBgEAAAAGAgAAAAEyAwAAAAQAAAAAAAAAZmZmZmZmFkAL", TargetFrameworkMoniker.netfx471) } };
+ yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L, 5.6, 7.8f), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAMAEU3lzdGVtLlZhbHVlVHVwbGVgNltbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBgAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQVJdGVtNgABAAAAAAgPCQYLAQAAAAYCAAAAATIDAAAABAAAAAAAAABmZmZmZmYWQJqZ+UAL", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAMAEU3lzdGVtLlZhbHVlVHVwbGVgNltbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBgAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQVJdGVtNgABAAAAAAgPCQYLAQAAAAYCAAAAATIDAAAABAAAAAAAAABmZmZmZmYWQJqZ+UAL", TargetFrameworkMoniker.netfx471) } };
+ yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L, 5.6, 7.8f, 9m), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAJ4FU3lzdGVtLlZhbHVlVHVwbGVgN1tbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5EZWNpbWFsLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQcAAAAFSXRlbTEFSXRlbTIFSXRlbTMFSXRlbTQFSXRlbTUFSXRlbTYFSXRlbTcAAQAAAAAACA8JBgsFAQAAAAYCAAAAATIDAAAABAAAAAAAAABmZmZmZmYWQJqZ+UABOQs=", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAJ4FU3lzdGVtLlZhbHVlVHVwbGVgN1tbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5EZWNpbWFsLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQcAAAAFSXRlbTEFSXRlbTIFSXRlbTMFSXRlbTQFSXRlbTUFSXRlbTYFSXRlbTcAAQAAAAAACA8JBgsFAQAAAAYCAAAAATIDAAAABAAAAAAAAABmZmZmZmYWQJqZ+UABOQs=", TargetFrameworkMoniker.netfx471) } };
+ yield return new object[] { ValueTuple.Create(1, "2", 3u, 4L, 5.6, 7.8f, 9m, Tuple.Create(10)), new TypeSerializableValue[] { new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAL0HU3lzdGVtLlZhbHVlVHVwbGVgOFtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5EZWNpbWFsLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVmFsdWVUdXBsZWAxW1tTeXN0ZW0uVHVwbGVgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dCAAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQVJdGVtNgVJdGVtNwRSZXN0AAEAAAAAAAMIDwkGCwXPAVN5c3RlbS5WYWx1ZVR1cGxlYDFbW1N5c3RlbS5UdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAGAgAAAAEyAwAAAAQAAAAAAAAAZmZmZmZmFkCamflAATkE/f///88BU3lzdGVtLlZhbHVlVHVwbGVgMVtbU3lzdGVtLlR1cGxlYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAVJdGVtMQNrU3lzdGVtLlR1cGxlYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JBAAAAAQEAAAAa1N5c3RlbS5UdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAdtX0l0ZW0xAAgKAAAACw==", TargetFrameworkMoniker.netcoreapp20), new TypeSerializableValue("AAEAAAD/////AQAAAAAAAAAEAQAAAL0HU3lzdGVtLlZhbHVlVHVwbGVgOFtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVUludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5Eb3VibGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TaW5nbGUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5EZWNpbWFsLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uVmFsdWVUdXBsZWAxW1tTeXN0ZW0uVHVwbGVgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dCAAAAAVJdGVtMQVJdGVtMgVJdGVtMwVJdGVtNAVJdGVtNQVJdGVtNgVJdGVtNwRSZXN0AAEAAAAAAAMIDwkGCwXPAVN5c3RlbS5WYWx1ZVR1cGxlYDFbW1N5c3RlbS5UdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAAGAgAAAAEyAwAAAAQAAAAAAAAAZmZmZmZmFkCamflAATkE/f///88BU3lzdGVtLlZhbHVlVHVwbGVgMVtbU3lzdGVtLlR1cGxlYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAVJdGVtMQNrU3lzdGVtLlR1cGxlYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0JBAAAAAQEAAAAa1N5c3RlbS5UdXBsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAQAAAAdtX0l0ZW0xAAgKAAAACw==", TargetFrameworkMoniker.netfx471) } };
}
// *** NON AUTO UPDATED DATA ***
// Instead of round tripping we only serialize to minimize test time.
// This will throw on .NET Framework as the artificial limit is still enabled.
var bf = new BinaryFormatter();
- AssertExtensions.ThrowsIf<SerializationException>(PlatformDetection.IsFullFramework, () =>
+ AssertExtensions.ThrowsIf<SerializationException>(PlatformDetection.IsNetFramework, () =>
{
using (MemoryStream ms = new MemoryStream())
{
// SqlException, ReflectionTypeLoadException and LicenseException aren't deserializable from Desktop --> Core.
// Therefore we remove the second blob which is the one from Desktop.
- if (!PlatformDetection.IsFullFramework && (obj is SqlException || obj is ReflectionTypeLoadException || obj is LicenseException))
+ if (!PlatformDetection.IsNetFramework && (obj is SqlException || obj is ReflectionTypeLoadException || obj is LicenseException))
{
var tmpList = new List<TypeSerializableValue>(blobs);
tmpList.RemoveAt(1);
private static bool HasObjectTypeIntegrity(ISerializable serializable)
{
- return !PlatformDetection.IsFullFramework ||
+ return !PlatformDetection.IsNetFramework ||
!(serializable is NotFiniteNumberException);
}
string pattern = null;
string replacement = null;
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
pattern = ", \"AAEAAAD[^\"]+\"(?!,)";
replacement = ", \"" + blobs[numberOfBlobs] + "\"";
CheckEquals(@this.InnerException, other.InnerException, isSamePlatform);
}
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
// Different by design for those exceptions
if (!((@this is NetworkInformationException || @this is SocketException) && !isSamePlatform))
int index;
// .NET Framework
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// Check if a specialized blob for >=netfx472 build 3260 is present and return if found.
if (IsNetFxPatchedVersion(3260))
public abstract partial class DecryptTests
{
private bool _useExplicitPrivateKey;
- public static bool SupportsIndefiniteLengthEncoding { get; } = !PlatformDetection.IsFullFramework;
+ public static bool SupportsIndefiniteLengthEncoding { get; } = !PlatformDetection.IsNetFramework;
public DecryptTests(bool useExplicitPrivateKey)
{
"650304012A0410280AC7A629BFC9FD6FB24F8A42F094B4"
).HexToByteArray();
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// On .NET Framework when Array.Empty should be returned an array of 6 zeros is
// returned instead.
EnvelopedCms ecms = new EnvelopedCms();
ecms.Decode(content);
- int expected = PlatformDetection.IsFullFramework ? 6 : 0; // Desktop bug gives 6
+ int expected = PlatformDetection.IsNetFramework ? 6 : 0; // Desktop bug gives 6
Assert.Equal(expected, ecms.ContentInfo.Content.Length);
Assert.Equal(Oids.Pkcs7Data, ecms.ContentInfo.ContentType.Value);
}
ContentInfo contentInfo = ecms.ContentInfo;
byte[] content = contentInfo.Content;
- int expected = PlatformDetection.IsFullFramework ? 6 : 0; // Desktop bug gives 6
+ int expected = PlatformDetection.IsNetFramework ? 6 : 0; // Desktop bug gives 6
Assert.Equal(expected, content.Length);
}
}
// net48 changes the default to AES-256-CBC, older versions (and quirk) are
// DES3-EDE-CBC
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
supportedAlgorithms = new[] { Oids.TripleDesCbc, Oids.Aes256 };
}
string expectedContentHex = "CEE8A7E4765371906D8C25123E57FA1D";
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// .NET Framework over-counts encrypted content.
expectedContentHex += "000000000000";
string expectedHex = "BCEA3A10D0737EB9";
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
expectedHex = "BCEA3A10D0737EB9000000000000";
}
byte[] encoded = ecms.Encode();
EnvelopedCms reDecoded = new EnvelopedCms();
reDecoded.Decode(encoded);
- int expectedSize = PlatformDetection.IsFullFramework ? 22 : 16; //NetFx compat.
+ int expectedSize = PlatformDetection.IsNetFramework ? 22 : 16; //NetFx compat.
Assert.Equal(expectedSize, reDecoded.ContentInfo.Content.Length);
}
ContentInfo contentInfo = new ContentInfo(new byte[] { 9, 8, 7, 6, 5 });
SignedCms cms = new SignedCms(SubjectIdentifierType.NoSignature, contentInfo, detached);
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<NullReferenceException>(() => cms.ComputeSignature());
}
IncludeOption = X509IncludeOption.None,
});
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<NullReferenceException>(sign);
}
IncludeOption = X509IncludeOption.None,
});
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.ThrowsAny<CryptographicException>(sign);
}
SignerInfo firstCounterSigner = firstSigner.CounterSignerInfos[0];
Assert.ThrowsAny<CryptographicException>(() => firstCounterSigner.CheckSignature(true));
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// NetFX's CheckHash only looks at top-level SignerInfos to find the
// crypt32 CMS signer ID, so it fails on any check from a countersigner.
Assert.Equal(SubjectIdentifierType.NoSignature, firstCounterSigner.SignerIdentifier.Type);
Assert.ThrowsAny<CryptographicException>(() => firstCounterSigner.CheckSignature(true));
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
// NetFX's CheckHash only looks at top-level SignerInfos to find the
// crypt32 CMS signer ID, so it fails on any check from a countersigner.
if (fileName == null)
throw new ArgumentNullException(nameof(fileName));
- // .NET Framework compat: The .NET Framework CLR expands the filename to a full path for the purpose of performing a CAS permission check. While CAS is not present here,
+ // .NET Framework compat: The .NET Framework expands the filename to a full path for the purpose of performing a CAS permission check. While CAS is not present here,
// we still need to call GetFullPath() so we get the same exception behavior if the fileName is bad.
string fullPath = Path.GetFullPath(fileName);
// https://github.com/dotnet/corefx/issues/19272
Action decrypt = () => exml.DecryptData(ed, aes);
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
Assert.Throws<ArgumentNullException>(decrypt);
else
Assert.Throws<CryptographicException>(decrypt);
rsa.LoadXml(xmlDocument.DocumentElement);
}
catch (CryptographicException) { }
- catch (FormatException) when (PlatformDetection.IsFullFramework) { }
+ catch (FormatException) when (PlatformDetection.IsNetFramework) { }
}
public static object[][] LoadXml_InvalidXml_Source()
</example>";
private static bool SupportsSha2Algorithms =>
- !PlatformDetection.IsFullFramework ||
+ !PlatformDetection.IsNetFramework ||
CryptoConfig.CreateFromName("http://www.w3.org/2001/04/xmldsig-more#rsa-sha384") as SignatureDescription != null;
private static void SignXml(XmlDocument doc, RSA key, string signatureMethod, string digestMethod)
sign.LoadXml(doc.DocumentElement["Signature"]);
// https://github.com/dotnet/corefx/issues/18690
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
Assert.False(sign.CheckSignature(new HMACSHA256(badKey)));
}
sign.LoadXml(doc.DocumentElement["Signature"]);
// https://github.com/dotnet/corefx/issues/18690
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
Assert.False(sign.CheckSignature(new HMACSHA512(badKey)));
}
sign.LoadXml(doc.DocumentElement["Signature"]);
// https://github.com/dotnet/corefx/issues/18690
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
Assert.False(sign.CheckSignature(new HMACSHA384(badKey)));
}
sign.LoadXml(doc.DocumentElement["Signature"]);
// https://github.com/dotnet/corefx/issues/18690
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
Assert.False(sign.CheckSignature(new HMACMD5(badKey)));
}
}
[Fact]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework does not throw")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Framework does not throw")]
public static void Initialize_GetNames()
{
Assert.Throws<InvalidOperationException>(() => new ServiceController().ServiceName);
private void AssertExpectedProperties(ServiceController testServiceController)
{
- var comparer = PlatformDetection.IsFullFramework ? StringComparer.OrdinalIgnoreCase : StringComparer.Ordinal; // Full framework upper cases the name
+ var comparer = PlatformDetection.IsNetFramework ? StringComparer.OrdinalIgnoreCase : StringComparer.Ordinal; // .NET Framework upper cases the name
Assert.Equal(_testService.TestServiceName, testServiceController.ServiceName, comparer);
Assert.Equal(_testService.TestServiceDisplayName, testServiceController.DisplayName);
Assert.Equal(_testService.TestMachineName, testServiceController.MachineName);
}
[ConditionalFact(nameof(IsProcessElevated))]
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full Framework receives the Connected Byte Code after the Exception Thrown Byte Code")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Framework receives the Connected Byte Code after the Exception Thrown Byte Code")]
public void PropagateExceptionFromOnStart()
{
string serviceName = nameof(PropagateExceptionFromOnStart) + Guid.NewGuid().ToString();
testServiceInstaller.ServicesDependedOn = new string[] { _dependentServices.TestServiceName };
}
- var comparer = PlatformDetection.IsFullFramework ? StringComparer.OrdinalIgnoreCase : StringComparer.Ordinal; // Full framework upper cases the name
+ var comparer = PlatformDetection.IsNetFramework ? StringComparer.OrdinalIgnoreCase : StringComparer.Ordinal; // .NET Framework upper cases the name
string processName = Process.GetCurrentProcess().MainModule.FileName;
string entryPointName = typeof(TestService).Assembly.Location;
string arguments = TestServiceName;
// if process and entry point aren't the same then we are running hosted so pass
// in the entrypoint as the first argument
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
arguments = $"\"{entryPointName}\" {arguments}";
}
if (defaultEncoding.CodePage == Encoding.UTF8.CodePage)
{
- // if the default encoding is not UTF8 that means either we are running on the full framework
+ // if the default encoding is not UTF8 that means either we are running on the .NET Framework
// or the encoding provider is registered throw the call Encoding.RegisterProvider.
// at that time we shouldn't expect exceptions when creating the following encodings.
foreach (object[] mapping in CodePageInfo())
Assert.Equal(JsonValueKind.Number, root.ValueKind);
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.False(root.TryGetSingle(out float floatVal));
Assert.Equal(0f, floatVal);
Assert.False(root.TryGetUInt64(out ulong ulongVal));
Assert.Equal(0UL, ulongVal);
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<FormatException>(() => root.GetSingle());
Assert.Throws<FormatException>(() => root.GetDouble());
jsonNumber = new JsonNumber(double.MaxValue);
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
- // Full framework throws for overflow rather than returning Infinity
+ // .NET Framework throws for overflow rather than returning Infinity
// This was fixed for .NET Core 3.0 in order to be IEEE 754 compliant
Assert.Throws<OverflowException>(() => jsonNumber.GetSingle());
// Getting double fails as well
jsonNumber = new JsonNumber("5e500");
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<OverflowException>(() => jsonNumber.GetSingle());
Assert.Throws<OverflowException>(() => jsonNumber.GetDouble());
private static void AssertFloatingPointBehavior<T>(T netcoreExpectedValue, Func<T> testCode)
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<JsonException>(() => testCode());
}
private static void AssertFloatingPointBehavior<T>(T netfxExpectedValue, T netcoreExpectedValue, Func<T> testCode)
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Equal(netfxExpectedValue, testCode());
}
{
if (json.TokenType == JsonTokenType.Number)
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
- // Full framework throws for overflow rather than returning Infinity
+ // .NET Framework throws for overflow rather than returning Infinity
// This was fixed for .NET Core 3.0 in order to be IEEE 754 compliant
Assert.False(json.TryGetSingle(out float _));
{
if (json.TokenType == JsonTokenType.Number)
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
- // Full framework throws for overflow rather than returning Infinity
+ // .NET Framework throws for overflow rather than returning Infinity
// This was fixed for .NET Core 3.0 in order to be IEEE 754 compliant
Assert.False(json.TryGetDouble(out double _));
yield return new object[] { null, @"(cat)(\cZ*)(dog)", "asdlkcat\u001adogiwod", RegexOptions.None, new string[] { "cat\u001adog", "cat", "\u001a", "dog" } };
yield return new object[] { null, @"(cat)(\cz*)(dog)", "asdlkcat\u001adogiwod", RegexOptions.None, new string[] { "cat\u001adog", "cat", "\u001a", "dog" } };
- if (!PlatformDetection.IsFullFramework) // missing fix for https://github.com/dotnet/corefx/issues/26501
+ if (!PlatformDetection.IsNetFramework) // missing fix for https://github.com/dotnet/corefx/issues/26501
{
yield return new object[] { null, @"(cat)(\c[*)(dog)", "asdlkcat\u001bdogiwod", RegexOptions.None, new string[] { "cat\u001bdog", "cat", "\u001b", "dog" } };
yield return new object[] { null, @"(cat)(\c[*)(dog)", "asdlkcat\u001Bdogiwod", RegexOptions.None, new string[] { "cat\u001Bdog", "cat", "\u001B", "dog" } };
yield return new object[] { @"[a-[a-f]]", "abcdefghijklmnopqrstuvwxyz", RegexOptions.None, 0, 26, false, string.Empty };
// \c
- if (!PlatformDetection.IsFullFramework) // missing fix for https://github.com/dotnet/corefx/issues/26501
+ if (!PlatformDetection.IsNetFramework) // missing fix for https://github.com/dotnet/corefx/issues/26501
{
yield return new object[] { @"(cat)(\c[*)(dog)", "asdlkcat\u00FFdogiwod", RegexOptions.None, 0, 15, false, string.Empty };
}
}
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotArmProcess))] // times out on ARM
- [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, "Full framework needs fix for https://github.com/dotnet/corefx/issues/26484")]
+ [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Framework does not have fix for https://github.com/dotnet/corefx/issues/26484")]
[SkipOnCoreClr("Long running tests: https://github.com/dotnet/coreclr/issues/18912", RuntimeStressTestModes.JitMinOpts)]
public void Match_ExcessPrefix()
{
}
};
- if (!PlatformDetection.IsFullFramework) // missing fix in https://github.com/dotnet/runtime/pull/993
+ if (!PlatformDetection.IsNetFramework) // missing fix in https://github.com/dotnet/runtime/pull/993
{
yield return new object[]
{
static RegexParserTests()
{
- if (!PlatformDetection.IsFullFramework)
+ if (!PlatformDetection.IsNetFramework)
{
s_parseExceptionType = typeof(Regex).Assembly.GetType("System.Text.RegularExpressions.RegexParseException", true);
s_parseErrorField = s_parseExceptionType.GetField("_error", BindingFlags.NonPublic | BindingFlags.Instance);
/// <param name="action">The action to invoke.</param>
private static void Throws(RegexParseError error, Action action)
{
- // If no specific error is supplied, or we are running on full framework where RegexParseException
+ // If no specific error is supplied, or we are running on .NET Framework where RegexParseException doesn't exist
// we expect an ArgumentException.
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.ThrowsAny<ArgumentException>(action);
return;
EventWaitHandleSecurity security = GetBasicEventWaitHandleSecurity();
EventResetMode mode = EventResetMode.AutoReset;
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<ArgumentException>(() =>
{
[InlineData((EventResetMode)int.MaxValue)]
public void EventWaitHandle_Create_InvalidMode(EventResetMode mode)
{
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<ArgumentException>(() =>
{
// GetRandomName prevents name collision when two tests run at the same time
string name = GetRandomName() + new string('x', Interop.Kernel32.MAX_PATH);
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<ArgumentException>(() =>
{
// GetRandomName prevents name collision when two tests run at the same time
string name = GetRandomName() + new string('x', Interop.Kernel32.MAX_PATH);
- if (PlatformDetection.IsFullFramework)
+ if (PlatformDetection.IsNetFramework)
{
Assert.Throws<ArgumentException>(() =>
{
VerifyMaxThreads(MaxPossibleThreadCount, MaxPossibleThreadCount);
Assert.True(ThreadPool.SetMaxThreads(MaxPossibleThreadCount + 1, MaxPossibleThreadCount + 1));
VerifyMaxThreads(MaxPossibleThreadCount, MaxPossibleThreadCount);
- Assert.Equal(PlatformDetection.IsFullFramework, ThreadPool.SetMaxThreads(-1, -1));
+ Assert.Equal(PlatformDetection.IsNetFramework, ThreadPool.SetMaxThreads(-1, -1));
VerifyMaxThreads(MaxPossibleThreadCount, MaxPossibleThreadCount);
Assert.True(ThreadPool.SetMinThreads(MaxPossibleThreadCount, MaxPossibleThreadCount));
}
[Fact]
- // Desktop framework doesn't check for this and instead, hits an assertion failure
[SkipOnTargetFramework(TargetFrameworkMonikers.Mono)]
public static void SetMinMaxThreadsTest_ChangedInDotNetCore()
{
ThreadPool.RegisterWaitForSingleObject(waitHandle, callback, null, -2, true));
AssertExtensions.Throws<ArgumentOutOfRangeException>("millisecondsTimeOutInterval", () =>
ThreadPool.RegisterWaitForSingleObject(waitHandle, callback, null, (long)-2, true));
- if (!PlatformDetection.IsFullFramework) // .NET Framework silently overflows the timeout
+ if (!PlatformDetection.IsNetFramework) // .NET Framework silently overflows the timeout
{
AssertExtensions.Throws<ArgumentOutOfRangeException>("millisecondsTimeOutInterval", () =>
ThreadPool.RegisterWaitForSingleObject(waitHandle, callback, null, (long)int.MaxValue + 1, true));
ThreadPool.UnsafeRegisterWaitForSingleObject(waitHandle, callback, null, -2, true));
AssertExtensions.Throws<ArgumentOutOfRangeException>("millisecondsTimeOutInterval", () =>
ThreadPool.UnsafeRegisterWaitForSingleObject(waitHandle, callback, null, (long)-2, true));
- if (!PlatformDetection.IsFullFramework) // .NET Framework silently overflows the timeout
+ if (!PlatformDetection.IsNetFramework) // .NET Framework silently overflows the timeout
{
AssertExtensions.Throws<ArgumentOutOfRangeException>("millisecondsTimeOutInterval", () =>
ThreadPool.UnsafeRegisterWaitForSingleObject(waitHandle, callback, null, (long)int.MaxValue + 1, true));
</PropertyGroup>
<ItemGroup>
- <!-- For full framework we reference these package which has the same layout as the SDK, with this package,
- tests can run in any machine without having to install full framework. -->
+ <!-- For .NET Framework we reference this package which has the same layout as the SDK, with this package,
+ tests can run in any machine without having to install .NET Framework. -->
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0-preview.2" />
<!-- these are part of the targeting pack but not actual assemblies -->
<Reference Include="@(_allFrameworkReferences->'%(FileName)')" Exclude="@(ExcludeReference)" />
</ItemGroup>
</Target>
-</Project>
\ No newline at end of file
+</Project>