783 writes to Justification
Aspire.Confluent.Kafka (1)
src\Vendoring\OpenTelemetry.Instrumentation.ConfluentKafka\Shared\PropertyFetcher.AOT.cs (1)
138[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "The code guarantees that all the generic parameters are reference types.")]
Aspire.Microsoft.Data.SqlClient (1)
src\Vendoring\OpenTelemetry.Instrumentation.SqlClient\Shared\DiagnosticSourceInstrumentation\PropertyFetcher.cs (1)
134[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "The code guarantees that all the generic parameters are reference types.")]
Aspire.Microsoft.EntityFrameworkCore.SqlServer (1)
src\Vendoring\OpenTelemetry.Instrumentation.SqlClient\Shared\DiagnosticSourceInstrumentation\PropertyFetcher.cs (1)
134[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "The code guarantees that all the generic parameters are reference types.")]
Aspire.StackExchange.Redis (2)
src\Vendoring\OpenTelemetry.Instrumentation.StackExchangeRedis\Implementation\RedisProfilerEntryToActivityConverter.cs (1)
61[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "The CommandAndKey property is preserved by the above DynamicDependency")]
src\Vendoring\OpenTelemetry.Instrumentation.StackExchangeRedis\Shared\PropertyFetcher.AOT.cs (1)
140[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "The code guarantees that all the generic parameters are reference types.")]
dotnet-dev-certs (2)
src\Shared\CertificateGeneration\CertificateManager.cs (2)
911[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")] 957[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
Microsoft.AspNetCore.Components (31)
BindConverter.cs (8)
1675Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1679Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1683Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1833[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect unknown underlying types are configured by application code to be retained.")] 1866Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1870Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1874Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 2040[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect unknown underlying types are configured by application code to be retained.")]
DynamicComponent.cs (1)
62[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "We expect that types used with DynamicComponent will be defined in assemblies that don't get trimmed.")]
LayoutView.cs (1)
49[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "Layout components are preserved because the LayoutAttribute constructor parameter is correctly annotated.")]
PersistentState\PersistentServicesRegistry.cs (3)
40Justification = "Types registered for persistence are preserved in the API call to register them and typically live in assemblies that aren't trimmed.")] 97Justification = "Types registered for persistence are preserved in the API call to register them and typically live in assemblies that aren't trimmed.")] 109[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Types registered for persistence are preserved in the API call to register them and typically live in assemblies that aren't trimmed.")]
Reflection\PropertyGetter.cs (1)
20Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")]
Reflection\PropertySetter.cs (1)
20Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")]
RouteView.cs (2)
71[UnconditionalSuppressMessage("Trimming", "IL2111", Justification = "Layout components are preserved because the LayoutAttribute constructor parameter is correctly annotated.")] 72[UnconditionalSuppressMessage("Trimming", "IL2118", Justification = "Layout components are preserved because the LayoutAttribute constructor parameter is correctly annotated.")]
Routing\RouteTable.cs (1)
21Justification = "We don't trim the user assemblies and this code is only used on the server.")]
Routing\RouteTableFactory.cs (2)
49[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Application code does not get trimmed, and the framework does not define routable components.")] 115[UnconditionalSuppressMessage("Trimming", "IL2067", Justification = "Application code does not get trimmed, and the framework does not define routable components.")]
src\Components\Shared\src\RootTypeCache.cs (1)
32[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Root components are expected to be defined in assemblies that do not get trimmed.")]
src\Http\Http.Abstractions\src\Routing\RouteValueDictionary.cs (2)
667Justification = "The constructor that would result in _propertyStorage being non-null is annotated with RequiresUnreferencedCodeAttribute. " + 847Justification = "The constructor that would result in _propertyStorage being non-null is annotated with RequiresUnreferencedCodeAttribute. " +
src\Http\Routing\src\ParameterPolicyActivator.cs (2)
95[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2006:UnrecognizedReflectionPattern", Justification = "This type comes from the ConstraintMap.")] 96[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2070", Justification = "We ensure the constructor is preserved when the constraint map is added.")]
SupplyParameterFromPersistentComponentStateValueProvider.cs (6)
35Justification = "JSON serialization and deserialization might require types that cannot be statically analyzed.")] 39Justification = "JSON serialization and deserialization might require types that cannot be statically analyzed.")] 48[UnconditionalSuppressMessage("Trimming", "IL2075:'this' argument does not satisfy 'DynamicallyAccessedMembersAttribute' in call to target method. The return value of the source method does not have matching annotations.", Justification = "OpenComponent already has the right set of attributes")] [UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "OpenComponent already has the right set of attributes")] [UnconditionalSuppressMessage("Trimming", "IL2072:Target parameter argument does not satisfy 'DynamicallyAccessedMembersAttribute' in call to target method. The return value of the source method does not have matching annotations.", Justification = "OpenComponent already has the right set of attributes")] 75Justification = "Properties of rendered components are preserved through other means and won't get trimmed.")]
Microsoft.AspNetCore.Components.Authorization (3)
AuthorizeRouteView.cs (3)
99Justification = "OpenComponent already has the right set of attributes")] 101Justification = "OpenComponent already has the right set of attributes")] 103Justification = "OpenComponent already has the right set of attributes")]
Microsoft.AspNetCore.Components.Endpoints (9)
FormMapping\Factories\Collections\ConcreteTypeCollectionConverterFactory.cs (2)
14[UnconditionalSuppressMessage("Trimming", "IL2046", Justification = "This derived implementation doesn't require unreferenced code like other implementations of the interface.")] 15[UnconditionalSuppressMessage("AOT", "IL3051", Justification = "This derived implementation doesn't use dynamic code like other implementations of the interface.")]
FormMapping\Factories\Dictionary\ConcreteTypeDictionaryConverterFactory.cs (2)
13[UnconditionalSuppressMessage("Trimming", "IL2046", Justification = "This derived implementation doesn't require unreferenced code like other implementations of the interface.")] 14[UnconditionalSuppressMessage("AOT", "IL3051", Justification = "This derived implementation doesn't use dynamic code like other implementations of the interface.")]
src\Components\Shared\src\ResourceCollectionProvider.cs (2)
20[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Strings are not trimmed")] 29[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Strings are not trimmed")]
src\Shared\Components\PrerenderComponentApplicationStore.cs (3)
22[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")] 30[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")] 51[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple serialize of primitive types.")]
Microsoft.AspNetCore.Components.Forms (5)
EditContextDataAnnotationsExtensions.cs (3)
85[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 111[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 156[UnconditionalSuppressMessage("Trimming", "IL2080", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")]
FieldIdentifier.cs (1)
186Justification = "Application code does not get trimmed. We expect the members in the expression to not be trimmed.")]
src\Components\Shared\src\ExpressionFormatting\ExpressionFormatter.cs (1)
164[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "The relevant members should be preserved since they were referenced in a LINQ expression")]
Microsoft.AspNetCore.Components.QuickGrid (1)
Infrastructure\AsyncQueryExecutorSupplier.cs (1)
27Justification = "The reflection is a best effort to warn developers about sync-over-async behavior which can cause thread pool starvation.")]
Microsoft.AspNetCore.Components.Server (5)
src\Components\Shared\src\ComponentParametersTypeCache.cs (1)
27[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to preserve component parameters.")]
src\Components\Shared\src\RootTypeCache.cs (1)
32[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Root components are expected to be defined in assemblies that do not get trimmed.")]
src\Shared\Components\PrerenderComponentApplicationStore.cs (3)
22[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")] 30[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")] 51[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple serialize of primitive types.")]
Microsoft.AspNetCore.Components.Web (7)
JSComponents\JSComponentConfigurationStore.cs (1)
43Justification = "Types added to dictionary are always correctly annotated.")]
JSComponents\JSComponentInterop.cs (3)
80Justification = "OpenComponent already has the right set of attributes")] 181[UnconditionalSuppressMessage("Trimming", "IL2067", Justification = "EventCallback and EventCallback<TValue> constructors are referenced statically and will be preserved.")] 199[UnconditionalSuppressMessage("Trimming", "IL2067", Justification = "OpenComponent already has the right set of attributes")]
src\Components\Shared\src\ExpressionFormatting\ExpressionFormatter.cs (1)
164[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "The relevant members should be preserved since they were referenced in a LINQ expression")]
WebEventData\WebEventData.cs (1)
62Justification = "We are already using the appropriate overload")]
WebRenderer.cs (1)
103[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "<Pending>")]
Microsoft.AspNetCore.Components.WebAssembly (20)
Hosting\WebAssemblyCultureProvider.cs (1)
10[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026", Justification = "This type loads resx files. We don't expect it's dependencies to be trimmed in the ordinary case.")]
Hosting\WebAssemblyHost.cs (1)
213[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "These are root components which belong to the user and are in assemblies that don't get trimmed.")]
Hosting\WebAssemblyHostBuilder.cs (1)
114[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "Root components are expected to be defined in assemblies that do not get trimmed.")]
HotReload\HotReloadAgent.cs (1)
15[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Hot reload is only expected to work when trimming is disabled.")]
HotReload\MetadataUpdateHandlerInvoker.cs (2)
13[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Hot reload is only expected to work when trimming is disabled.")] 14[UnconditionalSuppressMessage("Trimming", "IL2070", Justification = "Hot reload is only expected to work when trimming is disabled.")]
HotReload\WebAssemblyHotReload.cs (1)
26Justification = "Hot Reload does not support trimming")]
Prerendering\WebAssemblyComponentParameterDeserializer.cs (3)
23[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to preserve component parameter types.")] 78[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The correct members will be preserved by the above DynamicDependency.")] 84[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to preserve component parameter types.")]
Rendering\WebAssemblyRenderer.cs (1)
47[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "These are root components which belong to the user and are in assemblies that don't get trimmed.")]
Services\DefaultWebAssemblyJSRuntime.cs (1)
113[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "The correct members will be preserved by the above DynamicDependency")]
Services\InternalJSImportMethods.cs (1)
20[UnconditionalSuppressMessage("Trimming", "IL2067", Justification = "These are root components which belong to the user and are in assemblies that don't get trimmed.")]
src\Components\Shared\src\ComponentParametersTypeCache.cs (1)
27[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to preserve component parameters.")]
src\Components\Shared\src\ResourceCollectionProvider.cs (2)
20[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Strings are not trimmed")] 29[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Strings are not trimmed")]
src\Components\Shared\src\RootTypeCache.cs (1)
32[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Root components are expected to be defined in assemblies that do not get trimmed.")]
src\Shared\Components\PrerenderComponentApplicationStore.cs (3)
22[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")] 30[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")] 51[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple serialize of primitive types.")]
Microsoft.AspNetCore.DataProtection (12)
AuthenticatedEncryption\ConfigurationModel\ManagedAlgorithmHelpers.cs (2)
38[UnconditionalSuppressMessage("Trimmer", "IL2075", Justification = "Unknown type is checked for whether it has a public parameterless constructor. Handle trimmed types by providing a useful error message.")] 39[UnconditionalSuppressMessage("Trimmer", "IL2073", Justification = "Unknown type is checked for whether it has a public parameterless constructor. Handle trimmed types by providing a useful error message.")]
AuthenticatedEncryption\ManagedAuthenticatedEncryptorFactory.cs (1)
115[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe to use because implementation is either a KeyedHashAlgorithm or SymmetricAlgorithm type.")]
Internal\DefaultTypeNameResolver.cs (1)
17[UnconditionalSuppressMessage("Trimmer", "IL2057", Justification = "Type.GetType is only used to resolve statically known types that are referenced by DataProtection assembly.")]
SimpleActivator.cs (2)
30[UnconditionalSuppressMessage("Trimmer", "IL2072", Justification = "Unknown type names are rarely used by apps. Handle trimmed types by providing a useful error message.")] 31[UnconditionalSuppressMessage("Trimmer", "IL2075", Justification = "Unknown type names are rarely used by apps. Handle trimmed types by providing a useful error message.")]
TypeExtensions.cs (1)
31[UnconditionalSuppressMessage("Trimmer", "IL2057", Justification = "Unknown type names are rarely used by apps. Handle trimmed types by providing a useful error message.")]
TypeForwardingActivator.cs (1)
34[UnconditionalSuppressMessage("Trimmer", "IL2057", Justification = "Type.GetType is only used with forwarded types that are referenced by DataProtection assembly.")]
XmlEncryption\CertificateXmlEncryptor.cs (2)
80Justification = "This usage of EncryptedXml to encrypt an XElement using a X509Certificate2 does not use reflection.")] 82Justification = "This usage of EncryptedXml to encrypt an XElement using a X509Certificate2 does not use XSLTs.")]
XmlEncryption\EncryptedXmlDecryptor.cs (2)
54Justification = "The common algorithms are being preserved by the above DynamicDependency attributes.")] 56Justification = "Only XSLTs require dynamic code. The usage of EncryptedXml doesn't use XSLTs.")]
Microsoft.AspNetCore.DeveloperCertificates.XPlat (2)
src\Shared\CertificateGeneration\CertificateManager.cs (2)
911[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")] 957[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
Microsoft.AspNetCore.Diagnostics (4)
DeveloperExceptionPage\DeveloperExceptionPageMiddlewareImpl.cs (1)
190Justification = "The values being passed into Write have the commonly used properties being preserved with DynamicDependency.")]
ExceptionHandler\ExceptionHandlerMiddlewareImpl.cs (1)
239Justification = "The values being passed into Write have the commonly used properties being preserved with DynamicDependency.")]
src\Shared\StackTrace\StackFrame\StackTraceHelper.cs (2)
20[UnconditionalSuppressMessage("Trimmer", "IL2026", Justification = "MethodInfo for a stack frame might be incomplete or removed. GetFrames does the best it can to provide frame details.")] 195[UnconditionalSuppressMessage("Trimmer", "IL2075", Justification = "Unable to require a method has all information on it to resolve state machine.")]
Microsoft.AspNetCore.Diagnostics.HealthChecks (1)
Builder\HealthCheckEndpointRouteBuilderExtensions.cs (1)
54Justification = "MapHealthChecksCore only RequireUnreferencedCode if the RequestDelegate has a Task<T> return type which is not the case here.")]
Microsoft.AspNetCore.Hosting (13)
GenericHost\GenericWebHostBuilder.cs (3)
97[UnconditionalSuppressMessage("Trimmer", "IL2072", Justification = "Finding startup type in assembly requires unreferenced code. Surfaced to user in UseStartup(assemblyName).")] 200[UnconditionalSuppressMessage("Trimmer", "IL2072", Justification = "Startup type created by factory can't be determined statically.")] 280Justification = "There is a runtime check for ValueType startup container. It's unlikely anyone will use a ValueType here.")]
Internal\HostingApplicationDiagnostics.cs (1)
297Justification = "The values being passed into Write have the commonly used properties being preserved with DynamicDependency.")]
Internal\StartupLoader.cs (2)
68Justification = "There is a runtime check for ValueType startup container. It's unlikely anyone will use a ValueType here.")] 237[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "We're warning at the entry point. This is an implementation detail.")]
src\Shared\StackTrace\StackFrame\StackTraceHelper.cs (2)
20[UnconditionalSuppressMessage("Trimmer", "IL2026", Justification = "MethodInfo for a stack frame might be incomplete or removed. GetFrames does the best it can to provide frame details.")] 195[UnconditionalSuppressMessage("Trimmer", "IL2075", Justification = "Unable to require a method has all information on it to resolve state machine.")]
StaticWebAssets\StaticWebAssetsLoader.cs (1)
68Justification = "The code handles if the Assembly.Location is empty by calling AppContext.BaseDirectory. Workaround https://github.com/dotnet/runtime/issues/83607")]
WebHostBuilder.cs (3)
312[UnconditionalSuppressMessage("Trimmer", "IL2077", Justification = "Finding startup type in assembly requires unreferenced code. Surfaced to user in UseStartup(startupAssemblyName).")] 313[UnconditionalSuppressMessage("Trimmer", "IL2072", Justification = "Finding startup type in assembly requires unreferenced code. Surfaced to user in UseStartup(startupAssemblyName).")] 328[UnconditionalSuppressMessage("Trimmer", "IL2077", Justification = "Finding startup type in assembly requires unreferenced code. Surfaced to user in UseStartup(startupAssemblyName).")]
WebHostBuilderExtensions.cs (1)
109[UnconditionalSuppressMessage("Trimmer", "IL2072", Justification = "Startup type created by factory can't be determined statically.")]
Microsoft.AspNetCore.Http.Abstractions (4)
Routing\RouteValueDictionary.cs (3)
622Justification = "The constructor that would result in _propertyStorage being non-null is annotated with RequiresUnreferencedCodeAttribute. " + 667Justification = "The constructor that would result in _propertyStorage being non-null is annotated with RequiresUnreferencedCodeAttribute. " + 847Justification = "The constructor that would result in _propertyStorage being non-null is annotated with RequiresUnreferencedCodeAttribute. " +
src\Shared\ParameterDefaultValue\ParameterDefaultValue.cs (1)
86Justification = "CreateValueType is only called on a ValueType. You can always create an instance of a ValueType.")]
Microsoft.AspNetCore.Http.Extensions (7)
RequestDelegateFactory.cs (1)
1423Justification = "CreateValueType is only called on a ValueType. You can always create an instance of a ValueType.")]
src\Components\Endpoints\src\FormMapping\Factories\Collections\ConcreteTypeCollectionConverterFactory.cs (2)
14[UnconditionalSuppressMessage("Trimming", "IL2046", Justification = "This derived implementation doesn't require unreferenced code like other implementations of the interface.")] 15[UnconditionalSuppressMessage("AOT", "IL3051", Justification = "This derived implementation doesn't use dynamic code like other implementations of the interface.")]
src\Components\Endpoints\src\FormMapping\Factories\Dictionary\ConcreteTypeDictionaryConverterFactory.cs (2)
13[UnconditionalSuppressMessage("Trimming", "IL2046", Justification = "This derived implementation doesn't require unreferenced code like other implementations of the interface.")] 14[UnconditionalSuppressMessage("AOT", "IL3051", Justification = "This derived implementation doesn't use dynamic code like other implementations of the interface.")]
src\Shared\RouteHandlers\ExecuteHandlerHelper.cs (2)
37Justification = "The 'JsonSerializer.IsReflectionEnabledByDefault' feature switch, which is set to false by default for trimmed ASP.NET apps, ensures the JsonSerializer doesn't use Reflection.")] 38[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "See above.")]
Microsoft.AspNetCore.Http.Results (3)
HttpResultsHelper.cs (2)
23Justification = "The 'JsonSerializer.IsReflectionEnabledByDefault' feature switch, which is set to false by default for trimmed ASP.NET apps, ensures the JsonSerializer doesn't use Reflection.")] 24[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "See above.")]
ResultsOfTHelper.cs (1)
52Justification = "The call to MakeGenericMethod is safe due to the fact that PopulateMetadata<TTarget> does not have a DynamicallyAccessMembers attribute and TTarget is annotated to preserve all methods to preserve the PopulateMetadata method.")]
Microsoft.AspNetCore.Identity (4)
IdentityBuilderExtensions.cs (4)
27[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because user type is a reference type.")] 40[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because user type is a reference type.")] 54[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because user type is a reference type.")] 69[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because user type is a reference type.")]
Microsoft.AspNetCore.Mvc.Core (1)
src\Shared\ParameterDefaultValue\ParameterDefaultValue.cs (1)
86Justification = "CreateValueType is only called on a ValueType. You can always create an instance of a ValueType.")]
Microsoft.AspNetCore.OpenApi.Tests (4)
Shared\SharedTypes.cs (4)
188[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Used in tests.")] 192[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Used in tests.")] 199[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Used in tests.")] 203[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Used in tests.")]
Microsoft.AspNetCore.Routing (5)
EndpointRoutingMiddleware.cs (1)
150Justification = "The values being passed into Write are being consumed by the application already.")]
ParameterPolicyActivator.cs (2)
95[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2006:UnrecognizedReflectionPattern", Justification = "This type comes from the ConstraintMap.")] 96[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2070", Justification = "We ensure the constructor is preserved when the constraint map is added.")]
src\Shared\RouteHandlers\ExecuteHandlerHelper.cs (2)
37Justification = "The 'JsonSerializer.IsReflectionEnabledByDefault' feature switch, which is set to false by default for trimmed ASP.NET apps, ensures the JsonSerializer doesn't use Reflection.")] 38[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "See above.")]
Microsoft.AspNetCore.Server.IIS (2)
src\Shared\StackTrace\StackFrame\StackTraceHelper.cs (2)
20[UnconditionalSuppressMessage("Trimmer", "IL2026", Justification = "MethodInfo for a stack frame might be incomplete or removed. GetFrames does the best it can to provide frame details.")] 195[UnconditionalSuppressMessage("Trimmer", "IL2075", Justification = "Unable to require a method has all information on it to resolve state machine.")]
Microsoft.AspNetCore.Server.Kestrel.Core (5)
Internal\Http\HttpProtocol.cs (1)
1436Justification = "The values being passed into Write are being consumed by the application already.")]
Internal\Infrastructure\KestrelEventSource.cs (2)
204[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")] 382[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")]
src\Shared\CertificateGeneration\CertificateManager.cs (2)
911[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")] 957[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
Microsoft.AspNetCore.Shared.Tests (3)
src\Shared\ParameterDefaultValue\ParameterDefaultValue.cs (1)
86Justification = "CreateValueType is only called on a ValueType. You can always create an instance of a ValueType.")]
src\Shared\StackTrace\StackFrame\StackTraceHelper.cs (2)
20[UnconditionalSuppressMessage("Trimmer", "IL2026", Justification = "MethodInfo for a stack frame might be incomplete or removed. GetFrames does the best it can to provide frame details.")] 195[UnconditionalSuppressMessage("Trimmer", "IL2075", Justification = "Unable to require a method has all information on it to resolve state machine.")]
Microsoft.AspNetCore.SignalR.Client.Core (4)
HubConnection.cs (2)
873Justification = "The methods passed into here (SendStreamItems and SendIAsyncEnumerableStreamItems) don't have trimming annotations.")] 875Justification = "ValueTypes are handled without using MakeGenericMethod.")]
src\SignalR\common\Shared\ReflectionHelper.cs (2)
51Justification = "The 'IAsyncEnumerable<>' Type must exist and so trimmer kept it. In which case " + 74Justification = "The 'IAsyncEnumerator<>' Type must exist and so trimmer kept it. In which case " +
Microsoft.AspNetCore.SignalR.Core (10)
Internal\HubMethodDescriptor.cs (3)
223Justification = "The adapter methods passed into here (MakeAsyncEnumerator and MakeAsyncEnumeratorFromChannel) don't have trimming annotations.")] 251Justification = "The adapter methods passed into here (MakeAsyncEnumerator and MakeAsyncEnumeratorFromChannel) don't have trimming annotations.")] 253Justification = "ValueTypes are handled without using MakeGenericMethod.")]
Internal\TypedClientBuilder.cs (2)
74Justification = "interfaceType is annotated as preserve All members, so any Types returned from GetInterfaces will be preserved as well. https://github.com/mono/linker/issues/1731 tracks not emitting warnings here.")] 251Justification = "interfaceType is annotated as preserve All members, so any Types returned from GetInterfaces will be preserved as well. https://github.com/mono/linker/issues/1731 tracks not emitting warnings here.")]
SignalRDependencyInjectionExtensions.cs (1)
42Justification = "HubContext<,>'s ctor creates a HubClients<,> instance, which generates code dynamically. " +
src\SignalR\common\Shared\ReflectionHelper.cs (2)
51Justification = "The 'IAsyncEnumerable<>' Type must exist and so trimmer kept it. In which case " + 74Justification = "The 'IAsyncEnumerator<>' Type must exist and so trimmer kept it. In which case " +
StreamTracker.cs (2)
30Justification = "BuildStream doesn't have trimming annotations.")] 32Justification = "HubMethodDescriptor checks for ValueType streaming item types when PublishAot=true. Developers will get an exception in this situation before publishing.")]
Microsoft.AspNetCore.SignalR.Protocols.Json (4)
Protocol\JsonHubProtocol.cs (4)
915Justification = "The 'JsonSerializer.IsReflectionEnabledByDefault' feature switch, which is set to false by default for trimmed .NET apps, ensures the JsonSerializer doesn't use Reflection.")] 916[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "See above.")] 919[UnconditionalSuppressMessage("Trimming", "IL2026:RequiresUnreferencedCode", Justification = "See SerializeObject Justification above.")] 920[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "See above.")]
Microsoft.AspNetCore.SpaProxy (1)
SpaHostingStartup.cs (1)
33[UnconditionalSuppressMessageAttribute("Trimming", "IL2026", Justification = "Configuration object's public properties are preserved.")]
Microsoft.AspNetCore.SpaServices.Extensions (1)
Npm\NodeScriptRunner.cs (1)
79Justification = "The values being passed into Write have the commonly used properties being preserved with DynamicDependency.")]
Microsoft.AspNetCore.StaticFiles (4)
StaticFilesEndpointRouteBuilderExtensions.cs (4)
46Justification = "MapFallbackToFile RequireUnreferencedCode if the RequestDelegate has a Task<T> return type which is not the case here.")] 81Justification = "MapFallbackToFile RequireUnreferencedCode if the RequestDelegate has a Task<T> return type which is not the case here.")] 123Justification = "MapFallbackToFile RequireUnreferencedCode if the RequestDelegate has a Task<T> return type which is not the case here.")] 164Justification = "MapFallbackToFile RequireUnreferencedCode if the RequestDelegate has a Task<T> return type which is not the case.")]
Microsoft.CSharp (15)
Microsoft\CSharp\RuntimeBinder\Semantics\ExpressionBinder.cs (2)
335Justification = "Workarounds https://github.com/mono/linker/issues/1416. All usages are marked as unsafe.")] 341Justification = "Workarounds https://github.com/mono/linker/issues/1416. All usages are marked as unsafe.")]
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (11)
86Justification = "We can't annotate static constructors on structs, but everything else in this type is annotated.")] 123Justification = "We can't annotate static constructors on structs, but everything else in this type is annotated.")] 1800Justification = "All types used here are builtin and will not be trimmed.")] 1843Justification = "All types used here are builtin and will not be trimmed.")] 1896Justification = "All types used here are builtin and will not be trimmed.")] 1953Justification = "All types used here are builtin and will not be trimmed.")] 1979Justification = "All types used here are builtin and will not be trimmed.")] 2237Justification = "All types used here are builtin and will not be trimmed.")] 2263Justification = "All types used here are builtin and will not be trimmed.")] 2324Justification = "All types used here are builtin and will not be trimmed.")] 2342Justification = "All types used here are builtin and will not be trimmed.")]
Microsoft\CSharp\RuntimeBinder\Semantics\Types\AggregateType.cs (2)
141Justification = "Workarounds https://github.com/mono/linker/issues/1906. All usages are marked as unsafe.")] 146Justification = "Workarounds https://github.com/mono/linker/issues/1906. All usages are marked as unsafe.")]
Microsoft.Extensions.AI.Abstractions (4)
Utilities\AIJsonUtilities.Defaults.cs (2)
41[UnconditionalSuppressMessage("AotAnalysis", "IL3050", Justification = "DefaultJsonTypeInfoResolver is only used when reflection-based serialization is enabled")] 42[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026", Justification = "DefaultJsonTypeInfoResolver is only used when reflection-based serialization is enabled")]
Utilities\AIJsonUtilities.Schema.cs (2)
177Justification = "Pre STJ-9 schema extraction can fail with a runtime exception if certain reflection metadata have been trimmed. " + 450Justification = "Called conditionally on structs whose default ctor never gets trimmed.")]
Microsoft.Extensions.Compliance.Redaction (2)
HmacRedactorOptions.cs (1)
43Justification = "Validating the Length attribute on a string does not require reflection, it is handled intrinsically.")]
src\Shared\Data.Validation\LengthAttribute.cs (1)
93[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor is marked with RequiresUnreferencedCode.")]
Microsoft.Extensions.Configuration.Binder (1)
src\libraries\Common\src\Extensions\ParameterDefaultValue\ParameterDefaultValue.cs (1)
41Justification = "CreateValueType is only called on a ValueType. You can always create an instance of a ValueType.")]
Microsoft.Extensions.DependencyInjection (13)
DependencyInjectionEventSource.cs (3)
43Justification = "Parameters to this method are primitive and are trimmer safe.")] 81Justification = "Parameters to this method are primitive and are trimmer safe.")] 89Justification = "Parameters to this method are primitive and are trimmer safe.")]
ServiceLookup\CallSiteFactory.cs (2)
517Justification = "MakeGenericType here is used to create a closed generic implementation type given the closed service type. " + 521Justification = "When ServiceProvider.VerifyAotCompatibility is true, which it is by default when PublishAot=true, " +
ServiceLookup\CallSiteRuntimeResolver.cs (1)
177Justification = "VerifyAotCompatibility ensures elementType is not a ValueType")]
ServiceLookup\Expressions\ExpressionResolverBuilder.cs (2)
119Justification = "VerifyAotCompatibility ensures elementType is not a ValueType")] 128Justification = "VerifyAotCompatibility ensures elementType is not a ValueType")]
ServiceLookup\IEnumerableCallSite.cs (2)
25Justification = "When ServiceProvider.VerifyAotCompatibility is true, which it is by default when PublishAot=true, " + 30Justification = "When ServiceProvider.VerifyAotCompatibility is true, which it is by default when PublishAot=true, " +
ServiceLookup\ServiceLookupHelpers.cs (1)
39Justification = "Calling Array.Empty<T>() is safe since the T doesn't have trimming annotations.")]
ServiceProvider.cs (1)
300Justification = "CreateDynamicEngine won't be called when using NativeAOT.")] // see also https://github.com/dotnet/linker/issues/2715
src\libraries\Common\src\Extensions\ParameterDefaultValue\ParameterDefaultValue.cs (1)
41Justification = "CreateValueType is only called on a ValueType. You can always create an instance of a ValueType.")]
Microsoft.Extensions.DependencyInjection.Abstractions (1)
src\libraries\Common\src\Extensions\ParameterDefaultValue\ParameterDefaultValue.cs (1)
41Justification = "CreateValueType is only called on a ValueType. You can always create an instance of a ValueType.")]
Microsoft.Extensions.DependencyInjection.AutoActivation (2)
AutoActivationExtensions.cs (1)
83Justification = "When IsDynamicCodeSupported is not supported, DependencyInjection ensures IEnumerable service types are not a ValueType.")]
AutoActivationExtensions.Keyed.cs (1)
86Justification = "When IsDynamicCodeSupported is not supported, DependencyInjection ensures IEnumerable service types are not a ValueType.")]
Microsoft.Extensions.DependencyModel (1)
DependencyContext.cs (1)
16Justification = "The annotation should be on the static constructor but is Compiler Generated, annotating the caller Default method instead")]
Microsoft.Extensions.Diagnostics.HealthChecks (3)
DependencyInjection\HealthChecksBuilderAddCheckExtensions.cs (3)
129Justification = "DynamicallyAccessedMemberTypes.PublicConstructors is enforced by calling method.")] 219Justification = "DynamicallyAccessedMemberTypes.PublicConstructors is enforced by calling method.")] 257Justification = "DynamicallyAccessedMemberTypes.PublicConstructors is enforced by calling method.")]
Microsoft.Extensions.Diagnostics.Probes (1)
src\Shared\Data.Validation\LengthAttribute.cs (1)
93[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor is marked with RequiresUnreferencedCode.")]
Microsoft.Extensions.Diagnostics.ResourceMonitoring (1)
src\Shared\Data.Validation\LengthAttribute.cs (1)
93[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor is marked with RequiresUnreferencedCode.")]
Microsoft.Extensions.FileProviders.Embedded (2)
EmbeddedFileProvider.cs (1)
48Justification = "The code handles if the Assembly.Location is empty. Workaround https://github.com/dotnet/runtime/issues/83607")]
ManifestEmbeddedFileProvider.cs (1)
125Justification = "The code handles if the Assembly.Location is empty. Workaround https://github.com/dotnet/runtime/issues/83607")]
Microsoft.Extensions.Hosting (2)
HostBuilder.cs (1)
198Justification = "The values being passed into Write are being consumed by the application already.")]
HostingHostBuilderExtensions.cs (1)
261[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Calling IConfiguration.GetValue is safe when the T is bool.")]
Microsoft.Extensions.Http (2)
DependencyInjection\HttpClientBuilderExtensions.cs (2)
381Justification = "Workaround for https://github.com/mono/linker/issues/1416. Outer method has been annotated with DynamicallyAccessedMembers.")] 445Justification = "Workaround for https://github.com/mono/linker/issues/1416. Outer method has been annotated with DynamicallyAccessedMembers.")]
Microsoft.Extensions.Http.Resilience (1)
src\Shared\Data.Validation\LengthAttribute.cs (1)
93[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor is marked with RequiresUnreferencedCode.")]
Microsoft.Extensions.Identity.Core (11)
IdentityBuilder.cs (11)
86[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because UserType is a reference type.")] 95[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because UserType is a reference type.")] 115[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because UserType is a reference type.")] 124[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because UserType is a reference type.")] 143[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because UserType is a reference type.")] 173[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because UserType is a reference type.")] 194[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because UserType is a reference type.")] 209[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because RoleType is a reference type.")] 240[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because RoleType is a reference type.")] 255[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because RoleType is a reference type.")] 280[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because UserType is a reference type.")]
Microsoft.Extensions.Identity.Stores (2)
RoleStoreBase.cs (1)
123Justification = "TKey is annoated with RequiresUnreferencedCodeAttribute.All.")]
UserStoreBase.cs (1)
224Justification = "TKey is annoated with RequiresUnreferencedCodeAttribute.All.")]
Microsoft.Extensions.Logging.EventSource (7)
LoggingEventSource.cs (7)
139Justification = WriteEventCoreSuppressionJustification)] 190Justification = WriteEventDynamicDependencySuppressionJustification)] 220Justification = WriteEventDynamicDependencySuppressionJustification)] 231Justification = WriteEventCoreSuppressionJustification)] 254Justification = WriteEventCoreSuppressionJustification)] 308Justification = WriteEventCoreSuppressionJustification)] 334Justification = WriteEventCoreSuppressionJustification)]
Microsoft.Extensions.Options (2)
OptionsBuilderExtensions.cs (1)
15Justification = "Workaround for https://github.com/mono/linker/issues/1416. Outer method has been annotated with DynamicallyAccessedMembers.")]
OptionsServiceCollectionExtensions.cs (1)
190Justification = "This method only looks for interfaces referenced in its code. " +
Microsoft.Extensions.Options.DataAnnotations (1)
DataAnnotationValidateOptions.cs (1)
45Justification = "Suppressing the warnings on this method since the constructor of the type is annotated as RequiresUnreferencedCode.")]
Microsoft.Extensions.Telemetry (1)
src\Shared\Data.Validation\LengthAttribute.cs (1)
93[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor is marked with RequiresUnreferencedCode.")]
Microsoft.JSInterop (14)
Infrastructure\DotNetDispatcher.cs (8)
44[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to ensure return types of JSInvokable methods are retained.")] 74[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to ensure return types of JSInvokable methods are retained.")] 141[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to ensure return types of JSInvokable methods are retained.")] 214[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to ensure return types of JSInvokable methods are retained.")] 370Justification = "https://github.com/mono/linker/issues/1727")] 431[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026", Justification = "We expect application code is configured to ensure JSInvokable methods are retained. https://github.com/dotnet/aspnetcore/issues/29946")] 432[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2072", Justification = "We expect application code is configured to ensure JSInvokable methods are retained. https://github.com/dotnet/aspnetcore/issues/29946")] 433[UnconditionalSuppressMessage("Trimming", "IL2075", Justification = "We expect application code is configured to ensure JSInvokable methods are retained. https://github.com/dotnet/aspnetcore/issues/29946")]
Infrastructure\DotNetObjectReferenceJsonConverterFactory.cs (1)
24[UnconditionalSuppressMessage("Trimming", "IL2055", Justification = "We expect that types used with DotNetObjectReference are retained.")]
JSInProcessObjectReferenceExtensions.cs (1)
20[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The method returns void, so nothing is deserialized.")]
JSInProcessRuntimeExtensions.cs (1)
20[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The method returns void, so nothing is deserialized.")]
JSRuntime.cs (3)
123[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to ensure JS interop arguments are linker friendly.")] 268[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2072:RequiresUnreferencedCode", Justification = "We enforce trimmer attributes for JSON deserialized types on InvokeAsync.")] 269[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We enforce trimmer attributes for JSON deserialized types on InvokeAsync.")]
Microsoft.JSInterop.WebAssembly (1)
WebAssemblyJSRuntime.cs (1)
85[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "TODO: This should be in the xml suppressions file, but can't be because https://github.com/mono/linker/issues/2006")]
Microsoft.Maui (3)
Platform\WrapperView.cs (3)
8 [UnconditionalSuppressMessage("Memory", "MEM0002", Justification = "IShape is a non-NSObject in MAUI.")] 10 [UnconditionalSuppressMessage("Memory", "MEM0002", Justification = "IShadow is a non-NSObject in MAUI.")] 12 [UnconditionalSuppressMessage("Memory", "MEM0002", Justification = "IBorderStroke is a non-NSObject in MAUI.")]
Microsoft.Maui.Controls.Xaml (1)
MarkupExtensions\BindingExtension.cs (1)
41 Justification = "If this method is invoked, we have already produced warnings in XamlC " +
Microsoft.VisualBasic.Core (22)
Microsoft\VisualBasic\CompilerServices\ConversionResolution.vb (1)
125Justification:="This method only gets called in DEBUG mode.")>
Microsoft\VisualBasic\CompilerServices\IDOBinder.vb (15)
303Justification:=IDOBinder.SuppressionJustification)> 350Justification:=IDOBinder.SuppressionJustification)> 382Justification:=IDOBinder.SuppressionJustification)> 428Justification:=IDOBinder.SuppressionJustification)> 465Justification:=IDOBinder.SuppressionJustification)> 539Justification:=IDOBinder.SuppressionJustification)> 608Justification:=IDOBinder.SuppressionJustification)> 674Justification:=IDOBinder.SuppressionJustification)> 731Justification:=IDOBinder.SuppressionJustification)> 826Justification:=IDOBinder.SuppressionJustification)> 828Justification:=IDOBinder.SuppressionJustification)> 877Justification:=IDOBinder.SuppressionJustification)> 925Justification:=IDOBinder.SuppressionJustification)> 973Justification:=IDOBinder.SuppressionJustification)> 1046Justification:=IDOBinder.SuppressionJustification)>
Microsoft\VisualBasic\CompilerServices\Symbols.vb (2)
428Justification:="Calls GetInterfaces but only looks for existing interface type by reference equality. Trimmer guarantees that if the interface type is kept it is also kept on all the types which implement it.")> 445Justification:="Calls GetInterfaces but only looks for existing interface type by reference equality. Trimmer guarantees that if the interface type is kept it is also kept on all the types which implement it.")>
Microsoft\VisualBasic\CompilerServices\VB6File.vb (2)
108Justification:="The constructor of this interface implementation has been anotated.")> 230Justification:="The constructor of this interface implementation has been anotated.")>
Microsoft\VisualBasic\FileIO\SpecialDirectories.vb (2)
124Justification:="Trimmer warns because it can't see System.Windows.Forms.Application. If the assembly is there, the trimmer will be able to tell to preserve the method specified.")> 143Justification:="Trimmer warns because it can't see System.Windows.Forms.Application. If the assembly is there, the trimmer will be able to tell to preserve the method specified.")>
Sample (5)
Controllers\TestController.cs (1)
42[UnconditionalSuppressMessage("Trimming", "IL2026:RequiresUnreferencedCode", Justification = "MinLengthAttribute works without reflection on string properties.")]
src\OpenApi\test\Microsoft.AspNetCore.OpenApi.Tests\Shared\SharedTypes.cs (4)
188[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Used in tests.")] 192[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Used in tests.")] 199[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Used in tests.")] 203[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Used in tests.")]
Shared (1)
Data.Validation\LengthAttribute.cs (1)
93[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor is marked with RequiresUnreferencedCode.")]
System.Collections.Specialized (1)
System\Collections\Specialized\NameObjectCollectionBase.cs (1)
437Justification = "The API only works for reference type arguments and code for reference typed arrays is shareable.")]
System.ComponentModel.Annotations (8)
System\ComponentModel\DataAnnotations\AssociatedMetadataTypeTypeDescriptor.cs (1)
134Justification = "The cache is a dictionary which is hard to annotate. All values in the cache" +
System\ComponentModel\DataAnnotations\CompareAttribute.cs (1)
33Justification = "The ctor is marked with RequiresUnreferencedCode informing the caller to preserve the other property.")]
System\ComponentModel\DataAnnotations\LengthAttribute.cs (1)
48[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor is marked with RequiresUnreferencedCode.")]
System\ComponentModel\DataAnnotations\MaxLengthAttribute.cs (1)
65[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctors are marked with RequiresUnreferencedCode.")]
System\ComponentModel\DataAnnotations\MinLengthAttribute.cs (1)
48[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor is marked with RequiresUnreferencedCode.")]
System\ComponentModel\DataAnnotations\RangeAttribute.cs (1)
254Justification = "The ctor that allows this code to be called is marked with RequiresUnreferencedCode.")]
System\ComponentModel\DataAnnotations\ValidationAttributeStore.cs (1)
125Justification = "The parameter in the parent method has already been marked DynamicallyAccessedMemberTypes.All.")]
System\ComponentModel\DataAnnotations\ValidationContext.cs (1)
218[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Constructors that trigger this codepath are marked with RequiresUnreferencedCode. Constructor that takes the display name as an argument is trim-safe.")]
System.ComponentModel.Composition (1)
System\ComponentModel\Composition\Hosting\AssemblyCatalog.cs (1)
544Justification = "Setting a CodeBase is single file compatible")]
System.ComponentModel.TypeConverter (60)
System\ComponentModel\BindingList.cs (2)
198Justification = "BindingList ctor is marked with RequiresUnreferencedCode.")] 232Justification = "BindingList ctor is marked with RequiresUnreferencedCode.")]
System\ComponentModel\ComponentResourceManager.cs (1)
207Justification = "Calling method either has RequiresUnreferencedCode or has registered types.")]
System\ComponentModel\Container.cs (1)
27[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "No name is provided.")]
System\ComponentModel\CustomTypeDescriptor.cs (2)
109Justification = TypeDescriptionProvider.ForwardFromRegisteredMessage)] 233Justification = TypeDescriptionProvider.ForwardFromRegisteredMessage)]
System\ComponentModel\Design\DesigntimeLicenseContext.cs (1)
59Justification = "Suppressing the warning until gets fixed, see https://github.com/dotnet/runtime/issues/50821")]
System\ComponentModel\Design\PropertyTabAttribute.cs (2)
96Justification = "The APIs that specify _tabClassNames are either marked with DynamicallyAccessedMembers or RequiresUnreferencedCode.")] 98Justification = "The APIs that specify _tabClassNames are either marked with DynamicallyAccessedMembers or RequiresUnreferencedCode.")]
System\ComponentModel\Design\Serialization\MemberRelationshipService.cs (1)
120Justification = "GetComponentName is only used to create a nice exception message, and has a fallback when null is returned.")]
System\ComponentModel\EnumConverter.cs (3)
164[UnconditionalSuppressMessage("Trimming", "IL2075:", Justification = "Trimmer does not trim Enums")] 240[UnconditionalSuppressMessage("Trimming", "IL2067:", Justification = "Trimmer does not trim Enums")] 249[UnconditionalSuppressMessage("Trimming", "IL2070:", Justification = "Trimmer does not trim Enums")]
System\ComponentModel\ICustomTypeDescriptor.cs (2)
86Justification = TypeDescriptionProvider.ForwardFromRegisteredMessage)] 128Justification = TypeDescriptionProvider.ForwardFromRegisteredMessage)]
System\ComponentModel\LicFileLicenseProvider.cs (2)
45Justification = "Only used for when Location is non-empty")] 47Justification = "Location is checked for empty")]
System\ComponentModel\MemberDescriptor.cs (1)
383Justification = "This method only looks for public methods by hard-coding publicOnly=true")]
System\ComponentModel\PropertyDescriptor.cs (1)
120Justification = "GetTypeFromName() can be called on a registered type.")]
System\ComponentModel\ReflectEventDescriptor.cs (3)
106Justification = "componentClass is annotated as preserve All members, so it can call ReflectEventDescriptor ctor.")] 256Justification = "currentReflectType is in _componentClass's hierarchy. Since _componentClass is annotated with All, this means currentReflectType is annotated with All as well.")] 377Justification = "currentReflectType is in _componentClass's hierarchy. Since _componentClass is annotated with All, this means currentReflectType is annotated with All as well.")]
System\ComponentModel\ReflectPropertyDescriptor.cs (12)
247Justification = ComponentClassIsProtected)] 321Justification = ComponentClassIsProtected)] 323Justification = ComponentClassIsProtected)] 379Justification = ComponentClassIsProtected)] 409Justification = ComponentClassIsProtected)] 411Justification = ComponentClassIsProtected)] 413Justification = ComponentClassIsProtected)] 471Justification = ComponentClassIsProtected)] 698[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The DynamicDependency ensures the correct members are preserved.")] 744Justification = "ReflectPropertyDescriptor ctors are all marked as RequiresUnreferencedCode because PropertyType can't be annotated as 'All'.")] 746Justification = ComponentClassIsProtected)] 748Justification = ComponentClassIsProtected)]
System\ComponentModel\ReflectTypeDescriptionProvider.cs (7)
67Justification = "Removal of the attributes depends on the System.Runtime.InteropServices.BuiltInComInterop.IsSupported feature switch." + 71Justification = "The ComVisibleAttribute is marked for removal and it's referenced here. Since this array" + 193Justification = "IntrinsicTypeConverters is marked with RequiresUnreferencedCode. It is the only place that should call this.")] 551Justification = "Instance is verified at run-time to be registered.")] 1044Justification = "typeName is annotated with DynamicallyAccessedMembers, which will preserve the type. " + 1079Justification = "ReflectedTypeData is not being created here, just checking if was already created.")] 1421Justification = "ReflectedTypeData is not being created here, just checking if was already created.")]
System\ComponentModel\ReflectTypeDescriptionProvider.ReflectedTypeData.cs (7)
48Justification = "_type is annotated as preserve All members, so any Types returned from GetInterfaces should be preserved as well.")] 179Justification = "_type is annotated as preserve All members, so any Types returned from GetAttributes.")] 181Justification = "_type is annotated as preserve All members, so any Types returned from CreateInstance.")] 183Justification = "_type is annotated as preserve All members, so any Types returned from GetAttributes.")] 503Justification = "Before this method was called, the type was validated to be registered.")] 512Justification = "Trimming requires fully-qualified type names for strings annotated with DynamicallyAccessedMembers, so the call to _type.Assembly.GetType should be unreachable in an app without trim warnings.")] 514Justification = "Using the non-assembly qualified type name will still work.")]
System\ComponentModel\TrimSafeReflectionHelper.cs (1)
10Justification = "Class is only called with types are registered or protected with [DynamicallyAccessedMemberTypes].")]
System\ComponentModel\TypeConverter.cs (1)
373[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The DynamicDependency ensures the correct members are preserved.")]
System\ComponentModel\TypeDescriptionProvider.cs (1)
368Justification = TypeDescriptionProvider.ForwardFromRegisteredMessage)]
System\ComponentModel\TypeDescriptor.cs (9)
870Justification = "The callers of this method ensure getting the converter is trim compatible - i.e. the type is not Nullable<T>.")] 983Justification = "The type will be validated to see if it was registered.")] 3292[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The object is verified at run-time to be a registered type.")] 3388Justification = TypeDescriptionProvider.ForwardFromRegisteredMessage)] 3432[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor of this Type has RequiresUnreferencedCode.")] 3455[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor of this Type has RequiresUnreferencedCode.")] 3477[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor of this Type has RequiresUnreferencedCode.")] 3606[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor of this Type has RequiresUnreferencedCode.")] 3746[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor of this Type has RequiresUnreferencedCode.")]
System.Configuration.ConfigurationManager (3)
System\Configuration\ClientConfigPaths.cs (3)
33Justification = "Code handles single file case")] 35Justification = "Code handles single file case")] 239Justification = "Code handles single file case")]
System.Data.Common (42)
System\Data\ColumnTypeConverter.cs (1)
70Justification = "InstanceDescriptor calls GetType(string) on AssemblyQualifiedName of instance of type we already have in here.")]
System\Data\Common\DataAdapter.cs (1)
511Justification = "parentChapterValue is not used here")]
System\Data\Common\DbConnectionStringBuilder.cs (9)
16Justification = "The use of GetType preserves ICustomTypeDescriptor members with RequiresUnreferencedCode, but the GetType callsites either " 19Justification = "The use of GetType preserves implementation of ICustomTypeDescriptor members with RequiresUnreferencedCode, but the GetType callsites either " 398Justification = "The use of GetType preserves this member with RequiresUnreferencedCode, but the GetType callsites either " 427Justification = "The use of GetType preserves this member with RequiresUnreferencedCode, but the GetType callsites either " 537Justification = "The use of GetType preserves this member with RequiresUnreferencedCode, but the GetType callsites either " 588Justification = "The component type's class name is preserved because this class is marked with [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]")] 597Justification = "The component type's component name is preserved because this class is marked with [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]")] 606Justification = "The component type's attributes are preserved because this class is marked with [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]")] 642Justification = "The component type's events are preserved because this class is marked with [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]")]
System\Data\Common\DBSchemaRow.cs (1)
45Justification = "Filter expression is null.")]
System\Data\Common\SqlUDTStorage.cs (1)
41Justification = "The only callsite is marked with DynamicallyAccessedMembers. Workaround for https://github.com/mono/linker/issues/1981")]
System\Data\DataColumn.cs (4)
82Justification = "This is safe because type is string and expression is null.")] 92Justification = "This is safe because type is string and expression is null.")] 102Justification = "Expression is null and `dataType` is marked appropriately.")] 1863Justification = "User has already got warning when creating original column.")]
System\Data\DataRowExtensions.cs (1)
159Justification = "'NullableField<TElem> where TElem : struct' implies 'TElem : new()'. Nullable does not make use of new() so it is safe." +
System\Data\DataSet.cs (4)
253Justification = "CreateInstanceOfThisType's use of GetType uses only the parameterless constructor, but the annotations preserve all non-public constructors causing a warning for the serialization constructors. Those constructors won't be used here.")] 263Justification = "CreateInstanceOfThisType's use of GetType uses only the parameterless constructor, but the annotations preserve all non-public constructors causing a warning for the serialization constructors. Those constructors won't be used here.")] 309Justification = "Binary serialization is unsafe in general and is planned to be obsoleted. We do not want to mark interface or ctors of this class as unsafe as that would show many unnecessary warnings elsewhere.")] 311Justification = "Binary serialization is unsafe in general and is planned to be obsoleted. We do not want to mark interface or ctors of this class as unsafe as that would show many unnecessary warnings elsewhere.")]
System\Data\DataTable.cs (8)
196Justification = "CreateInstance's use of GetType uses only the parameterless constructor. Warnings are about serialization related constructors.")] 226Justification = "Binary serialization is unsafe in general and is planned to be obsoleted. We do not want to mark interface or ctors of this class as unsafe as that would show many unnecessary warnings elsewhere.")] 228Justification = "Binary serialization is unsafe in general and is planned to be obsoleted. We do not want to mark interface or ctors of this class as unsafe as that would show many unnecessary warnings elsewhere.")] 3529Justification = "Array.CreateInstance operates over a reference type making the call safe for AOT")] 4217Justification = "Filter expression is empty therefore this is safe.")] 4831Justification = "DataColumn with null expression and int data type is safe.")] 4880Justification = "Expression is null and potential problem with data type has already been reported when constructing parentKey")] 6722Justification = "https://github.com/mono/linker/issues/1187 Trimmer thinks this implements IXmlSerializable.GetSchema() and warns about not matching attributes.")]
System\Data\DataTableReader.cs (1)
723Justification = "The problem is Type.TypeInitializer which requires constructors on the Type instance." +
System\Data\DataView.cs (3)
570Justification = "Warning related to RowFilter has already been shown when RowFilter was delay set.")] 1107Justification = "Safe because filter is set to empty string.")] 1516Justification = "RowFilter is marked as unsafe because it can be used in DataExpression so that we only display warning when user is assigning an expression" +
System\Data\Filter\BinaryNode.cs (1)
141Justification = "Evaluating constant expression is safe.")]
System\Data\Filter\DataExpression.cs (3)
122Justification = "Constructors taking expression are marked as unsafe")] 167Justification = "Constructors taking expression are marked as unsafe")] 195Justification = "Constructors taking expression are marked as unsafe")]
System\Data\Filter\FunctionNode.cs (1)
250Justification = "Constant expressions are safe to be evaluated.")]
System\Data\Filter\UnaryNode.cs (1)
178Justification = "Evaluating constant expression is safe")]
System\Data\TypedTableBase.cs (1)
33Justification = "DataTable.CreateInstance's use of GetType uses only the parameterless constructor, not this serialization related constructor.")]
System\Data\xmlsaver.cs (1)
226[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The DynamicDependency ensures the correct members are preserved.")]
System.Diagnostics.DiagnosticSource (15)
System\Diagnostics\DiagnosticSourceEventSource.cs (9)
226Justification = "Arguments parameter is preserved by DynamicDependency")] 248Justification = "Arguments parameter is preserved by DynamicDependency")] 260Justification = "Arguments parameter is preserved by DynamicDependency")] 272Justification = "Arguments parameter is preserved by DynamicDependency")] 284Justification = "Arguments parameter is preserved by DynamicDependency")] 296Justification = "Arguments parameter is preserved by DynamicDependency")] 308Justification = "Arguments parameter is preserved by DynamicDependency")] 333Justification = "Arguments parameter is preserved by DynamicDependency")] 346Justification = "Arguments parameter is preserved by DynamicDependency")]
System\Diagnostics\DsesActivitySourceListener.cs (2)
171Justification = "Activity's properties are being preserved with the DynamicDependencies on OnActivityStarted.")] 182Justification = "Activity's properties are being preserved with the DynamicDependencies on OnActivityStarted.")]
System\Diagnostics\DsesFilterAndTransform.cs (3)
531Justification = "DiagnosticSource.Write is marked with RequiresUnreferencedCode.")] 801Justification = "MakeGenericType is only called when IsDynamicCodeSupported is true or only with ref types.")] 817Justification = "MakeGenericType is only called when IsDynamicCodeSupported is true or only with ref types.")]
System\Diagnostics\Metrics\AggregationManager.cs (1)
355Justification = "MakeGenericType is creating instances over reference types that works fine in AOT.")]
System.IO.IsolatedStorage (1)
System\IO\IsolatedStorage\Helper.cs (1)
87Justification = "Code handles single-file deployment by using the information of the .exe file")]
System.Linq.Expressions (33)
System\Dynamic\DynamicObject.cs (1)
813Justification = "This is looking if the method is overridden on an instantiated type. An overridden method will never be trimmed if the virtual method exists.")]
System\Dynamic\Utils\DelegateHelpers.cs (1)
126Justification = "The above ActionThunk and FuncThunk methods don't have trimming annotations.")]
System\Dynamic\Utils\TypeUtils.cs (7)
269Justification = "The targetType must be preserved (since we have an instance of it here)," + 686Justification = "The trimmer doesn't remove operators when System.Linq.Expressions is used. See https://github.com/mono/linker/pull/2125.")] 893Justification = "The trimmer doesn't remove operators when System.Linq.Expressions is used. See https://github.com/mono/linker/pull/2125.")] 966Justification = "The trimmer will never remove the Invoke method from delegates.")] 1007Justification = "The Array 'Get' method is dynamically constructed and is not included in IL. It is not subject to trimming.")] 1015Justification = "The Array 'Set' method is dynamically constructed and is not included in IL. It is not subject to trimming.")] 1023Justification = "The Array 'Address' method is dynamically constructed and is not included in IL. It is not subject to trimming.")]
System\Linq\Expressions\BinaryExpression.cs (4)
439Justification = "The method will be preserved by the DynamicDependency.")] 441Justification = "GetValueOrDefault is not generic and therefore MakeGenericMethod will not be called")] 449Justification = "The property will be preserved by the DynamicDependency.")] 716Justification = "The trimmer doesn't remove operators when System.Linq.Expressions is used. See https://github.com/mono/linker/pull/2125.")]
System\Linq\Expressions\Compiler\AssemblyGen.cs (2)
63Justification = "MulticastDelegate has a ctor with RequiresUnreferencedCode, but the generated derived type doesn't reference this ctor, so this is trim compatible.")] 65Justification = "MulticastDelegate and Delegate have multiple methods with DynamicallyAccessedMembers annotations. But the generated code" +
System\Linq\Expressions\Compiler\ILGen.cs (1)
949Justification = "The Array ctor is dynamically constructed and is not included in IL. It is not subject to trimming.")]
System\Linq\Expressions\Compiler\LambdaCompiler.Statements.cs (1)
754Justification = "The method will be preserved by the DynamicDependency.")]
System\Linq\Expressions\Compiler\StackSpiller.cs (1)
466Justification = "A NewArrayExpression has already been created. The original creator will get a warning that it is not trim compatible.")]
System\Linq\Expressions\DynamicExpression.cs (1)
40Justification = "The field will be preserved by the DynamicDependency")]
System\Linq\Expressions\ExpressionStringBuilder.cs (1)
779Justification = "The 'ToString' method cannot be trimmed on any Expression type because we are calling Expression.ToString() in this method.")]
System\Linq\Expressions\Interpreter\DefaultValueInstruction.cs (1)
27Justification = "_type is a ValueType. You can always get an uninitialized ValueType.")]
System\Linq\Expressions\Interpreter\LightCompiler.cs (1)
2513Justification = "NewArrayExpression has RequiresDynamicCode, so the only way to get here is by already "
System\Linq\Expressions\Interpreter\LocalAccess.cs (2)
383Justification = "_type is a ValueType. You can always get an uninitialized ValueType.")] 422Justification = "_type is a ValueType. You can always get an uninitialized ValueType.")]
System\Linq\Expressions\Interpreter\TypeOperations.cs (1)
160Justification = "_defaultValueType is a ValueType. You can always get an uninitialized ValueType.")]
System\Linq\Expressions\LambdaExpression.cs (1)
611Justification = "MakeGenericType is only used for a Type that should be a delegate type, which are always reference types.")]
System\Linq\Expressions\MemberExpression.cs (1)
333Justification = "Since the methods are already supplied, they won't be trimmed. Just checking for method equality.")]
System\Linq\Expressions\NewArrayExpression.cs (1)
182Justification = "Creating object arrays should always be possible, as it is fundamental to the runtime.")]
System\Linq\Expressions\NewExpression.cs (1)
84Justification = "A NewExpression has already been created. The original creator will get a warning that it is not trim compatible.")]
System\Linq\Expressions\UnaryExpression.cs (1)
356Justification = "The trimmer doesn't remove operators when System.Linq.Expressions is used. See https://github.com/mono/linker/pull/2125.")]
System\Linq\Expressions\Utils.cs (1)
60Justification = "The field will be preserved by the DynamicDependency")]
System\Runtime\CompilerServices\CallSite.cs (2)
86Justification = "MakeGenericType is only used for a Type that should be a delegate type, which are always reference types.")] 300Justification = "UpdateDelegates methods don't have ILLink annotations.")]
System.Linq.Queryable (1)
System\Linq\TypeHelper.cs (1)
11Justification = "GetInterfaces is only called if 'definition' is interface type. " +
System.Net.Http (8)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
System\Net\Http\DiagnosticsHandler.cs (1)
360Justification = "The values being passed into Write have the commonly used properties being preserved with DynamicDependency.")]
System\Net\Http\HttpTelemetry.cs (4)
238Justification = "Parameters to this method are primitive and are trimmer safe")] 294Justification = "Parameters to this method are primitive and are trimmer safe")] 321Justification = "Parameters to this method are primitive and are trimmer safe")] 348Justification = "Parameters to this method are primitive and are trimmer safe")]
System\Net\Http\NetEventSource.Http.cs (1)
78Justification = EventSourceSuppressMessage)]
System.Net.HttpListener (3)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.DumpBuffer.cs (1)
42Justification = EventSourceSuppressMessage)]
System.Net.Mail (2)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
System.Net.NameResolution (1)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
System.Net.Primitives (1)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
System.Net.Quic (2)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
System\Net\Quic\Internal\MsQuicApi.cs (1)
75Justification = "The code handles the Assembly.Location being null/empty by falling back to AppContext.BaseDirectory")]
System.Net.Requests (2)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
System.Net.Security (5)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.DumpBuffer.cs (1)
42Justification = EventSourceSuppressMessage)]
System\Net\Security\NetEventSource.Security.cs (1)
287Justification = EventSourceSuppressMessage)]
System\Net\Security\NetSecurityTelemetry.cs (2)
257Justification = EventSourceSuppressMessage)] 284Justification = EventSourceSuppressMessage)]
System.Net.Sockets (2)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.DumpBuffer.cs (1)
42Justification = EventSourceSuppressMessage)]
System.Net.WebSockets (4)
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
193Justification = EventSourceSuppressMessage)]
System\Net\WebSockets\NetEventSource.WebSockets.cs (2)
206Justification = EventSourceSuppressMessage)] 237Justification = EventSourceSuppressMessage)]
System.Private.CoreLib (144)
src\libraries\System.Private.CoreLib\src\Internal\Runtime\InteropServices\ComponentActivator.cs (2)
135Justification = "The same feature switch applies to GetFunctionPointer and this function. We rely on the warning from GetFunctionPointer.")] 213Justification = "The same feature switch applies to GetFunctionPointer and this function. We rely on the warning from GetFunctionPointer.")]
src\libraries\System.Private.CoreLib\src\System\Activator.RuntimeType.cs (2)
104Justification = "Implementation detail of Activator that linker intrinsically recognizes")] 106Justification = "Implementation detail of Activator that linker intrinsically recognizes")]
src\libraries\System.Private.CoreLib\src\System\AppContext.AnyOS.cs (1)
17Justification = "Single File apps should always set APP_CONTEXT_BASE_DIRECTORY therefore code handles Assembly.Location equals null")]
src\libraries\System.Private.CoreLib\src\System\Array.cs (2)
86Justification = "MDArrays of Rank != 1 can be created because they don't implement generic interfaces.")] 102Justification = "MDArrays of Rank != 1 can be created because they don't implement generic interfaces.")]
src\libraries\System.Private.CoreLib\src\System\Attribute.cs (2)
20Justification = "Unused fields don't make a difference for equality")] 54Justification = "Unused fields don't make a difference for hashcode quality")]
src\libraries\System.Private.CoreLib\src\System\Buffers\ArrayPoolEventSource.cs (3)
52Justification = EventSourceSuppressMessage)] 78Justification = EventSourceSuppressMessage)] 127Justification = EventSourceSuppressMessage)]
src\libraries\System.Private.CoreLib\src\System\DefaultBinder.cs (1)
30Justification = "AOT compiler ensures params arrays are created for reflection-invokable methods")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Contracts\Contracts.cs (1)
617Justification = "StackFrame.GetMethod is only used to help diagnosing incorrect use of contracts. " +
src\libraries\System.Private.CoreLib\src\System\Diagnostics\DiagnosticMethodInfo.cs (1)
68Justification = "IL-level trimming doesn't remove method name and owning type information; this implementation is not used with native AOT trimming")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\StackFrameExtensions.cs (1)
17Justification = "StackFrame.GetMethod is used to establish if method is available.")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\StackTrace.cs (2)
215Justification = "ToString is best effort when it comes to available information.")] 449Justification = "Using Reflection to find the state machine's corresponding method is safe because the corresponding method is the only " +
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\EventCounter.cs (1)
93Justification = "The DynamicDependency will preserve the properties of CounterPayload")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\EventSource.cs (31)
418Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 441Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 829Justification = EventSourceSuppressMessage)] 837Justification = EventSourceSuppressMessage)] 851Justification = EventSourceSuppressMessage)] 868Justification = EventSourceSuppressMessage)] 889Justification = EventSourceSuppressMessage)] 903Justification = EventSourceSuppressMessage)] 920Justification = EventSourceSuppressMessage)] 941Justification = EventSourceSuppressMessage)] 959Justification = EventSourceSuppressMessage)] 982Justification = EventSourceSuppressMessage)] 1011Justification = EventSourceSuppressMessage)] 1032Justification = EventSourceSuppressMessage)] 1057Justification = EventSourceSuppressMessage)] 1079Justification = EventSourceSuppressMessage)] 1101Justification = EventSourceSuppressMessage)] 1122Justification = EventSourceSuppressMessage)] 1157Justification = EventSourceSuppressMessage)] 1331Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 1366Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 1459Justification = EventSourceSuppressMessage)] 1482Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 1499Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 1972Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 2082Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 2237Justification = "The call to TraceLoggingEventTypes with the below parameter values are trim safe")] 3010Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 3129Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 3691Justification = "The method calls MethodBase.GetMethodBody. Trimming application can change IL of various methods" + 5712Justification = "Trimmer does not trim enums")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\FrameworkEventSource.cs (2)
39Justification = EventSourceSuppressMessage)] 74Justification = EventSourceSuppressMessage)]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\IncrementingEventCounter.cs (1)
52Justification = "The DynamicDependency will preserve the properties of IncrementingCounterPayload")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\IncrementingPollingCounter.cs (1)
65Justification = "The DynamicDependency will preserve the properties of IncrementingCounterPayload")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\PollingCounter.cs (1)
43Justification = "The DynamicDependency will preserve the properties of CounterPayload")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\TraceLogging\PropertyValue.cs (2)
192Justification = "Instantiation over a reference type. See comments above.")] 204Justification = "Instantiation over a reference type. See comments above.")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\TraceLogging\SimpleTypeInfos.cs (1)
334Justification = "The underlying type of Nullable<T> must be defaultable")]
src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\TraceLogging\TraceLoggingEventSource.cs (6)
85Justification = EventSourceSuppressMessage)] 107Justification = EventSourceSuppressMessage)] 138Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 178Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 220Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 269Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " +
src\libraries\System.Private.CoreLib\src\System\Exception.cs (1)
97Justification = "The API will return <unknown> if the metadata for current method cannot be established.")]
src\libraries\System.Private.CoreLib\src\System\Reflection\Assembly.cs (1)
304Justification = "The assembly is loaded by specifying a path outside of the single-file bundle, the location of the path will not be empty if the path exist, otherwise it will be handled as null")]
src\libraries\System.Private.CoreLib\src\System\Reflection\Emit\MethodOnTypeBuilderInstantiation.cs (1)
32Justification = "Reflection.Emit is not subject to trimming")]
src\libraries\System.Private.CoreLib\src\System\Reflection\Emit\TypeBuilder.cs (3)
326Justification = "MakeGenericType is only called on a TypeBuilder which is not subject to trimming")] 373Justification = "MakeGenericType is only called on a TypeBuilder which is not subject to trimming")] 406Justification = "MakeGenericType is only called on a TypeBuilder which is not subject to trimming")]
src\libraries\System.Private.CoreLib\src\System\Reflection\Emit\TypeBuilderInstantiation.cs (1)
111Justification = "The entire TypeBuilderInstantiation is serving the MakeGenericType implementation. " +
src\libraries\System.Private.CoreLib\src\System\Reflection\SignatureTypeExtensions.cs (4)
108Justification = "Used to find matching method overloads. Only used for assignability checks.")] 110Justification = "Used to find matching method overloads. Only used for assignability checks.")] 164Justification = "Used to find matching method overloads. Only used for assignability checks.")] 178Justification = "Used to find matching method overloads. Only used for assignability checks.")]
src\libraries\System.Private.CoreLib\src\System\Reflection\TypeInfo.cs (2)
43Justification = "The yield return state machine doesn't propagate annotations")] 89Justification = "The yield return state machine doesn't propagate annotations")]
src\libraries\System.Private.CoreLib\src\System\Reflection\TypeNameResolver.cs (3)
33Justification = "Used to implement resolving types from strings.")] 99Justification = "Used to implement resolving types from strings.")] 101Justification = "Used to implement resolving types from strings.")]
src\libraries\System.Private.CoreLib\src\System\Resources\ResourceReader.Core.cs (2)
61Justification = "InitializeBinaryFormatter will get trimmed out when AllowCustomResourceTypes is set to false. " + 65Justification = "InitializeBinaryFormatter will get trimmed out when AllowCustomResourceTypes is set to false. " +
src\libraries\System.Private.CoreLib\src\System\Resources\ResourceReader.cs (1)
979Justification = "UseReflectionToGetType will get trimmed out when AllowCustomResourceTypes is set to false. " +
src\libraries\System.Private.CoreLib\src\System\Runtime\CompilerServices\AsyncMethodBuilderCore.cs (1)
88Justification = "It's okay if unused fields disappear from debug views")]
src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\Marshal.cs (4)
530Justification = "This only needs to prelink methods that are actually used")] 544Justification = "AOT compilers can see the T.")] 626Justification = "AOT compilers can see the T.")] 1148Justification = "AOT compilers can see the T.")]
src\libraries\System.Private.CoreLib\src\System\Runtime\Loader\AssemblyLoadContext.cs (4)
615Justification = "The code handles the Assembly.Location equals null")] 712Justification = "The code handles the Assembly.Location equals null")] 743Justification = "Satellite assemblies have no code in them and loading is not a problem")] 745Justification = "This call is fine because native call runs before this and checks BindSatelliteResourceFromBundle")]
src\libraries\System.Private.CoreLib\src\System\RuntimeType.cs (4)
453Justification = $"MemberTypes.Field is satisfied by ({nameof(InvokeMemberMembers)}) on this method")] 570Justification = $"MemberTypes.Method is satisfied by ({nameof(InvokeMemberMembers)}) on this method")] 611Justification = $"MemberTypes.Property is satisfied by ({nameof(InvokeMemberMembers)}) on this method")] 903Justification = "AllocateValueType is only called on a ValueType. You can always create an instance of a ValueType.")]
src\libraries\System.Private.CoreLib\src\System\StartupHookProvider.cs (1)
72Justification = "An ILLink warning when trimming an app with System.StartupHookProvider.IsSupported=true already exists for ProcessStartupHooks.")]
src\libraries\System.Private.CoreLib\src\System\Threading\Tasks\TplEventSource.cs (6)
188Justification = EventSourceSuppressMessage)] 260Justification = EventSourceSuppressMessage)] 305Justification = EventSourceSuppressMessage)] 398Justification = EventSourceSuppressMessage)] 431Justification = EventSourceSuppressMessage)] 485Justification = EventSourceSuppressMessage)]
src\libraries\System.Private.CoreLib\src\System\Type.cs (3)
270Justification = "This is finding the MemberInfo with the same MetadataToken as specified MemberInfo. If the specified MemberInfo " + 423Justification = "Linker doesn't recognize GetPropertyImpl(BindingFlags.Public) but this is what the body is doing")] 606Justification = "The single instance field on enum types is never trimmed")]
src\libraries\System.Private.CoreLib\src\System\Type.Enum.cs (1)
107Justification = "Literal fields on enums can never be trimmed")]
src\libraries\System.Private.CoreLib\src\System\Type.Helpers.cs (1)
374Justification = "The GetInterfaces technically requires all interfaces to be preserved" +
src\System\Attribute.CoreCLR.cs (2)
84Justification = "rtPropAccessor.DeclaringType is guaranteed to have the specified property because " + 158Justification = "rtAdd.DeclaringType is guaranteed to have the specified event because " +
src\System\Delegate.CoreCLR.cs (1)
410Justification = "The parameter 'methodType' is passed by ref to QCallTypeHandle")]
src\System\Reflection\Associates.cs (1)
36Justification = "Module.ResolveMethod is marked as RequiresUnreferencedCode because it relies on tokens" +
src\System\Reflection\Emit\RuntimeEnumBuilder.cs (1)
298Justification = "Reflection.Emit is not subject to trimming")]
src\System\Reflection\Emit\RuntimeModuleBuilder.cs (1)
388Justification = "Module.ResolveMethod is marked as RequiresUnreferencedCode because it relies on tokens " +
src\System\Reflection\Emit\RuntimeTypeBuilder.cs (9)
838Justification = "The GetInterfaces technically requires all interfaces to be preserved" + 1085Justification = "Reflection.Emit is not subject to trimming")] 1202Justification = "Reflection.Emit is not subject to trimming")] 1233Justification = "MakeGenericType is only called on a TypeBuilderInstantiation which is not subject to trimming")] 1235Justification = "GetConstructor is only called on a TypeBuilderInstantiation which is not subject to trimming")] 1301Justification = "Reflection.Emit is not subject to trimming")] 1488Justification = "Reflection.Emit is not subject to trimming")] 1490Justification = "Reflection.Emit is not subject to trimming")] 1492Justification = "Reflection.Emit is not subject to trimming")]
src\System\Reflection\Metadata\RuntimeTypeMetadataUpdateHandler.cs (1)
16[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Clearing the caches on a Type isn't affected if a Type is trimmed, or has any of its members trimmed.")]
src\System\Reflection\RuntimeConstructorInfo.CoreCLR.cs (1)
203Justification = "This ConstructorInfo instance represents the static constructor itself, so if this object was created, the static constructor exists.")]
src\System\Reflection\RuntimeCustomAttributeData.cs (6)
246Justification = "Property setters and fields which are accessed by any attribute instantiation which is present in the code linker has analyzed." + 250Justification = "We're getting a MethodBase of a constructor that we found in the metadata. The attribute constructor won't be trimmed.")] 396Justification = "The pca object had to be created by the single ctor on the Type. So the ctor couldn't have been trimmed.")] 1485Justification = "Linker guarantees presence of all the constructor parameters, property setters and fields which are accessed by any " + 1614Justification = "Module.ResolveMethod and Module.ResolveType are marked as RequiresUnreferencedCode because they rely on tokens" + 1761Justification = "Module.ResolveType is marked as RequiresUnreferencedCode because it relies on tokens" +
src\System\Reflection\RuntimeExceptionHandlingClause.cs (1)
43Justification = "Module.ResolveType is marked as RequiresUnreferencedCode because it relies on tokens" +
src\System\Reflection\TypeNameResolver.CoreCLR.cs (2)
190Justification = "TypeNameResolver.GetType is marked as RequiresUnreferencedCode.")] 192Justification = "TypeNameResolver.GetType is marked as RequiresUnreferencedCode.")]
src\System\Runtime\InteropServices\Marshal.CoreCLR.cs (1)
39Justification = "Trimming doesn't affect types eligible for marshalling. Different exception for invalid inputs doesn't matter.")]
src\System\RuntimeHandles.cs (2)
224Justification = "The parameter 'type' is passed by ref to QCallTypeHandle which only instantiates" + 247Justification = "The parameter 'type' is passed by ref to QCallTypeHandle which only instantiates" +
src\System\RuntimeType.CoreCLR.cs (6)
793Justification = "Calls to GetInterfaces technically require all interfaces on ReflectedType" + 986Justification = "Calls to GetInterfaces technically require all interfaces on ReflectedType" + 1060Justification = "Calls to ResolveTypeHandle technically require all types to be kept " + 1790Justification = "The code in this method looks up the method by name, but it always starts with a method handle." + 2959Justification = "Trimming makes sure that interfaces are fully preserved, so the Interfaces annotation is transitive." + 3943Justification = "Implementation detail of Activator that linker intrinsically recognizes")]
src\System\ValueType.cs (1)
26Justification = "Trimmed fields don't make a difference for equality")]
System.Private.DataContractSerialization (16)
System\Runtime\Serialization\AccessorBuilder.cs (3)
31Justification = "The call to MakeGenericMethod is safe due to the fact that we are preserving the constructors of type which is what Make() is doing.")] 41Justification = "The call to MakeGenericMethod is safe due to the fact that FastInvokerBuilder.CreateGetterInternal<T, T1> is not annotated.")] 96Justification = "The call to MakeGenericMethod is safe due to the fact that FastInvokerBuilder.CreateSetterInternal<T, T1> is not annotated.")]
System\Runtime\Serialization\ClassDataContract.cs (3)
158Justification = "Fields cannot be annotated, annotating the use instead")] 1382Justification = "All ctor's required to create an instance of this type are marked with RequiresDynamicCode.")] 1384Justification = "All ctor's required to create an instance of this type are marked with RequiresUnreferencedCode.")]
System\Runtime\Serialization\CodeGenerator.cs (1)
88Justification = "The trimmer will never remove the Invoke method from delegates.")]
System\Runtime\Serialization\CollectionDataContract.cs (5)
786Justification = "The call to MakeGenericMethod is safe due to the fact that CollectionDataContractCriticalHelper.BuildIncrementCollectionCountDelegate<T> is not annotated.")] 792Justification = "The call to MakeGenericMethod is safe due to the fact that CollectionDataContractCriticalHelper.BuildIncrementCollectionCountDelegate<T> is not annotated.")] 835Justification = "The call to MakeGenericMethod is safe due to the fact that CollectionDataContractCriticalHelper.BuildCreateGenericDictionaryEnumerator<K,V> is not annotated.")] 1533Justification = "All ctor's required to create an instance of this type are marked with RequiresDynamicCode.")] 1535Justification = "All ctor's required to create an instance of this type are marked with RequiresUnreferencedCode.")]
System\Runtime\Serialization\PrimitiveDataContract.cs (2)
373Justification = "This warns because the call to Base has the type annotated with DynamicallyAccessedMembers so it warns" + 377Justification = "This warns because the call to Base has the type annotated with DynamicallyAccessedMembers so it warns" +
System\Runtime\Serialization\ReflectionReader.cs (1)
620Justification = "The call to MakeGenericMethod is safe due to the fact that ObjectToKeyValuePairGetKey and ObjectToKeyValuePairGetValue are not annotated.")]
System\Runtime\Serialization\XmlFormatGeneratorStatics.cs (1)
773Justification = "The call to MakeGenericMethod is safe due to the fact that XmlObjectSerializerWriteContext.GetDefaultValue is not annotated.")]
System.Private.Windows.Core (2)
System\Private\Windows\BinaryFormat\Deserializer\Deserializer.cs (1)
302Justification = "The type is already in the cache of the TypeResolver, no need to mark this one again.")]
System\Private\Windows\BinaryFormat\SerializationEvents.cs (1)
30Justification = "The Type is annotated correctly, it just can't pass through the lambda method.")]
System.Private.Xml (17)
System\Xml\Schema\XmlSchemaValidator.cs (2)
967[UnconditionalSuppressMessage("AotAnalysis", "IL3050", Justification = "ToArray is called for known reference types only.")] 1010[UnconditionalSuppressMessage("AotAnalysis", "IL3050", Justification = "ToArray is called for known reference types only.")]
System\Xml\Serialization\CodeGenerator.cs (1)
57Justification = "Debug only code, we don't ship debug binaries.")]
System\Xml\Serialization\Compilation.cs (2)
136Justification = "Annotating this as dangerous will make the core of the serializer to be marked as not safe, instead " + 225Justification = "Annotating this as dangerous will make the core of the serializer to be marked as not safe, instead " +
System\Xml\Serialization\XmlSerializationWriter.cs (1)
87[UnconditionalSuppressMessage("AotAnalysis", "IL3050", Justification = "ToArray is called for known reference types only.")]
System\Xml\Serialization\XmlSerializer.cs (1)
664Justification = "Code is used on diagnostics so we fallback to print assembly.FullName if assembly.Location is empty")]
System\Xml\Xsl\IlGen\GenerateHelper.cs (1)
310Justification = "Suppressing warning about not having the RequiresUnreferencedCode attribute since this code path " +
System\Xml\Xsl\IlGen\XmlIlVisitor.cs (1)
3605Justification = "Suppressing warning about not having the RequiresUnreferencedCode attribute since we added " +
System\Xml\Xsl\Runtime\XmlQueryContext.cs (1)
226Justification = XsltArgumentList.ExtensionObjectSuppresion)]
System\Xml\Xsl\Runtime\XsltLibrary.cs (1)
64Justification = "Suppressing warning about not having the RequiresUnreferencedCode attribute since this code path " +
System\Xml\Xsl\XmlIlGenerator.cs (1)
75Justification = "This method will generate the IL methods using RefEmit at runtime, which will then try to call them " +
System\Xml\Xsl\Xslt\QilGeneratorEnv.cs (1)
99Justification = "Suppressing the warning for the ResolveFunction call on the Scripts since " +
System\Xml\Xsl\Xslt\Scripts.cs (1)
56Justification = "The getter of the dictionary is not annotated to preserve the constructor, but the sources that are adding the items to " +
System\Xml\Xsl\Xslt\XslAstAnalyzer.cs (1)
1057Justification = "Suppressing warning about not having the RequiresUnreferencedCode attribute since xsl Scripts are " +
System\Xml\Xsl\XsltOld\Processor.cs (1)
252Justification = XsltArgumentList.ExtensionObjectSuppresion)]
System\Xml\Xsl\XsltOld\XsltCompileContext.cs (1)
186Justification = XsltArgumentList.ExtensionObjectSuppresion)]
System.Reflection.DispatchProxy (2)
System\Reflection\DispatchProxyGenerator.cs (2)
56Justification = "MakeGenericMethod is safe here because the user code invoking the generic method will reference " + 213Justification = "Only the parameterless ctor is referenced on proxyBaseType. Other members can be trimmed if unused.")]
System.Reflection.Emit (10)
System\Reflection\Emit\ModuleBuilderImpl.cs (4)
56[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Types are preserved via s_coreTypes")] 77[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Types are preserved via s_coreTypes")] 727[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2055:RequiresDynamicCode", Justification = "Test")] 728[UnconditionalSuppressMessage("ReflectionAnalysis", "IL3050:RequiresUnreferencedCode", Justification = "Test")]
System\Reflection\Emit\TypeBuilderImpl.cs (6)
98[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2083:DynamicallyAccessedMembers", Justification = "Not sure how to handle warning on 'this'")] 209Justification = "GetConstructor is only called on a TypeBuilderInstantiation which is not subject to trimming")] 441[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2072:DynamicallyAccessedMembers", Justification = "The members of 'ValueType' are not referenced in this context")] 558Justification = "System.Object type is preserved via ModulBuilderImpl.s_coreTypes")] 1258[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2085:DynamicallyAccessedMembers", Justification = "Methods are loaded from this TypeBuilder")] 1369Justification = "The GetInterfaces technically requires all interfaces to be preserved" +
System.Reflection.MetadataLoadContext (5)
System\Reflection\TypeLoading\Assemblies\Ecma\EcmaAssembly.ManifestResources.cs (1)
60Justification = "ResourceLocation should never be ContainedInAnotherAssembly if embedded in a single-file")]
System\Reflection\TypeLoading\Assemblies\Ecma\EcmaAssembly.Modules.cs (1)
37Justification = "The code has a fallback using a ModuleResolveEventHandler")]
System\Reflection\TypeLoading\Modules\Ecma\EcmaModule.GetTypeCore.cs (1)
21Justification = "FullyQualifiedName is only used for exception message")]
System\Reflection\TypeLoading\Modules\RoResourceModule.cs (1)
36Justification = "https://github.com/dotnet/runtime/issues/56519")]
System\Reflection\TypeLoading\Types\RoType.cs (1)
336Justification = "Enum Types are not trimmed.")]
System.Resources.Extensions (3)
src\libraries\System.Private.CoreLib\src\System\Resources\ResourceReader.cs (1)
979Justification = "UseReflectionToGetType will get trimmed out when AllowCustomResourceTypes is set to false. " +
System\Resources\Extensions\BinaryFormat\Deserializer\Deserializer.cs (1)
307Justification = "The type is already in the cache of the TypeResolver, no need to mark this one again.")]
System\Resources\Extensions\BinaryFormat\SerializationEvents.cs (1)
32Justification = "The Type is annotated correctly, it just can't pass through the lambda method.")]
System.Runtime.InteropServices (3)
System\Runtime\InteropServices\Marshalling\StrategyBasedComWrappers.cs (2)
56[UnconditionalSuppressMessage("AOT", "IL3050:Calling members annotated with 'RequiresDynamicCodeAttribute' may break functionality when AOT compiling.", Justification = "The usage is guarded, but the analyzer and the trimmer don't understand it.")] 57[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "The opt-in feature is documented to not work in trimming scenarios.")]
System\Runtime\InteropServices\RuntimeEnvironment.cs (1)
18Justification = "This call is fine because the code handles the Assembly.Location equals null by calling AppDomain.CurrentDomain.BaseDirectory")]
System.Runtime.Serialization.Formatters (2)
System\Runtime\Serialization\FormatterServices.cs (1)
21Justification = "The parentType is read from an array which currently can't be annotated," +
System\Runtime\Serialization\SerializationEventsCache.cs (1)
105Justification = "The Type is annotated correctly, it just can't pass through the lambda method.")]
System.Security.Cryptography (2)
System\Security\Cryptography\PasswordDeriveBytes.cs (2)
45[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The correct hash algorithm is being preserved by the DynamicDependency.")] 50[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The correct hash algorithm is being preserved by the DynamicDependency.")]
System.Security.Cryptography.Xml (27)
System\Security\Cryptography\Xml\CryptoHelpers.cs (1)
95Justification = "Only XmlDsigXsltTransform requires dynamic code. This method asserts that T is not a Transform.")]
System\Security\Cryptography\Xml\DSASignatureDescription.cs (1)
44Justification = "This derived implementation doesn't require unreferenced code, like the base does.")]
System\Security\Cryptography\Xml\EncryptedXml.cs (10)
302[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 303[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 388[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 389[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 526[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 527[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 566[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 567[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 644[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 645[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")]
System\Security\Cryptography\Xml\RSAPKCS1SHA1SignatureDescription.cs (1)
16Justification = "This derived implementation doesn't require unreferenced code, like the base does.")]
System\Security\Cryptography\Xml\RSAPKCS1SHA256SignatureDescription.cs (1)
15Justification = "This derived implementation doesn't require unreferenced code, like the base does.")]
System\Security\Cryptography\Xml\RSAPKCS1SHA384SignatureDescription.cs (1)
15Justification = "This derived implementation doesn't require unreferenced code, like the base does.")]
System\Security\Cryptography\Xml\RSAPKCS1SHA512SignatureDescription.cs (1)
15Justification = "This derived implementation doesn't require unreferenced code, like the base does.")]
System\Security\Cryptography\Xml\SignedXml.cs (11)
178[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 179[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 224[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 225[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 380[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RDC")] 634[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RDC")] 779[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RDC")] 879[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RDC")] 917[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RDC")] 1006[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RDC")] 1007[UnconditionalSuppressMessage("ILLink", "IL2057:UnrecognizedReflectionPattern", Justification = "ctors are marked as RDC")]
System.Text.Json (16)
src\libraries\System.Text.Json\Common\ReflectionExtensions.cs (1)
74Justification = "The 'interfaceType' must exist and so trimmer kept it. In which case " +
System\ReflectionExtensions.cs (1)
133Justification = "Looking up the generic member definition of the provided member.")]
System\Text\Json\Serialization\Converters\Collection\IEnumerableConverterFactory.cs (1)
34Justification = "The ctor is marked RequiresUnreferencedCode.")]
System\Text\Json\Serialization\Converters\Collection\IEnumerableConverterFactoryHelpers.cs (1)
123Justification = "This method exists to allow for 'weak references' to the Stack and Queue types. If those types are used in the app, " +
System\Text\Json\Serialization\Converters\FSharp\FSharpTypeConverterFactory.cs (3)
20Justification = "The ctor is marked RequiresUnreferencedCode.")] 26Justification = "The ctor is marked RequiresUnreferencedCode.")] 28Justification = "The ctor is marked RequiresUnreferencedCode.")]
System\Text\Json\Serialization\Converters\Object\ObjectConverterFactory.cs (2)
38Justification = "The ctor is marked RequiresUnreferencedCode.")] 40Justification = "The ctor is marked RequiresUnreferencedCode.")]
System\Text\Json\Serialization\Converters\Value\EnumConverterFactory.cs (1)
29Justification = "'EnumConverter<T> where T : struct' implies 'T : new()', so the trimmer is warning calling MakeGenericType here because enumType's constructors are not annotated. " +
System\Text\Json\Serialization\Converters\Value\NullableConverterFactory.cs (1)
47Justification = "'NullableConverter<T> where T : struct' implies 'T : new()', so the trimmer is warning calling MakeGenericType here because valueTypeToConvert's constructors are not annotated. " +
System\Text\Json\Serialization\JsonSerializerOptions.Caching.cs (1)
284Justification = "We only need to examine the interface types that are supported by the underlying resolver.")]
System\Text\Json\Serialization\Metadata\DefaultJsonTypeInfoResolver.cs (2)
48Justification = "The ctor is marked RequiresUnreferencedCode.")] 50Justification = "The ctor is marked RequiresDynamicCode.")]
System\Text\Json\Serialization\Metadata\PolymorphicTypeResolver.cs (2)
197Justification = "The call to GetInterfaces will cross-reference results with interface types " + 252Justification = "The call to GetInterfaces will cross-reference results with interface types " +
System.Text.RegularExpressions (2)
System\Text\RegularExpressions\Regex.cs (1)
87Justification = "Compiled Regex is only used when RuntimeFeature.IsDynamicCodeCompiled is true. Workaround https://github.com/dotnet/linker/issues/2715.")]
System\Text\RegularExpressions\RegexCompiler.cs (1)
6215[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2060:MakeGenericMethod", Justification =
System.Threading (1)
System\Threading\CDSsyncETWBCLProvider.cs (1)
59Justification = "Parameters to this method are primitive and are trimmer safe")]
System.Threading.Tasks.Parallel (3)
System\Threading\Tasks\ParallelETWProvider.cs (3)
103Justification = EventSourceSuppressMessage)] 165Justification = EventSourceSuppressMessage)] 214Justification = EventSourceSuppressMessage)]
System.Windows.Forms (7)
System\Resources\AssemblyNamesTypeResolutionService.cs (2)
24[UnconditionalSuppressMessage("SingleFile", "IL3002", Justification = "Handles single file case")] 63[UnconditionalSuppressMessage("SingleFile", "IL3002", Justification = "Returns null if in a single file")]
System\Windows\Forms\Application.cs (2)
919[UnconditionalSuppressMessage("SingleFile", "IL3002", Justification = "Single-file case is handled")] 1078[UnconditionalSuppressMessage("SingleFile", "IL3002", Justification = "Single-file case is handled")]
System\Windows\Forms\Control.ControlVersionInfo.cs (3)
26[UnconditionalSuppressMessage("SingleFile", "IL3002", Justification = "Single-file case is handled")] 73[UnconditionalSuppressMessage("SingleFile", "IL3002", Justification = "Single-file case is handled")] 120[UnconditionalSuppressMessage("SingleFile", "IL3002", Justification = "Single-file case is handled")]
System.Windows.Forms.Design (1)
System\Drawing\Design\ToolboxItem.cs (1)
445[UnconditionalSuppressMessage("SingleFile", "IL3002", Justification = "Single-file case is handled")]
System.Windows.Forms.Primitives (1)
Windows\Win32\System\Ole\ClassPropertyDispatchAdapter.cs (1)
144Justification = "_type is correctly attributed as only using public properties")]
System.Windows.Forms.Primitives.TestUtilities (1)
Win32\WindowClass.cs (1)
35[UnconditionalSuppressMessage("SingleFile", "IL3002:Avoid calling members marked with 'RequiresAssemblyFilesAttribute' when publishing as a single-file", Justification = "Test only binary and not shippable.")]
Templates.Blazor.Tests (2)
src\Shared\CertificateGeneration\CertificateManager.cs (2)
911[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")] 957[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
Templates.Blazor.WebAssembly.Auth.Tests (2)
src\Shared\CertificateGeneration\CertificateManager.cs (2)
911[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")] 957[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
Templates.Blazor.WebAssembly.Tests (2)
src\Shared\CertificateGeneration\CertificateManager.cs (2)
911[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")] 957[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
Templates.Mvc.Tests (2)
src\Shared\CertificateGeneration\CertificateManager.cs (2)
911[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")] 957[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
Templates.Tests (2)
src\Shared\CertificateGeneration\CertificateManager.cs (2)
911[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primative values.")] 957[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
xunit.assert (9)
Assert.cs (1)
62 [UnconditionalSuppressMessage("Trimmability", "IL2073", Justification = "The interfaces on a generic type definition won't be trimmed if they're preserved for an instantation.")]
EqualityAsserts.cs (2)
304 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2072", Justification = "We only check for the types listed above.")] 305 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2075", Justification = "We only check for the types listed above.")]
Sdk\ArgumentFormatter.cs (3)
204 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2072", Justification = "We can't easily annotate callers of this type to require them to preserve the ToString method as we need to use the runtime type. We also can't preserve all of the properties and fields for the complex type printing, but any members that are trimmed aren't used and thus don't contribute to the asserts.")] 540 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2070", Justification = "We can't easily annotate callers of this type to require them to preserve properties for the one type we need or the ToString method as we need to use the runtime type")] 576 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2075", Justification = "We can't easily annotate callers of this type to require them to preserve interfaces, so just preserve the one interface that's checked for.")]
Sdk\AssertHelper.cs (2)
117 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2111: Method 'lambda expression' with parameters or return value with `DynamicallyAccessedMembersAttribute` is accessed via reflection. Trimmer can't guarantee availability of the requirements of the method.", Justification = "The lambda will only be called by the value in the type parameter, which has the same requirements.")] 679 [UnconditionalSuppressMessage("ReflectionAnalysis", "IL2072", Justification = "We need to use the runtime type for getting the getters as we can't recursively preserve them. Any members that are trimmed were not touched by the test and likely are not important for equivalence.")]
Sdk\Exceptions\NullException.cs (1)
65 Justification = "Assert.GuardArgumentNotNull returns the same type passed in, so the annotations on the T type parameter will work")]