diff --git a/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Publish.targets b/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Publish.targets index 6d5a7bd30271b7..bf473414890f6c 100644 --- a/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Publish.targets +++ b/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Publish.targets @@ -8,7 +8,7 @@ <_IlcManagedInputAssemblies Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.PostprocessAssembly)' == 'true'" /> - + @@ -35,7 +35,7 @@ - + $(NativeBinaryPrefix)$(TargetName)$(NativeBinaryExt) @@ -122,7 +122,6 @@ SdkAssemblies="@(PrivateSdkAssemblies)" FrameworkAssemblies="@(FrameworkAssemblies)"> - diff --git a/src/coreclr/tools/aot/ILCompiler.Build.Tasks/ComputeManagedAssembliesToCompileToNative.cs b/src/coreclr/tools/aot/ILCompiler.Build.Tasks/ComputeManagedAssembliesToCompileToNative.cs index 19d435e2303422..73179781b2f6d4 100644 --- a/src/coreclr/tools/aot/ILCompiler.Build.Tasks/ComputeManagedAssembliesToCompileToNative.cs +++ b/src/coreclr/tools/aot/ILCompiler.Build.Tasks/ComputeManagedAssembliesToCompileToNative.cs @@ -7,8 +7,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.IO; -using System.Reflection.Metadata; -using System.Reflection.PortableExecutable; @@ -74,13 +72,6 @@ public string DotNetHostPolicyLibraryName set; } - [Output] - public ITaskItem[] SatelliteAssemblies - { - get; - set; - } - /// /// CoreCLR runtime pack files (apphost, native assets, managed assemblies replaced by NativeAOT equivalents) /// that should be removed from the publish output and replaced with NativeAOT runtime pack assemblies. @@ -95,7 +86,6 @@ public ITaskItem[] RuntimePackFilesToSkipPublish public override bool Execute() { var runtimePackFilesToSkipPublish = new List(); - var satelliteAssemblies = new List(); var nativeAotFrameworkAssembliesToUse = new Dictionary(); foreach (ITaskItem taskItem in SdkAssemblies) @@ -159,44 +149,9 @@ public override bool Execute() runtimePackFilesToSkipPublish.Add(taskItem); continue; } - - // Only classify files that the SDK has identified as managed runtime assemblies. - // Other files (e.g. Content items that happen to be managed assemblies) should be - // left alone and allowed to be published as-is. - if (!taskItem.GetMetadata("PostprocessAssembly").Equals("true", StringComparison.OrdinalIgnoreCase)) - { - continue; - } - - // Check if this is a satellite assembly by reading its culture metadata. - // Non-managed files are silently skipped as a safety measure. - try - { - using (FileStream moduleStream = File.OpenRead(itemSpec)) - using (var module = new PEReader(moduleStream)) - { - if (module.HasMetadata) - { - MetadataReader moduleMetadataReader = module.GetMetadataReader(); - if (moduleMetadataReader.IsAssembly) - { - string culture = moduleMetadataReader.GetString(moduleMetadataReader.GetAssemblyDefinition().Culture); - - if (culture != "" && !culture.Equals("neutral", StringComparison.OrdinalIgnoreCase)) - { - satelliteAssemblies.Add(taskItem); - } - } - } - } - } - catch (BadImageFormatException) - { - } } RuntimePackFilesToSkipPublish = runtimePackFilesToSkipPublish.ToArray(); - SatelliteAssemblies = satelliteAssemblies.ToArray(); return true;