diff --git a/eng/testing/linker/project.csproj.template b/eng/testing/linker/project.csproj.template
index e1ba296072c8d0..c9eeb18f2718c9 100644
--- a/eng/testing/linker/project.csproj.template
+++ b/eng/testing/linker/project.csproj.template
@@ -19,6 +19,10 @@
<_ExtraTrimmerArgs>{ExtraTrimmerArgs} $(_ExtraTrimmerArgs)
+
+ {RuntimeHostConfigurationOptions}
+
+
{AdditionalProjectReferences}
diff --git a/eng/testing/linker/trimmingTests.targets b/eng/testing/linker/trimmingTests.targets
index 649ad3e25bf2d9..73cb923ec60ae1 100644
--- a/eng/testing/linker/trimmingTests.targets
+++ b/eng/testing/linker/trimmingTests.targets
@@ -68,6 +68,15 @@
<_additionalProjectSourceFiles Include="%(TestConsoleApps.AdditionalSourceFiles)" />
+
+ <_switchesAsItems Include="%(TestConsoleApps.DisabledFeatureSwitches)" Value="false" />
+ <_switchesAsItems Include="%(TestConsoleApps.EnabledFeatureSwitches)" Value="true" />
+
+
+
+ <_runtimeHostConfigurationOptionsString>@(_switchesAsItems->'<RuntimeHostConfigurationOption Include="%(Identity)" Value="%(Value)" Trim="true" />', '%0a ')
+
+
+ System.Runtime.InteropServices.BuiltInComInterop.IsSupported
+
diff --git a/src/libraries/System.Runtime/tests/TrimmingTests/TypeBuilderComDisabled.cs b/src/libraries/System.Runtime/tests/TrimmingTests/TypeBuilderComDisabled.cs
new file mode 100644
index 00000000000000..bb59db5e1ed0e3
--- /dev/null
+++ b/src/libraries/System.Runtime/tests/TrimmingTests/TypeBuilderComDisabled.cs
@@ -0,0 +1,31 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+using System.Reflection;
+using System.Reflection.Emit;
+
+AssemblyBuilder assembly = AssemblyBuilder.DefineDynamicAssembly(new AssemblyName("GeneratedAssembly"), AssemblyBuilderAccess.Run);
+ModuleBuilder module = assembly.DefineDynamicModule("GeneratedModule");
+
+string typeName = "GeneratedType";
+TypeBuilder genericType = module.DefineType(typeName);
+genericType.DefineField("_int", typeof(int), FieldAttributes.Private);
+genericType.DefineProperty("Prop", PropertyAttributes.None, typeof(string), null);
+
+Type generatedType = genericType.CreateType();
+if (generatedType.Name != typeName)
+{
+ Console.WriteLine($"Unexpected name for generated type. Expected: {typeName}, Actual: {generatedType.Name}");
+ return -1;
+}
+
+object obj = Activator.CreateInstance(generatedType);
+string objAsString = obj.ToString();
+if (objAsString != typeName)
+{
+ Console.WriteLine($"Unexpected result of ToString() for instance of generated type. Expected: {typeName}, Actual: {objAsString}");
+ return -2;
+}
+
+return 100;