diff --git a/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.targets b/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.targets index 0f6b149901758c..f39805cc9eddfe 100644 --- a/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.targets +++ b/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.targets @@ -222,6 +222,7 @@ The .NET Foundation licenses this file to you under the MIT license. <IlcArg Condition="$(ExportsFile) != ''" Include="--exportsfile:$(ExportsFile)" /> <IlcArg Include="@(AutoInitializedAssemblies->'--initassembly:%(Identity)')" /> <IlcArg Include="@(RuntimeHostConfigurationOption->'--appcontextswitch:%(Identity)=%(Value)')" /> + <IlcArg Include="--appcontextswitch:RUNTIME_IDENTIFIER=$(RuntimeIdentifier)" /> <IlcArg Include="@(DirectPInvoke->'--directpinvoke:%(Identity)')" /> <IlcArg Include="@(DirectPInvokeList->'--directpinvokelist:%(Identity)')" /> <IlcArg Include="@(_TrimmerFeatureSettings->'--feature:%(Identity)=%(Value)')" /> diff --git a/src/libraries/System.Console/tests/TermInfo.cs b/src/libraries/System.Console/tests/TermInfo.cs index cf75cbd1b5406f..8a02aae0f3cb75 100644 --- a/src/libraries/System.Console/tests/TermInfo.cs +++ b/src/libraries/System.Console/tests/TermInfo.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; +using System.Diagnostics.CodeAnalysis; using System.IO; using System.Linq; using System.Reflection; @@ -10,6 +11,8 @@ [SkipOnPlatform(TestPlatforms.Android | TestPlatforms.Browser | TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "Not supported on Android, Browser, iOS, MacCatalyst, or tvOS.")] public class TermInfo { + private const string SystemConsoleFullNameSuffix = ", System.Console"; + // Names of internal members accessed via reflection private const string TerminfoType = "System.TermInfo"; private const string TerminfoDatabaseType = TerminfoType + "+Database"; @@ -25,12 +28,13 @@ public class TermInfo private const string TerminfoLocationsField = "_terminfoLocations"; [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/72833", typeof(PlatformDetection), nameof(PlatformDetection.IsNativeAot))] [PlatformSpecific(TestPlatforms.AnyUnix)] // Tests TermInfo public void VerifyInstalledTermInfosParse() { bool foundAtLeastOne = false; - string[] locations = GetFieldValueOnObject<string[]>(TerminfoLocationsField, null, typeof(Console).GetTypeInfo().Assembly.GetType(TerminfoDatabaseType)); + string[] locations = GetFieldValueOnObject<string[]>(TerminfoLocationsField, null, Type.GetType(TerminfoDatabaseType + SystemConsoleFullNameSuffix)); foreach (string location in locations) { if (!Directory.Exists(location)) @@ -62,12 +66,13 @@ public void VerifyInstalledTermInfosParse() [PlatformSpecific(TestPlatforms.AnyUnix)] // Tests TermInfo public void VerifyTermInfoSupportsNewAndLegacyNcurses() { - MethodInfo readDbMethod = typeof(Console).GetTypeInfo().Assembly.GetType(TerminfoDatabaseType).GetTypeInfo().GetDeclaredMethods(ReadDatabaseMethod).Where(m => m.GetParameters().Count() == 2).Single(); + MethodInfo readDbMethod = Type.GetType(TerminfoDatabaseType + SystemConsoleFullNameSuffix).GetTypeInfo().GetDeclaredMethods(ReadDatabaseMethod).Where(m => m.GetParameters().Count() == 2).Single(); readDbMethod.Invoke(null, new object[] { "xterm", "ncursesFormats" }); // This will throw InvalidOperationException in case we don't support the legacy format readDbMethod.Invoke(null, new object[] { "screen-256color", "ncursesFormats" }); // This will throw InvalidOperationException if we can't parse the new format } [Theory] + [ActiveIssue("https://github.com/dotnet/runtime/issues/72833", typeof(PlatformDetection), nameof(PlatformDetection.IsNativeAot))] [PlatformSpecific(TestPlatforms.AnyUnix)] // Tests TermInfo [InlineData("xterm-256color", "\u001B\u005B\u00330m", "\u001B\u005B\u00340m", 0)] [InlineData("xterm-256color", "\u001B\u005B\u00331m", "\u001B\u005B\u00341m", 1)] @@ -121,37 +126,37 @@ public void TryingToLoadTermThatDoesNotExistDoesNotThrow() private object ReadTermInfoDatabase(string term) { - MethodInfo readDbMethod = typeof(Console).GetTypeInfo().Assembly.GetType(TerminfoDatabaseType).GetTypeInfo().GetDeclaredMethods(ReadDatabaseMethod).Where(m => m.GetParameters().Count() == 1).Single(); + MethodInfo readDbMethod = Type.GetType(TerminfoDatabaseType + SystemConsoleFullNameSuffix).GetTypeInfo().GetDeclaredMethods(ReadDatabaseMethod).Where(m => m.GetParameters().Count() == 1).Single(); return readDbMethod.Invoke(null, new object[] { term }); } private object CreateTermColorInfo(object db) { - return typeof(Console).GetTypeInfo().Assembly.GetType(TerminalFormatStringsType).GetTypeInfo().DeclaredConstructors + return Type.GetType(TerminalFormatStringsType + SystemConsoleFullNameSuffix).GetTypeInfo().DeclaredConstructors .Where(c => c.GetParameters().Count() == 1).Single().Invoke(new object[] { db }); } private string GetForegroundFormat(object colorInfo) { - return GetFieldValueOnObject<string>(ForegroundFormatField, colorInfo, typeof(Console).GetTypeInfo().Assembly.GetType(TerminalFormatStringsType)); + return GetFieldValueOnObject<string>(ForegroundFormatField, colorInfo, Type.GetType(TerminalFormatStringsType + SystemConsoleFullNameSuffix)); } private string GetBackgroundFormat(object colorInfo) { - return GetFieldValueOnObject<string>(BackgroundFormatField, colorInfo, typeof(Console).GetTypeInfo().Assembly.GetType(TerminalFormatStringsType)); + return GetFieldValueOnObject<string>(BackgroundFormatField, colorInfo, Type.GetType(TerminalFormatStringsType + SystemConsoleFullNameSuffix)); } private int GetMaxColors(object colorInfo) { - return GetFieldValueOnObject<int>(MaxColorsField, colorInfo, typeof(Console).GetTypeInfo().Assembly.GetType(TerminalFormatStringsType)); + return GetFieldValueOnObject<int>(MaxColorsField, colorInfo, Type.GetType(TerminalFormatStringsType + SystemConsoleFullNameSuffix)); } private string GetResetFormat(object colorInfo) { - return GetFieldValueOnObject<string>(ResetFormatField, colorInfo, typeof(Console).GetTypeInfo().Assembly.GetType(TerminalFormatStringsType)); + return GetFieldValueOnObject<string>(ResetFormatField, colorInfo, Type.GetType(TerminalFormatStringsType + SystemConsoleFullNameSuffix)); } - private T GetFieldValueOnObject<T>(string name, object instance, Type baseType) + private T GetFieldValueOnObject<T>(string name, object instance, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields)] Type baseType) { return (T)baseType.GetTypeInfo().GetDeclaredField(name).GetValue(instance); } @@ -160,7 +165,7 @@ private object CreateFormatParam(object o) { Assert.True((o.GetType() == typeof(int)) || (o.GetType() == typeof(string))); - TypeInfo ti = typeof(Console).GetTypeInfo().Assembly.GetType(FormatParamType).GetTypeInfo(); + TypeInfo ti = Type.GetType(FormatParamType + SystemConsoleFullNameSuffix).GetTypeInfo(); ConstructorInfo ci = null; foreach (ConstructorInfo c in ti.DeclaredConstructors) @@ -184,8 +189,8 @@ private object CreateFormatParam(object o) private string EvaluateParameterizedStrings(string format, params object[] parameters) { - Type formatArrayType = typeof(Console).GetTypeInfo().Assembly.GetType(FormatParamType).MakeArrayType(); - MethodInfo mi = typeof(Console).GetTypeInfo().Assembly.GetType(ParameterizedStringsType).GetTypeInfo() + Type formatArrayType = Type.GetType(FormatParamType + SystemConsoleFullNameSuffix).MakeArrayType(); + MethodInfo mi = Type.GetType(ParameterizedStringsType + SystemConsoleFullNameSuffix).GetTypeInfo() .GetDeclaredMethods(EvaluateMethod).First(m => m.GetParameters()[1].ParameterType.IsArray); // Create individual FormatParams diff --git a/src/libraries/System.Numerics.Tensors/tests/TensorTests.cs b/src/libraries/System.Numerics.Tensors/tests/TensorTests.cs index 816ca737caf26a..27c7ba75e4e259 100644 --- a/src/libraries/System.Numerics.Tensors/tests/TensorTests.cs +++ b/src/libraries/System.Numerics.Tensors/tests/TensorTests.cs @@ -286,7 +286,7 @@ public void ConstructFromDimensions(TensorConstructor tensorConstructor) Assert.Equal(3, tensor.Dimensions[2]); } - [Theory()] + [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsNonZeroLowerBoundArraySupported))] [MemberData(nameof(GetSingleTensorConstructors))] public void ConstructTensorFromArrayRank3WithLowerBounds(TensorConstructor tensorConstructor) { diff --git a/src/libraries/System.Runtime.Extensions/tests/System/AppDomainTests.cs b/src/libraries/System.Runtime.Extensions/tests/System/AppDomainTests.cs index b303f1e5d6f9ea..c77be0d4be29a7 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/AppDomainTests.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/AppDomainTests.cs @@ -43,7 +43,7 @@ public void RelativeSearchPath_Is_Null() Assert.Null(AppDomain.CurrentDomain.RelativeSearchPath); } - [Fact] + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.HasHostExecutable))] [SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Android | TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst, "The dotnet sdk will not be available on these platforms")] public void TargetFrameworkTest() { @@ -258,7 +258,7 @@ public void ExecuteAssemblyByName() }).Dispose(); } - [Fact] + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsAssemblyLoadingSupported))] public void ExecuteAssembly() { CopyTestAssemblies(); @@ -361,7 +361,7 @@ public void Load() Assert.NotNull(AppDomain.CurrentDomain.Load(typeof(AppDomainTests).Assembly.FullName)); } - [Fact] + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsAssemblyLoadingSupported))] [SkipOnPlatform(TestPlatforms.Browser, "Not supported on Browser.")] public void LoadBytes() { @@ -651,7 +651,7 @@ public CorrectlyPropagatesException(string message) : base(message) { } } - [Theory] + [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsAssemblyLoadingSupported))] [ActiveIssue("https://github.com/dotnet/runtime/issues/43909", TestRuntimes.Mono)] [InlineData(true)] [InlineData(false)] @@ -811,7 +811,9 @@ public static void GetPermissionSet() #pragma warning restore SYSLIB0003 // Obsolete: CAS } - [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.FileCreateCaseSensitive))] + public static bool FileCreateCaseSensitiveAndAssemblyLoadingSupported => PlatformDetection.FileCreateCaseSensitive && PlatformDetection.IsAssemblyLoadingSupported; + + [ConditionalTheory(nameof(FileCreateCaseSensitiveAndAssemblyLoadingSupported))] [MemberData(nameof(TestingCreateInstanceFromObjectHandleData))] public static void TestingCreateInstanceFromObjectHandle(string physicalFileName, string assemblyFile, string type, string returnedFullNameType, Type exceptionType) { @@ -872,7 +874,7 @@ public static IEnumerable<object[]> TestingCreateInstanceFromObjectHandleData() yield return new object[] { "AssemblyResolveTestApp.dll", "assemblyresolvetestapp.dll", "assemblyresolvetestapp.publicclassnodefaultconstructorsample", "AssemblyResolveTestApp.PublicClassNoDefaultConstructorSample", exceptionType }; } - [Theory] + [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsAssemblyLoadingSupported))] [MemberData(nameof(TestingCreateInstanceObjectHandleData))] public static void TestingCreateInstanceObjectHandle(string assemblyName, string type, string returnedFullNameType, Type exceptionType) { @@ -921,7 +923,7 @@ public static void TestingCreateInstanceObjectHandle(string assemblyName, string { "assemblyresolvetestapp", "assemblyresolvetestapp.publicclassnodefaultconstructorsample", "AssemblyResolveTestApp.PublicClassNoDefaultConstructorSample", typeof(TypeLoadException) } }; - [Theory] + [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsAssemblyLoadingSupported))] [MemberData(nameof(TestingCreateInstanceFromObjectHandleFullSignatureData))] public static void TestingCreateInstanceFromObjectHandleFullSignature(string physicalFileName, string assemblyFile, string type, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, string returnedFullNameType) { @@ -951,7 +953,7 @@ public static IEnumerable<object[]> TestingCreateInstanceFromObjectHandleFullSig } } - [Theory] + [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.IsAssemblyLoadingSupported))] [MemberData(nameof(TestingCreateInstanceObjectHandleFullSignatureData))] public static void TestingCreateInstanceObjectHandleFullSignature(string assemblyName, string type, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, string returnedFullNameType) { diff --git a/src/libraries/System.Runtime.Extensions/tests/System/Diagnostics/Stopwatch.cs b/src/libraries/System.Runtime.Extensions/tests/System/Diagnostics/Stopwatch.cs index a33bfda6a8b120..3ddb805e355521 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/Diagnostics/Stopwatch.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/Diagnostics/Stopwatch.cs @@ -96,7 +96,7 @@ public static void StartNewAndRestart() } } - [Fact] + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsDebuggerTypeProxyAttributeSupported))] public static void DebuggerAttributesValid() { Stopwatch watch = new Stopwatch(); diff --git a/src/libraries/System.Runtime.Extensions/tests/System/Environment.ProcessorCount.cs b/src/libraries/System.Runtime.Extensions/tests/System/Environment.ProcessorCount.cs index 7ec112a2c481a8..1628d8b826f602 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/Environment.ProcessorCount.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/Environment.ProcessorCount.cs @@ -63,7 +63,7 @@ public void ProcessorCount_Windows_MatchesGetSystemInfo() public static int GetProcessorCount() => Environment.ProcessorCount; [PlatformSpecific(TestPlatforms.Windows)] - [Theory] + [ConditionalTheory(typeof(RemoteExecutor), nameof(RemoteExecutor.IsSupported))] [ActiveIssue("https://github.com/dotnet/runtime/issues/52910", TestRuntimes.Mono)] [InlineData(8000, 0, null)] [InlineData(8000, 2000, null)] diff --git a/src/libraries/System.Runtime.Extensions/tests/System/Environment.StackTrace.cs b/src/libraries/System.Runtime.Extensions/tests/System/Environment.StackTrace.cs index 255d03483505f2..bca195864c8354 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/Environment.StackTrace.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/Environment.StackTrace.cs @@ -15,6 +15,7 @@ public class EnvironmentStackTrace static string s_stackTrace; [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/73051", typeof(PlatformDetection), nameof(PlatformDetection.IsNativeAot))] [ActiveIssue("https://github.com/mono/mono/issues/15315", TestRuntimes.Mono)] public void StackTraceTest() { diff --git a/src/libraries/System.Runtime.Extensions/tests/System/Reflection/AssemblyNameProxyTests.cs b/src/libraries/System.Runtime.Extensions/tests/System/Reflection/AssemblyNameProxyTests.cs index 1a02e4686f2e8c..312c773a0ef641 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/Reflection/AssemblyNameProxyTests.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/Reflection/AssemblyNameProxyTests.cs @@ -21,8 +21,11 @@ public static void GetAssemblyName_AssemblyNameProxy() AssertExtensions.Throws<ArgumentException>("path", null, () => anp.GetAssemblyName(string.Empty)); Assert.Throws<FileNotFoundException>(() => anp.GetAssemblyName(Guid.NewGuid().ToString("N"))); - Assembly a = typeof(AssemblyNameProxyTests).Assembly; - Assert.Equal(new AssemblyName(a.FullName).ToString(), anp.GetAssemblyName(Path.GetFullPath(a.Location)).ToString()); + if (PlatformDetection.HasAssemblyFiles) + { + Assembly a = typeof(AssemblyNameProxyTests).Assembly; + Assert.Equal(new AssemblyName(a.FullName).ToString(), anp.GetAssemblyName(Path.GetFullPath(a.Location)).ToString()); + } } } } diff --git a/src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/DescriptionNameTests.cs b/src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/DescriptionNameTests.cs index f41c0b83345c3c..3bcf3e24a67839 100644 --- a/src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/DescriptionNameTests.cs +++ b/src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/DescriptionNameTests.cs @@ -42,11 +42,11 @@ public void DumpRuntimeInformationToConsole() Console.WriteLine($"### FRAMEWORK: Version={Environment.Version} Description={RuntimeInformation.FrameworkDescription.Trim()}"); string binariesLocation = Path.GetDirectoryName(typeof(object).Assembly.Location); - string binariesLocationFormat = PlatformDetection.IsInAppContainer ? "Unknown" : new DriveInfo(binariesLocation).DriveFormat; + string binariesLocationFormat = string.IsNullOrEmpty(binariesLocation) ? "Unknown" : new DriveInfo(binariesLocation).DriveFormat; Console.WriteLine($"### BINARIES: {binariesLocation} (drive format {binariesLocationFormat})"); string tempPathLocation = Path.GetTempPath(); - string tempPathLocationFormat = PlatformDetection.IsInAppContainer ? "Unknown" : new DriveInfo(tempPathLocation).DriveFormat; + string tempPathLocationFormat = string.IsNullOrEmpty(binariesLocation) ? "Unknown" : new DriveInfo(tempPathLocation).DriveFormat; Console.WriteLine($"### TEMP PATH: {tempPathLocation} (drive format {tempPathLocationFormat})"); Console.WriteLine($"### CURRENT DIRECTORY: {Environment.CurrentDirectory}"); diff --git a/src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/RuntimeIdentifierTests.cs b/src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/RuntimeIdentifierTests.cs index 41bbfdfd7d6196..fbcb12854c330f 100644 --- a/src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/RuntimeIdentifierTests.cs +++ b/src/libraries/System.Runtime.InteropServices.RuntimeInformation/tests/RuntimeIdentifierTests.cs @@ -74,6 +74,10 @@ public void VerifyLinuxRid() .Substring("ID=".Length) .Trim('\"', '\''); + // This gets burned in at publish time on NativeAOT + if (PlatformDetection.IsNativeAot) + expectedOSName = "linux"; + Assert.StartsWith(expectedOSName, RuntimeInformation.RuntimeIdentifier, StringComparison.OrdinalIgnoreCase); } diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 8fe65c917f0c9d..72cf78ad190969 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -417,6 +417,10 @@ <!-- https://github.com/dotnet/runtime/issues/72908 --> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Reflection.MetadataLoadContext\tests\System.Reflection.MetadataLoadContext.Tests.csproj" /> + <!-- Test needs to copy .so file: https://github.com/dotnet/runtime/issues/72987 --> + <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.IO.Ports\tests\System.IO.Ports.Tests.csproj" + Condition="'$(TargetOS)' != 'windows'" /> + <!-- Not applicable to NativeAOT --> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Reflection\tests\InvokeEmit\System.Reflection.InvokeEmit.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Reflection\tests\InvokeInterpreted\System.Reflection.InvokeInterpreted.Tests.csproj" /> @@ -456,12 +460,6 @@ <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.IO.FileSystem\tests\System.IO.FileSystem.Tests.csproj" /> <!--Needs work to get these tests to pass --> <!--These tests have failures--> - <!-- Couple trimming related issues. Easy --> - <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Console\tests\System.Console.Tests.csproj" - Condition="'$(TargetOS)' == 'linux'" /> - <!-- Test needs to copy .so file: https://github.com/dotnet/runtime/issues/72987 --> - <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.IO.Ports\tests\System.IO.Ports.Tests.csproj" - Condition="'$(TargetOS)' == 'linux'" /> <!-- Looks like our xunit runner doesn't respect tests that don't want to be multithreaded --> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Net.NameResolution\tests\FunctionalTests\System.Net.NameResolution.Functional.Tests.csproj" Condition="'$(TargetOS)' == 'windows'"/> @@ -529,7 +527,6 @@ <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Linq.Queryable\tests\System.Linq.Queryable.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Management\tests\System.Management.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Net.WebSockets\tests\System.Net.WebSockets.Tests.csproj" /> - <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Numerics.Tensors\tests\System.Numerics.Tensors.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.ObjectModel\tests\System.ObjectModel.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Private.Runtime.InteropServices.JavaScript\tests\System.Private.Runtime.InteropServices.JavaScript.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Private.Xml\tests\XmlSerializer\ReflectionOnly\System.Xml.XmlSerializer.ReflectionOnly.Tests.csproj" /> @@ -541,8 +538,6 @@ <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Resources.Extensions\tests\System.Resources.Extensions.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Resources.ResourceManager\tests\System.Resources.ResourceManager.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime\tests\NlsTests\System.Runtime.Nls.Tests.csproj" /> - <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.Extensions\tests\System.Runtime.Extensions.Tests.csproj" /> - <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.InteropServices.RuntimeInformation\tests\System.Runtime.InteropServices.RuntimeInformation.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.Serialization.Formatters\tests\System.Runtime.Serialization.Formatters.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.Serialization.Json\tests\System.Runtime.Serialization.Json.Tests.csproj" /> <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.Serialization.Json\tests\ReflectionOnly\System.Runtime.Serialization.Json.ReflectionOnly.Tests.csproj" />