930 writes to Justification
aspire (7)
Backchannel\BackchannelJsonSerializerContext.cs (2)
113[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Using the Json source generator.")] 114[UnconditionalSuppressMessage("AotAnalysis", "IL3050:RequiresDynamicCode", Justification = "Using the Json source generator.")]
Backchannel\ExtensionBackchannel.cs (1)
284Justification = "AddLocalRpcTarget closes on generic types if there are events on the target, which is explicitly disabled.")]
Commands\SettingsSchemaBuilder.cs (4)
77[UnconditionalSuppressMessage("Trimming", "IL2070", Justification = "Only called with well-known types from this assembly.")] 78[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "Only called with well-known types from this assembly.")] 79[UnconditionalSuppressMessage("Trimming", "IL2062", Justification = "Only called with well-known types from this assembly.")] 80[UnconditionalSuppressMessage("Trimming", "IL2075", Justification = "Only called with well-known types from this assembly.")]
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.Hosting.CodeGeneration.Java (2)
JavaLanguageSupport.cs (2)
212[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "The installed CLI roots the force-shared contract when this property exists.")] 213[UnconditionalSuppressMessage("Trimming", "IL2075", Justification = "The installed CLI roots the force-shared contract when this property exists.")]
Aspire.StackExchange.Redis (2)
src\Vendoring\OpenTelemetry.Instrumentation.StackExchangeRedis\Implementation\RedisProfilerEntryToActivityConverter.cs (1)
62[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "The CommandAndKey property is preserved by the above DynamicDependency")]
src\Vendoring\OpenTelemetry.Instrumentation.StackExchangeRedis\Shared\PropertyFetcher.cs (1)
128[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "The code guarantees that all the generic parameters are reference types.")]
dotnet (14)
Commands\NuGet\NuGetCommand.cs (1)
85Justification =
Commands\NuGet\NuGetVirtualProjectBuilder.cs (2)
24[UnconditionalSuppressMessage("AOT", "IL3050:Calling members annotated with 'RequiresDynamicCodeAttribute' may break functionality when AOT compiling.", Justification = "Can't change the annotation on the NuGet-owned interface definition.")] 41[UnconditionalSuppressMessage("AOT", "IL3050:Calling members annotated with 'RequiresDynamicCodeAttribute' may break functionality when AOT compiling.", Justification = "Can't change the annotation on the NuGet-owned interface definition.")]
Commands\Run\RunCommand.cs (1)
652[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")]
Commands\Run\RunCommandSelector.cs (3)
230[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")] 360[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")] 595[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")]
Commands\Run\VirtualProjectBuildingCommand.cs (2)
102[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")] 103[UnconditionalSuppressMessage("AOT", "IL3050", Justification ="In non-AOT mode we have MSBuild available, so using types from it is safe.")]
Commands\Test\MTP\SolutionAndProjectUtility.cs (1)
676[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")]
Commands\Workload\Restore\WorkloadRestoreCommand.cs (1)
70[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")]
MSBuildSession.cs (3)
91[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")] 132[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")] 211[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Temporary unblock for dotnet/msbuild#14064 (MSBuild build APIs are now [RequiresUnreferencedCode]). dotnet CLI runs MSBuild in-proc (not trimmed). Remove when dotnet/sdk#55225 is fixed.")]
dotnet-dev-certs (2)
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (2)
1096[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")] 1142[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
dotnet-user-jwts (1)
src\aspnetcore\src\Tools\Shared\SecretsHelpers\ProjectIdResolver.cs (1)
236Justification = "Assembly.Location is used only as a fallback path and ignored when empty.")]
dotnet-user-secrets (1)
src\aspnetcore\src\Tools\Shared\SecretsHelpers\ProjectIdResolver.cs (1)
236Justification = "Assembly.Location is used only as a fallback path and ignored when empty.")]
ILCompiler.DependencyAnalysisFramework (3)
EventSourceLogStrategy.cs (3)
28Justification = "Parameters to this method are primitive and are trimmer safe")] 32Justification = "Parameters to this method are primitive and are trimmer safe")] 36Justification = "Parameters to this method are primitive and are trimmer safe")]
Microsoft.AspNetCore (1)
WebApplicationBuilder.cs (1)
215Justification = "The values being passed into Write are being consumed by the application already.")]
Microsoft.AspNetCore.Components (38)
BindConverter.cs (8)
1734Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1738Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1742Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1892[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect unknown underlying types are configured by application code to be retained.")] 1933Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1937Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 1941Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")] 2121[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 (2)
51Justification = "Types registered for persistence are preserved in the API call to register them and typically live in assemblies that aren't trimmed.")] 133Justification = "Types registered for persistence are preserved in the API call to register them and typically live in assemblies that aren't trimmed.")]
PersistentState\PersistentStateValueProvider.cs (2)
24Justification = "JSON serialization and deserialization might require types that cannot be statically analyzed.")] 28Justification = "JSON serialization and deserialization might require types that cannot be statically analyzed.")]
PersistentState\PersistentValueProviderComponentSubscription.cs (9)
119[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")] 120[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")] 121[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")] 122[UnconditionalSuppressMessage("Trimming", "IL2077:'type' argument does not satisfy 'DynamicallyAccessedMemberTypes' in call to target method. The source field does not have matching annotations.", Justification = "Property types on components are preserved through other means.")] 176[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")] 177[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")] 178[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")] 179[UnconditionalSuppressMessage("Trimming", "IL2077:'type' argument does not satisfy 'DynamicallyAccessedMemberTypes' in call to target method. The source field does not have matching annotations.", Justification = "Property types on components are preserved through other means.")] 226Justification = "Properties of rendered components are preserved through other means and won't get trimmed.")]
RouteView.cs (3)
71[UnconditionalSuppressMessage("Trimming", "IL2110", Justification = "Layout components are preserved because the LayoutAttribute constructor parameter is correctly annotated.")] 72[UnconditionalSuppressMessage("Trimming", "IL2111", Justification = "Layout components are preserved because the LayoutAttribute constructor parameter is correctly annotated.")] 73[UnconditionalSuppressMessage("Trimming", "IL2118", Justification = "Layout components are preserved because the LayoutAttribute constructor parameter is correctly annotated.")]
Routing\RouteTable.cs (1)
30Justification = "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\aspnetcore\src\Components\Shared\src\JsonSerializerOptionsProvider.cs (2)
31[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")] 32[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")]
src\aspnetcore\src\Components\Shared\src\Reflection\PropertyGetter.cs (1)
22Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")]
src\aspnetcore\src\Components\Shared\src\Reflection\PropertySetter.cs (1)
20Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")]
src\aspnetcore\src\Components\Shared\src\RootTypeCache.cs (1)
51[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Root components are expected to be defined in assemblies that do not get trimmed.")]
src\aspnetcore\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\aspnetcore\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.")]
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 (19)
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.")]
Forms\ClientValidationCache.cs (4)
27Justification = "Preserves ValidationOptions's parameterless constructor used by Microsoft.Extensions.Options to materialize IOptions<ValidationOptions>.")] 159Justification = "Model types are application code and are preserved by default.")] 179Justification = "Model types are application code and are preserved by default.")] 214Justification = "Model types are application code and are preserved by default.")]
Forms\DataAnnotationsClientValidationProvider.cs (1)
22[UnconditionalSuppressMessage("Trimming", "IL2066", Justification = "Preserves ValidationOptions's parameterless constructor used by Microsoft.Extensions.Options to materialize IOptions<ValidationOptions>.")]
src\aspnetcore\src\Components\Shared\src\ComponentParametersTypeCache.cs (1)
27[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to preserve component parameters.")]
src\aspnetcore\src\Components\Shared\src\Reflection\PropertyGetter.cs (1)
22Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")]
src\aspnetcore\src\Components\Shared\src\Reflection\PropertySetter.cs (1)
20Justification = "The referenced methods don't have any DynamicallyAccessedMembers annotations. See https://github.com/mono/linker/issues/1727")]
src\aspnetcore\src\Components\Shared\src\RenderFragmentSerializer.cs (3)
262[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "Component types referenced in serialized RenderFragments are expected to be preserved by the application.")] 354[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "SerializedRenderFragment and its members are preserved by existing DynamicDependency attributes.")] 371[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Attribute and key types are primitive or well-known types preserved by the application.")]
src\aspnetcore\src\Shared\Components\PrerenderComponentApplicationStore.cs (2)
22[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")] 30[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")]
src\aspnetcore\src\Shared\Components\ServerComponentSerializationSettings.cs (2)
38Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")] 42Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")]
Microsoft.AspNetCore.Components.Forms (13)
EditContextDataAnnotationsExtensions.cs (10)
54[UnconditionalSuppressMessage("Trimming", "IL2066", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 73[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 137[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 151[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 191[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 204[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 217[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 245[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 278[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")] 331[UnconditionalSuppressMessage("Trimming", "IL2080", Justification = "Model types are expected to be defined in assemblies that do not get trimmed.")]
FieldIdentifier.cs (1)
208Justification = "Application code does not get trimmed. We expect the members in the expression to not be trimmed.")]
src\aspnetcore\src\Components\Shared\src\ExpressionFormatting\ExpressionFormatter.cs (2)
168[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "The relevant members should be preserved since they were referenced in a LINQ expression")] 298Justification = "Guarded by RuntimeFeature.IsDynamicCodeSupported.")]
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 (11)
src\aspnetcore\src\Components\Shared\src\ComponentParametersTypeCache.cs (1)
27[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to preserve component parameters.")]
src\aspnetcore\src\Components\Shared\src\JsonSerializerOptionsProvider.cs (2)
31[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")] 32[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")]
src\aspnetcore\src\Components\Shared\src\RenderFragmentSerializer.cs (3)
262[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "Component types referenced in serialized RenderFragments are expected to be preserved by the application.")] 354[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "SerializedRenderFragment and its members are preserved by existing DynamicDependency attributes.")] 371[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Attribute and key types are primitive or well-known types preserved by the application.")]
src\aspnetcore\src\Components\Shared\src\RootTypeCache.cs (1)
51[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Root components are expected to be defined in assemblies that do not get trimmed.")]
src\aspnetcore\src\Shared\Components\PrerenderComponentApplicationStore.cs (2)
22[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")] 30[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")]
src\aspnetcore\src\Shared\Components\ServerComponentSerializationSettings.cs (2)
38Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")] 42Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")]
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\aspnetcore\src\Components\Shared\src\ExpressionFormatting\ExpressionFormatter.cs (2)
168[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "The relevant members should be preserved since they were referenced in a LINQ expression")] 298Justification = "Guarded by RuntimeFeature.IsDynamicCodeSupported.")]
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 (18)
Hosting\WebAssemblyCultureProvider.cs (1)
11[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)
231[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)
136[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "Root components are expected to be defined in assemblies that do not get trimmed.")]
Prerendering\WebAssemblyComponentParameterDeserializer.cs (3)
27[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to preserve component parameter types.")] 116[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The correct members will be preserved by the above DynamicDependency.")] 122[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to preserve component parameter types.")]
Rendering\WebAssemblyRenderer.cs (1)
53[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)
114[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\aspnetcore\src\Components\Shared\src\ComponentParametersTypeCache.cs (1)
27[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to preserve component parameters.")]
src\aspnetcore\src\Components\Shared\src\JsonSerializerOptionsProvider.cs (2)
31[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")] 32[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")]
src\aspnetcore\src\Components\Shared\src\RenderFragmentSerializer.cs (3)
262[UnconditionalSuppressMessage("Trimming", "IL2072", Justification = "Component types referenced in serialized RenderFragments are expected to be preserved by the application.")] 354[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "SerializedRenderFragment and its members are preserved by existing DynamicDependency attributes.")] 371[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Attribute and key types are primitive or well-known types preserved by the application.")]
src\aspnetcore\src\Components\Shared\src\RootTypeCache.cs (1)
51[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Root components are expected to be defined in assemblies that do not get trimmed.")]
src\aspnetcore\src\Shared\Components\PrerenderComponentApplicationStore.cs (2)
22[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")] 30[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "Simple deserialize of primitive types.")]
Microsoft.AspNetCore.Components.WebAssembly.Authentication (3)
Models\InteractiveRequestOptions.cs (1)
85Justification = "The types this method deserializes are annotated with 'DynamicallyAccessedMembers' to prevent them from being linked out as part of 'TryAddAdditionalParameter'.")]
Services\DeserializedAuthenticationStateProvider.cs (1)
25Justification = $"{nameof(DeserializedAuthenticationStateProvider)} uses the {nameof(DynamicDependencyAttribute)} to preserve the necessary members.")]
WebAssemblyAuthenticationServiceCollectionExtensions.cs (1)
80[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2091", Justification = "The calling method enforces the dynamically accessed members constraints.")]
Microsoft.AspNetCore.Components.WebView (2)
src\aspnetcore\src\Components\Shared\src\JsonSerializerOptionsProvider.cs (2)
31[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")] 32[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")]
Microsoft.AspNetCore.Connections.Abstractions (1)
src\aspnetcore\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.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\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (2)
1096[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")] 1142[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
Microsoft.AspNetCore.Diagnostics (4)
DeveloperExceptionPage\DeveloperExceptionPageMiddlewareImpl.cs (1)
193Justification = "The values being passed into Write have the commonly used properties being preserved with DynamicDependency.")]
ExceptionHandler\ExceptionHandlerMiddlewareImpl.cs (1)
293Justification = "The values being passed into Write have the commonly used properties being preserved with DynamicDependency.")]
src\aspnetcore\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.Grpc.JsonTranscoding (3)
src\aspnetcore\src\Grpc\JsonTranscoding\src\Shared\Server\BindMethodFinder.cs (1)
69Justification = "Fallback doesn't have BindServiceMethodAttribute so can't be verified.")]
src\aspnetcore\src\Grpc\JsonTranscoding\src\Shared\Server\InterceptorActivators.cs (2)
42Justification = "Type parameter members are preserved with DynamicallyAccessedMembers on InterceptorRegistration.Type property.")] 44Justification = "Type definition is explicitly specified and type argument is always an Interceptor type.")]
Microsoft.AspNetCore.HeaderParsing (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Validators.g.cs (1)
17Justification = "The created ValidationContext object is used in a way that never call reflection")]
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).")] 202[UnconditionalSuppressMessage("Trimmer", "IL2072", Justification = "Startup type created by factory can't be determined statically.")] 284Justification = "There is a runtime check for ValueType startup container. It's unlikely anyone will use a ValueType here.")]
Internal\HostingApplicationDiagnostics.cs (1)
314Justification = "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\aspnetcore\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)
314[UnconditionalSuppressMessage("Trimmer", "IL2077", Justification = "Finding startup type in assembly requires unreferenced code. Surfaced to user in UseStartup(startupAssemblyName).")] 315[UnconditionalSuppressMessage("Trimmer", "IL2072", Justification = "Finding startup type in assembly requires unreferenced code. Surfaced to user in UseStartup(startupAssemblyName).")] 330[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\aspnetcore\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)
1456Justification = "CreateValueType is only called on a ValueType. You can always create an instance of a ValueType.")]
src\aspnetcore\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\aspnetcore\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\aspnetcore\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)
24Justification = "The 'JsonSerializer.IsReflectionEnabledByDefault' feature switch, which is set to false by default for trimmed ASP.NET apps, ensures the JsonSerializer doesn't use Reflection.")] 25[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 (6)
_generated\0\GeneratedRouteBuilderExtensions.g.cs (2)
1376Justification = "The 'JsonSerializer.IsReflectionEnabledByDefault' feature switch, which is set to false by default for trimmed ASP.NET apps, ensures the JsonSerializer doesn't use Reflection.")] 1377[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "See above.")]
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.")] 56[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because user type is a reference type.")] 71[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "MakeGenericType is safe because user type is a reference type.")]
Microsoft.AspNetCore.Mvc.Core (1)
src\aspnetcore\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 (2)
_generated\0\GeneratedRouteBuilderExtensions.g.cs (2)
214Justification = "The 'JsonSerializer.IsReflectionEnabledByDefault' feature switch, which is set to false by default for trimmed ASP.NET apps, ensures the JsonSerializer doesn't use Reflection.")] 215[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "See above.")]
Microsoft.AspNetCore.Routing (5)
EndpointRoutingMiddleware.cs (1)
189Justification = "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\aspnetcore\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\aspnetcore\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)
1462Justification = "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 primitive values.")] 382[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (2)
1096[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")] 1142[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
Microsoft.AspNetCore.SignalR.Client.Core (4)
HubConnection.cs (2)
1137Justification = "The methods passed into here (SendStreamItems and SendIAsyncEnumerableStreamItems) don't have trimming annotations.")] 1139Justification = "ValueTypes are handled without using MakeGenericMethod.")]
src\aspnetcore\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)
227Justification = "The adapter methods passed into here (MakeAsyncEnumerator and MakeAsyncEnumeratorFromChannel) don't have trimming annotations.")] 255Justification = "The adapter methods passed into here (MakeAsyncEnumerator and MakeAsyncEnumeratorFromChannel) don't have trimming annotations.")] 257Justification = "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\aspnetcore\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)
36Justification = "BuildStream doesn't have trimming annotations.")] 38Justification = "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.Build (11)
BackEnd\BuildManager\BuildManager.cs (1)
1537Justification = "ProcessPacket is dispatched from the work-queue message pump; the evaluation path it reaches is reflective and unsupported under trimming.")]
BackEnd\Node\OutOfProcNode.cs (1)
632Justification = "The build-request arms now reach task execution through the EnableReflectiveTaskExecution leaf gate, which fails observably under trimming. The remaining RequiresUnreferencedCode reached here is HandleNodeConfiguration, which initializes node forwarding loggers by reflection - a separate subsystem this task-execution gate does not cover. This message-pump switch cannot carry RequiresUnreferencedCode.")]
Evaluation\Expander.Function.cs (6)
364Justification = "_receiverType is reassigned from a runtime property value whose type is restricted to the property-function allowlist, whose members are preserved for trimming.")] 366Justification = "_bindingFlags is masked to AllowedBindingFlags at construction, so it never carries BindingFlags.NonPublic; GetMethods(_bindingFlags) therefore binds only public methods of the property-function allowlist receiver, whose public members are preserved for trimming.")] 670Justification = "The type name is resolved against the curated AvailableStaticMethods allowlist; the case-insensitive lookup only resolves to allowlist types, whose members are preserved for trimming.")] 1190Justification = "_bindingFlags is masked to AllowedBindingFlags at construction, so it never carries BindingFlags.NonPublic; GetMethods(_bindingFlags) therefore binds only public methods of the property-function allowlist receiver, whose public members are preserved for trimming.")] 1241Justification = "The only RDC method reachable here is Enum.GetValues(Type), which is unreachable via property functions; see comment above.")] 1243Justification = "_bindingFlags is masked to AllowedBindingFlags at construction, so it never carries BindingFlags.NonPublic; GetMethods(_bindingFlags) therefore binds only public methods of the property-function allowlist receiver, whose public members are preserved for trimming.")]
Evaluation\Expander.FunctionBuilder.cs (1)
56Justification = "Receiver type comes from the static-method allowlist (public members preserved by Constants.PropertyFunctionMembers) or a runtime GetType(); only public members are bound. See the summary for the DAM-flow rationale.")]
Instance\TaskRegistry.cs (1)
1871Justification = "Resolves a task parameter type from its serialized assembly-qualified name; the type cannot be statically determined and this path is unsupported under trimming.")]
Resources\Constants.cs (1)
304Justification = "Enum.GetValues(Type) is rooted for the allowlist but is unreachable via property functions; see comment above.")]
Microsoft.Build.Framework (4)
TaskClassRegistration.cs (1)
78Justification = "The Func<ITask> registration overload's task type is supplied by the host and is not statically known here. " +
Utilities\TypeExtensions.cs (3)
31Justification = "Assembly.Location is empty under single-file/Native AOT; the empty result is handled here (and AOT hosts supply the MSBuild path via MSBUILD_EXE_PATH rather than relying on it).")] 48Justification = "Activator.CreateInstance is only invoked for value types (guarded by Type.IsValueType), which always have a public parameterless constructor.")] 84Justification = "Type.InvokeMember's reflection contract always lists non-public members, but the sole caller InvokePublicMember rejects BindingFlags.NonPublic (re-asserted below), so only public members are bound. The public surface of the receiver type is preserved for trimming by the [DynamicallyAccessedMembers] annotation on InvokePublicMember's receiver, which the trim analyzer enforces at every call site. Keeping this method private prevents the suppression from being bypassed or misused.")]
Microsoft.Build.Tasks.CodeAnalysis (1)
src\roslyn\src\Compilers\Core\MSBuildTask\ManagedToolTask.cs (1)
289[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("SingleFile", "IL3000:Avoid accessing Assembly file path when publishing as a single file", Justification = "Assembly.Location is the loose-file path; single-file/AOT hosts have no on-disk location and instead read the Microsoft.DotNet.Sdk.Root AppContext value (checked first). [RequiresAssemblyFiles] cannot be used because it would flow onto the unannotated ToolTask overrides (IL3003).")]
Microsoft.Build.Tasks.Core (9)
BootstrapperUtil\BootstrapperBuilder.cs (1)
134Justification = "Building a bootstrapper transforms its configuration with XslCompiledTransform, which generates IL at runtime; the GenerateBootstrapper task is inherently incompatible with Native AOT.")]
GenerateManifestBase.cs (1)
281Justification = "ClickOnce manifest generation reads and writes manifests with XmlSerializer; this task is inherently incompatible with trimming.")]
ManifestUtil\DeployManifest.cs (2)
552Justification = "Validation reads the entry-point ClickOnce manifest with XmlSerializer; the manifest model is inherently incompatible with trimming.")] 554Justification = "Validation reads the entry-point ClickOnce manifest with XmlSerializer and XslCompiledTransform; the manifest model is inherently incompatible with Native AOT.")]
ManifestUtil\TrustInfo.cs (1)
534Justification = "ToString is a debugging convenience that serializes the trust info through XslCompiledTransform; the ClickOnce trust-info path is inherently incompatible with Native AOT.")]
RoslynCodeTaskFactory\RoslynCodeTaskFactory.cs (1)
96Justification = "RoslynCodeTaskFactory compiles task source against reference assemblies on disk, so it does not support single-file deployment; the module path is only used to locate those on-disk references.")]
SignFile.cs (2)
47Justification = "Signing a ClickOnce manifest reads and writes it with XmlSerializer; this task is inherently incompatible with trimming.")] 49Justification = "Signing a ClickOnce manifest uses XmlSerializer, XslCompiledTransform, and SignedXml; this task is inherently incompatible with Native AOT.")]
WriteCodeFragment.cs (1)
83Justification = "WriteCodeFragment resolves user-specified attribute types by name and reflects over their members to infer parameter types; this is inherently incompatible with trimming.")]
Microsoft.CSharp (16)
Microsoft\CSharp\RuntimeBinder\ComInterop\VariantArray.cs (1)
59Justification = "Types are either dynamically created or have dynamic dependency.")]
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.DotNet.Cli.CoreUtils (1)
SdkPaths.cs (1)
57Justification = "Assembly.Location is empty under single-file / NativeAOT; the empty result is " +
Microsoft.DotNet.HotReload.WebAssembly.Browser (4)
src\sdk\src\Dotnet.Watch\HotReloadAgent\HotReloadAgent.cs (1)
19[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Hot reload is only expected to work when trimming is disabled.")]
src\sdk\src\Dotnet.Watch\HotReloadAgent\MetadataUpdateHandlerInvoker.cs (2)
18[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Hot reload is only expected to work when trimming is disabled.")] 19[UnconditionalSuppressMessage("Trimming", "IL2070", Justification = "Hot reload is only expected to work when trimming is disabled.")]
WebAssemblyHotReload.cs (1)
25Justification = "Hot Reload does not support trimming")]
Microsoft.Extensions.AmbientMetadata.Application (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Validators.g.cs (1)
17Justification = "The created ValidationContext object is used in a way that never call reflection")]
Microsoft.Extensions.Configuration.Binder (1)
src\runtime\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)
51Justification = "Parameters to this method are primitive and are trimmer safe.")] 89Justification = "Parameters to this method are primitive and are trimmer safe.")] 97Justification = "Parameters to this method are primitive and are trimmer safe.")]
ServiceLookup\CallSiteFactory.cs (2)
527Justification = "MakeGenericType here is used to create a closed generic implementation type given the closed service type. " + 531Justification = "When dynamic code isn't supported (ServiceProvider.IsDynamicCodeSupported is false), which is the case by default when PublishAot=true, " +
ServiceLookup\CallSiteRuntimeResolver.cs (1)
200Justification = "The element type is guaranteed not to be a ValueType when dynamic code isn't supported")]
ServiceLookup\Expressions\ExpressionResolverBuilder.cs (2)
115Justification = "The element type is guaranteed not to be a ValueType when dynamic code isn't supported")] 124Justification = "The element type is guaranteed not to be a ValueType when dynamic code isn't supported")]
ServiceLookup\IEnumerableCallSite.cs (2)
25Justification = "When dynamic code isn't supported (ServiceProvider.IsDynamicCodeSupported is false), which is the case by default when PublishAot=true, " + 30Justification = "When dynamic code isn't supported (ServiceProvider.IsDynamicCodeSupported is false), which is the case 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)
317Justification = "CreateDynamicEngine won't be called when using NativeAOT.")] // see also https://github.com/dotnet/linker/issues/2715
src\runtime\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 (2)
EmptyServiceProvider.cs (1)
131Justification = "The element type is guaranteed not to be a ValueType when dynamic code isn't supported.")]
src\runtime\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.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.HealthChecks.ResourceUtilization (1)
parent\parent\parent\eng\MSBuild\parent\parent\src\Shared\Data.Validation\LengthAttribute.cs (1)
93[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor is marked with RequiresUnreferencedCode.")]
Microsoft.Extensions.DotNetDeltaApplier (3)
src\sdk\src\Dotnet.Watch\HotReloadAgent\HotReloadAgent.cs (1)
19[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Hot reload is only expected to work when trimming is disabled.")]
src\sdk\src\Dotnet.Watch\HotReloadAgent\MetadataUpdateHandlerInvoker.cs (2)
18[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Hot reload is only expected to work when trimming is disabled.")] 19[UnconditionalSuppressMessage("Trimming", "IL2070", Justification = "Hot reload is only expected to work when trimming is disabled.")]
Microsoft.Extensions.FileProviders.Embedded (2)
EmbeddedFileProvider.cs (1)
55Justification = "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)
270[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.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 annotated with RequiresUnreferencedCodeAttribute.All.")]
UserStoreBase.cs (1)
224Justification = "TKey is annotated with RequiresUnreferencedCodeAttribute.All.")]
Microsoft.Extensions.Logging.EventSource (7)
LoggingEventSource.cs (7)
151Justification = WriteEventCoreSuppressionJustification)] 203Justification = WriteEventDynamicDependencySuppressionJustification)] 233Justification = WriteEventDynamicDependencySuppressionJustification)] 244Justification = WriteEventCoreSuppressionJustification)] 267Justification = WriteEventCoreSuppressionJustification)] 321Justification = WriteEventCoreSuppressionJustification)] 347Justification = WriteEventCoreSuppressionJustification)]
Microsoft.Extensions.Options (1)
OptionsServiceCollectionExtensions.cs (1)
192Justification = "This method only looks for interfaces referenced in its code. " +
Microsoft.Extensions.Options.DataAnnotations (2)
DataAnnotationValidateOptions.Async.cs (1)
42Justification = "Suppressing the warnings on this method since the constructor of the type is annotated as RequiresUnreferencedCode.")]
DataAnnotationValidateOptions.cs (1)
52Justification = "Suppressing the warnings on this method since the constructor of the type is annotated as RequiresUnreferencedCode.")]
Microsoft.Extensions.Telemetry.Abstractions (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Validators.g.cs (1)
17Justification = "The created ValidationContext object is used in a way that never call reflection")]
Microsoft.JSInterop (19)
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.")]
Infrastructure\JSInteropJsonTypeInfoResolver.cs (2)
22[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "JS interop types are handled by custom converters that don't serialize object graphs.")] 23[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "JS interop types are handled by custom converters that don't require runtime code generation.")]
Infrastructure\PendingAsyncCall.cs (1)
16[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "The result type is annotated on InvokeAsync and flows to TValue.")]
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 (5)
56[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")] 57[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Guarded by JsonSerializer.IsReflectionEnabledByDefault.")] 134[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "We expect application code is configured to ensure JS interop arguments are linker friendly.")] 283[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2072:RequiresUnreferencedCode", Justification = "We enforce trimmer attributes for JSON deserialized types on InvokeAsync.")] 284[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.TemplateEngine.Edge (16)
ReflectionLoadProbingPath.cs (2)
47[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Assembly probing loads assemblies by path at runtime.")] 200[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Assembly resolution probes and loads assemblies at runtime.")]
Settings\ComponentManager.cs (12)
25[UnconditionalSuppressMessage("AOT", "IL2057", Justification = "Component types are resolved by assembly-qualified name from the settings store.")] 129[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Components are resolved by name and instantiated via reflection.")] 130[UnconditionalSuppressMessage("AOT", "IL2067", Justification = "Component type is resolved at runtime from stored assembly-qualified name.")] 131[UnconditionalSuppressMessage("AOT", "IL2072", Justification = "Component type is resolved at runtime from stored assembly-qualified name.")] 132[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "Component instantiation uses Activator.CreateInstance with runtime-resolved types.")] 189[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Component registration inspects and instantiates types via reflection.")] 190[UnconditionalSuppressMessage("AOT", "IL2067", Justification = "Component type metadata is inspected at runtime.")] 191[UnconditionalSuppressMessage("AOT", "IL2070", Justification = "Component type interfaces are enumerated at runtime.")] 192[UnconditionalSuppressMessage("AOT", "IL3000", Justification = "Assembly.Location is used to register probing paths for component resolution.")] 193[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "Component instantiation uses Activator.CreateInstance with runtime-resolved types.")] 296[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Assembly loading resolves assemblies by name at runtime.")] 297[UnconditionalSuppressMessage("AOT", "IL2057", Justification = "Component type is resolved by stored assembly-qualified name.")]
Settings\Scanner.cs (2)
133[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Component scanning uses Assembly.GetTypes() on dynamically loaded assemblies.")] 266[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Assembly loading via AssemblyLoadContext.LoadFromStream() is inherently reflection-based.")]
Microsoft.TemplateEngine.IDE (1)
Bootstrapper.cs (1)
378[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Obsolete method; Assembly.GetTypes() is inherently reflection-based.")]
Microsoft.TemplateSearch.Common (8)
TemplateDiscoveryMetadata\TemplateDiscoveryMetadata.cs (2)
38[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Serializes a known internal type (TemplateDiscoveryMetadata).")] 39[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "Serializes a known internal type (TemplateDiscoveryMetadata).")]
TemplateSearchCache\TemplatePackageSearchData.Json.cs (2)
74[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Templates and AdditionalData are serialized with known types.")] 75[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "Templates and AdditionalData are serialized with known types.")]
TemplateSearchCache\TemplateSearchCache.Json.cs (2)
103[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "Serializes a known internal type (TemplateSearchCache).")] 104[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "Serializes a known internal type (TemplateSearchCache).")]
TemplateSearchCache\TemplateSearchData.Json.cs (2)
47[UnconditionalSuppressMessage("AOT", "IL2026:RequiresUnreferencedCode", Justification = "BaselineInfo and AdditionalData are serialized with known types.")] 48[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "BaselineInfo and AdditionalData are serialized with known types.")]
Microsoft.TestPlatform.CommunicationUtilities (11)
JsonDataSerializer.Stj.cs (1)
65[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "DefaultJsonTypeInfoResolver is only used as a fallback for non-AoT builds.")]
Serialization\StjSafe.cs (10)
33[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = Justification)] 34[UnconditionalSuppressMessage("AOT", "IL3050", Justification = Justification)] 41[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = Justification)] 42[UnconditionalSuppressMessage("AOT", "IL3050", Justification = Justification)] 49[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = Justification)] 50[UnconditionalSuppressMessage("AOT", "IL3050", Justification = Justification)] 57[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = Justification)] 58[UnconditionalSuppressMessage("AOT", "IL3050", Justification = Justification)] 65[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = Justification)] 66[UnconditionalSuppressMessage("AOT", "IL3050", Justification = Justification)]
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.")>
NuGet.Protocol (24)
Converters\JsonExtensions.cs (2)
19[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Legacy Newtonsoft.Json infrastructure; not used in AOT code paths.")] 20[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Legacy Newtonsoft.Json infrastructure; not used in AOT code paths.")]
Plugins\JsonSerializationUtilities.cs (2)
19[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Legacy Newtonsoft.Json infrastructure; methods on this class are already annotated with [RUC]/[RDC].")] 20[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Legacy Newtonsoft.Json infrastructure; methods on this class are already annotated with [RUC]/[RDC].")]
Plugins\MessageDispatcher.cs (2)
597[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 598[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")]
Plugins\OutboundRequestContext`1.cs (6)
154[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 155[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 179[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 180[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 200[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 201[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")]
Plugins\RequestHandlers\GetCredentialsRequestHandler.cs (2)
114[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 115[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")]
Plugins\RequestHandlers\GetServiceIndexRequestHandler.cs (2)
98[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 99[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")]
Plugins\RequestHandlers\LogRequestHandler.cs (2)
56[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 57[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")]
Plugins\RequestHandlers\MonitorNuGetProcessExitRequestHandler.cs (2)
74[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 75[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")]
Plugins\RequestHandlers\SymmetricHandshake.cs (2)
159[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")] 160[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "PayloadObject is always a typed object (not JObject) in these scenarios; the reflection code path is not reached.")]
Resources\ServiceIndexResourceV3.cs (2)
314[UnconditionalSuppressMessage("AOT", "IL2026", Justification = "Only called from JObject constructor which is annotated with [RUC]/[RDC].")] 315[UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Only called from JObject constructor which is annotated with [RUC]/[RDC].")]
RepoTasks (2)
src\aspnetcore\src\Shared\CertificateGeneration\CertificateManager.cs (2)
1096[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")] 1142[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Parameters passed to WriteEvent are all primitive values.")]
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.CommandLine (3)
Argument{T}.cs (2)
104[UnconditionalSuppressMessage("ReflectionAnalysis", "IL3050", Justification = "https://github.com/dotnet/command-line-api/issues/1638")] 105[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2091", Justification = "https://github.com/dotnet/command-line-api/issues/1638")]
Binding\ArgumentConverter.DefaultValues.cs (1)
17[UnconditionalSuppressMessage("ReflectionAnalysis", "IL3050", Justification = "https://github.com/dotnet/command-line-api/issues/1638")]
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)
258Justification = "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)
232[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)
197Justification = "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)
163[UnconditionalSuppressMessage("Trimming", "IL2075:", Justification = "Trimmer does not trim Enums")] 239[UnconditionalSuppressMessage("Trimming", "IL2067:", Justification = "Trimmer does not trim Enums")] 248[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)
66Justification = "Removal of the attributes depends on the System.Runtime.InteropServices.BuiltInComInterop.IsSupported feature switch." + 70Justification = "The ComVisibleAttribute is marked for removal and it's referenced here. Since this array" + 192Justification = "IntrinsicTypeConverters is marked with RequiresUnreferencedCode. It is the only place that should call this.")] 550Justification = "Instance is verified at run-time to be registered.")] 1040Justification = "typeName is annotated with DynamicallyAccessedMembers, which will preserve the type. " + 1075Justification = "ReflectedTypeData is not being created here, just checking if was already created.")] 1414Justification = "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)
879Justification = "The callers of this method ensure getting the converter is trim compatible - i.e. the type is not Nullable<T>.")] 992Justification = "The type will be validated to see if it was registered.")] 3294[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The object is verified at run-time to be a registered type.")] 3390Justification = TypeDescriptionProvider.ForwardFromRegisteredMessage)] 3434[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor of this Type has RequiresUnreferencedCode.")] 3457[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor of this Type has RequiresUnreferencedCode.")] 3479[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor of this Type has RequiresUnreferencedCode.")] 3608[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:RequiresUnreferencedCode", Justification = "The ctor of this Type has RequiresUnreferencedCode.")] 3748[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 (41)
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 (8)
16Justification = "The use of GetType preserves implementation of ICustomTypeDescriptor members with RequiresUnreferencedCode, but the GetType callsites either " 401Justification = "The use of GetType preserves this member with RequiresUnreferencedCode, but the GetType callsites either " 430Justification = "The use of GetType preserves this member with RequiresUnreferencedCode, but the GetType callsites either " 540Justification = "The use of GetType preserves this member with RequiresUnreferencedCode, but the GetType callsites either " 591Justification = "The component type's class name is preserved because this class is marked with [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]")] 600Justification = "The component type's component name is preserved because this class is marked with [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]")] 609Justification = "The component type's attributes are preserved because this class is marked with [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]")] 645Justification = "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.")] 1855Justification = "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)
230Justification = "Arguments parameter is preserved by DynamicDependency")] 252Justification = "Arguments parameter is preserved by DynamicDependency")] 264Justification = "Arguments parameter is preserved by DynamicDependency")] 276Justification = "Arguments parameter is preserved by DynamicDependency")] 288Justification = "Arguments parameter is preserved by DynamicDependency")] 300Justification = "Arguments parameter is preserved by DynamicDependency")] 312Justification = "Arguments parameter is preserved by DynamicDependency")] 337Justification = "Arguments parameter is preserved by DynamicDependency")] 350Justification = "Arguments parameter is preserved by DynamicDependency")]
System\Diagnostics\DsesActivitySourceListener.cs (2)
163Justification = "Activity's properties are being preserved with the DynamicDependencies on OnActivityStarted.")] 174Justification = "Activity's properties are being preserved with the DynamicDependencies on OnActivityStarted.")]
System\Diagnostics\DsesFilterAndTransform.cs (3)
523Justification = "DiagnosticSource.Write is marked with RequiresUnreferencedCode.")] 793Justification = "MakeGenericType is only called when IsDynamicCodeSupported is true or only with ref types.")] 809Justification = "MakeGenericType is only called when IsDynamicCodeSupported is true or only with ref types.")]
System\Diagnostics\Metrics\AggregationManager.cs (1)
366Justification = "MakeGenericType is creating instances over reference types that works fine in AOT.")]
System.Diagnostics.EventLog (1)
System\Diagnostics\EventLog.cs (1)
696Justification = "The code handles if the path is null by calling AppContext.BaseDirectory")]
System.Drawing.Common (2)
System\Drawing\FontConverter.cs (1)
254Justification = "TypeDescriptor.GetConverter is safe for primitive types.")]
System\Drawing\Printing\MarginsConverter.cs (1)
62Justification = "TypeDescriptor.GetConverter is safe for primitive types.")]
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)
97Justification = "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)
2532Justification = "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)
179Justification = "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\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
System\Net\Http\DiagnosticsHandler.cs (1)
373Justification = "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.Http.WinHttpHandler (1)
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
System.Net.HttpListener (3)
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.DumpBuffer.cs (1)
42Justification = EventSourceSuppressMessage)]
System.Net.Mail (2)
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
System.Net.NameResolution (1)
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
System.Net.Primitives (1)
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
System.Net.Quic (2)
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
System\Net\Quic\Internal\MsQuicApi.cs (1)
76Justification = "The code handles the Assembly.Location being null/empty by falling back to AppContext.BaseDirectory")]
System.Net.Requests (2)
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
System.Net.Security (5)
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
src\runtime\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\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.DumpBuffer.cs (1)
42Justification = EventSourceSuppressMessage)]
System.Net.WebSockets (4)
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.Associate.cs (1)
40Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\Common\src\System\Net\Logging\NetEventSource.Common.cs (1)
187Justification = EventSourceSuppressMessage)]
System\Net\WebSockets\NetEventSource.WebSockets.cs (2)
206Justification = EventSourceSuppressMessage)] 237Justification = EventSourceSuppressMessage)]
System.Private.CoreLib (136)
Internal\Reflection\Augments\ReflectionAugments.cs (1)
345Justification = "Analysis does not track annotations for RuntimeTypeInfo")]
Internal\Reflection\Extensions\NonPortable\CustomAttributeInstantiator.cs (1)
30Justification = "property setters and fiels which are accessed by any attribute instantiation which is present in the code linker has analyzed." +
Internal\Runtime\Augments\RuntimeAugments.cs (1)
112Justification = "The compiler ensures that if we have a TypeHandle of a Rank-1 MdArray, we also generated the SzArray.")]
Internal\Runtime\CompilerHelpers\InteropHelpers.cs (3)
510Justification = "This API will be called from compiler generated code only.")] 526Justification = "This API will be called from compiler generated code only.")] 554Justification = "This API will be called from compiler generated code only.")]
src\runtime\src\libraries\System.Private.CoreLib\src\Internal\Runtime\InteropServices\ComponentActivator.cs (2)
133Justification = "The same feature switch applies to GetFunctionPointer and this function. We rely on the warning from GetFunctionPointer.")] 211Justification = "The same feature switch applies to GetFunctionPointer and this function. We rely on the warning from GetFunctionPointer.")]
src\runtime\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\runtime\src\libraries\System.Private.CoreLib\src\System\Array.cs (2)
87Justification = "MDArrays of Rank != 1 can be created because they don't implement generic interfaces.")] 103Justification = "MDArrays of Rank != 1 can be created because they don't implement generic interfaces.")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\ArrayPoolEventSource.cs (3)
47Justification = EventSourceSuppressMessage)] 73Justification = EventSourceSuppressMessage)] 122Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\System.Private.CoreLib\src\System\DefaultBinder.cs (1)
32Justification = "AOT compiler ensures params arrays are created for reflection-invokable methods")]
src\runtime\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\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\StackTrace.cs (1)
449Justification = "Using Reflection to find the state machine's corresponding method is safe because the corresponding method is the only " +
src\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\EventCounter.cs (1)
93Justification = "The DynamicDependency will preserve the properties of CounterPayload")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\EventSource.cs (27)
405Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 429Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 817Justification = EventSourceSuppressMessage)] 825Justification = EventSourceSuppressMessage)] 839Justification = EventSourceSuppressMessage)] 856Justification = EventSourceSuppressMessage)] 877Justification = EventSourceSuppressMessage)] 891Justification = EventSourceSuppressMessage)] 908Justification = EventSourceSuppressMessage)] 929Justification = EventSourceSuppressMessage)] 947Justification = EventSourceSuppressMessage)] 970Justification = EventSourceSuppressMessage)] 999Justification = EventSourceSuppressMessage)] 1020Justification = EventSourceSuppressMessage)] 1045Justification = EventSourceSuppressMessage)] 1067Justification = EventSourceSuppressMessage)] 1089Justification = EventSourceSuppressMessage)] 1110Justification = EventSourceSuppressMessage)] 1145Justification = EventSourceSuppressMessage)] 1319Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 1354Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 1450Justification = EventSourceSuppressMessage)] 1473Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 1490Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 1985Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 2095Justification = "EnsureDescriptorsInitialized's use of GetType preserves this method which " + 2252Justification = "The call to TraceLoggingEventTypes with the below parameter values are trim safe")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\FrameworkEventSource.cs (2)
34Justification = EventSourceSuppressMessage)] 69Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\IncrementingEventCounter.cs (1)
52Justification = "The DynamicDependency will preserve the properties of IncrementingCounterPayload")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\IncrementingPollingCounter.cs (1)
65Justification = "The DynamicDependency will preserve the properties of IncrementingCounterPayload")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\ManifestBuilder.cs (1)
423Justification = "Trimmer does not trim enums")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\PollingCounter.cs (1)
43Justification = "The DynamicDependency will preserve the properties of CounterPayload")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\TraceLogging\PropertyValue.cs (2)
213Justification = "Instantiation over a reference type. See comments above.")] 225Justification = "Instantiation over a reference type. See comments above.")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Diagnostics\Tracing\TraceLogging\SimpleTypeInfos.cs (1)
334Justification = "The underlying type of Nullable<T> must be defaultable")]
src\runtime\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\runtime\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\runtime\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\runtime\src\libraries\System.Private.CoreLib\src\System\Reflection\Emit\MethodOnTypeBuilderInstantiation.cs (1)
32Justification = "Reflection.Emit is not subject to trimming")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Reflection\Emit\TypeBuilder.cs (3)
333Justification = "MakeGenericType is only called on a TypeBuilder which is not subject to trimming")] 380Justification = "MakeGenericType is only called on a TypeBuilder which is not subject to trimming")] 413Justification = "MakeGenericType is only called on a TypeBuilder which is not subject to trimming")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Reflection\Emit\TypeBuilderInstantiation.cs (1)
110Justification = "The entire TypeBuilderInstantiation is serving the MakeGenericType implementation. " +
src\runtime\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\runtime\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\runtime\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\runtime\src\libraries\System.Private.CoreLib\src\System\Resources\ResourceReader.Core.cs (4)
78Justification = "InitializeBinaryFormatter will get trimmed out when AllowCustomResourceTypes is set to false. " + 87Justification = "InitializeBinaryFormatter will get trimmed out when AllowCustomResourceTypes is set to false. " + 91Justification = "InitializeBinaryFormatter will get trimmed out when AllowCustomResourceTypes is set to false. " + 95Justification = "InitializeBinaryFormatter will get trimmed out when AllowCustomResourceTypes is set to false. " +
src\runtime\src\libraries\System.Private.CoreLib\src\System\Resources\ResourceReader.cs (1)
975Justification = "UseReflectionToGetType will get trimmed out when AllowCustomResourceTypes is set to false. " +
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\CompilerServices\AsyncMethodBuilderCore.cs (1)
88Justification = "It's okay if unused fields disappear from debug views")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\CompilerServices\AsyncProfilerEventSource.cs (1)
82[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2026:UnrecognizedReflectionPattern", Justification = EventSourceSuppressMessage)]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\Marshal.cs (4)
526Justification = "This only needs to prelink methods that are actually used")] 540Justification = "AOT compilers can see the T.")] 622Justification = "AOT compilers can see the T.")] 1250Justification = "AOT compilers can see the T.")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Loader\AssemblyLoadContext.cs (2)
880Justification = "Satellite assemblies have no code in them and loading is not a problem")] 882Justification = "This call is fine because native call runs before this and checks BindSatelliteResourceFromBundle")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\StartupHookProvider.cs (1)
73Justification = "An ILLink warning when trimming an app with System.StartupHookProvider.IsSupported=true already exists for ProcessStartupHooks.")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Tasks\TplEventSource.cs (6)
190Justification = EventSourceSuppressMessage)] 262Justification = EventSourceSuppressMessage)] 307Justification = EventSourceSuppressMessage)] 400Justification = EventSourceSuppressMessage)] 433Justification = EventSourceSuppressMessage)] 487Justification = EventSourceSuppressMessage)]
src\runtime\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")] 618Justification = "The single instance field on enum types is never trimmed")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Type.Enum.cs (1)
107Justification = "Literal fields on enums can never be trimmed")]
src\runtime\src\libraries\System.Private.CoreLib\src\System\Type.Helpers.cs (1)
402Justification = "The GetInterfaces technically requires all interfaces to be preserved" +
System\Array.NativeAot.cs (2)
89Justification = "The compiler ensures that if we have a TypeHandle of a Rank-1 MdArray, we also generated the SzArray.")] 210Justification = "The compiler ensures that if we have a TypeHandle of a Rank-1 MdArray, we also generated the SzArray.")]
System\Reflection\Attribute.NativeAot.cs (1)
135Justification = "Arrays of reference types are safe to create.")]
System\Reflection\Runtime\BindingFlagSupport\ConstructorPolicies.cs (1)
21Justification = "Reflection implementation")]
System\Reflection\Runtime\BindingFlagSupport\EventPolicies.cs (1)
21Justification = "Reflection implementation")]
System\Reflection\Runtime\BindingFlagSupport\FieldPolicies.cs (1)
21Justification = "Reflection implementation")]
System\Reflection\Runtime\BindingFlagSupport\MethodPolicies.cs (1)
21Justification = "Reflection implementation")]
System\Reflection\Runtime\BindingFlagSupport\NestedTypePolicies.cs (1)
31Justification = "Reflection implementation")]
System\Reflection\Runtime\BindingFlagSupport\PropertyPolicies.cs (1)
21Justification = "Reflection implementation")]
System\Reflection\Runtime\CustomAttributes\NativeFormat\NativeFormatCustomAttributeData.cs (2)
52Justification = "Metadata generation ensures custom attribute constructors are resolvable.")] 192Justification = "Metadata generation ensures fields/properties referenced from attributes are preserved.")]
System\Reflection\Runtime\General\Assignability.cs (4)
17Justification = "Just instantiating over formals for desktop compat reasons")] 19Justification = "Just instantiating over formals for desktop compat reasons")] 62Justification = "Looking at interface list is safe because we wouldn't remove reflection-visible interface from a reflection-visible type")] 345Justification = "Looking at interface list is safe because we wouldn't remove reflection-visible interface from a reflection-visible type")]
System\Reflection\Runtime\General\Helpers.cs (2)
117Justification = "Delegates always generate metadata for the Invoke method")] 143Justification = "Array.CreateInstance is only used with reference types here and is therefore safe.")]
System\Reflection\Runtime\General\MetadataReaderExtensions.NativeFormat.cs (8)
724Justification = "The compiler ensures we have array types referenced from custom attribute blobs")] 748Justification = "The compiler ensures we have array types referenced from custom attribute blobs")] 772Justification = "The compiler ensures we have array types referenced from custom attribute blobs")] 796Justification = "The compiler ensures we have array types referenced from custom attribute blobs")] 820Justification = "The compiler ensures we have array types referenced from custom attribute blobs")] 844Justification = "The compiler ensures we have array types referenced from custom attribute blobs")] 868Justification = "The compiler ensures we have array types referenced from custom attribute blobs")] 892Justification = "The compiler ensures we have array types referenced from custom attribute blobs")]
System\Reflection\Runtime\General\ThunkedApis.cs (3)
173Justification = "Analysis does not track annotations for RuntimeTypeInfo")] 175Justification = "Analysis does not track annotations for RuntimeTypeInfo")] 177Justification = "Analysis does not track annotations for RuntimeTypeInfo")]
System\Reflection\Runtime\MethodInfos\CustomMethodMapper.cs (1)
50Justification = "GetConstructor/GetMethod being null is handled and expected.")]
System\Reflection\Runtime\MethodInfos\CustomMethodMapper.Nullable.cs (1)
81Justification = "Constructed MethodTable of a Nullable forces a constructed MethodTable of the element type")]
System\Reflection\Runtime\TypeInfos\RuntimeTypeInfo.cs (1)
258Justification = "Interface lists on base types will be preserved same as for the current type")]
System\Reflection\Runtime\TypeInfos\RuntimeTypeInfo.InvokeMember.cs (1)
16Justification = "Analysis does not track annotations for RuntimeTypeInfo")]
System\Reflection\TypeNameResolver.NativeAot.cs (2)
118Justification = "GetType APIs are marked as RequiresUnreferencedCode.")] 120Justification = "GetType APIs are marked as RequiresUnreferencedCode.")]
System\Runtime\CompilerServices\RuntimeHelpers.NativeAot.cs (1)
288Justification = "Constructed MethodTable of a Nullable forces a constructed MethodTable of the element type")]
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")] 1384Justification = "All ctor's required to create an instance of this type are marked with RequiresDynamicCode.")] 1386Justification = "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)
768Justification = "The call to MakeGenericMethod is safe due to the fact that XmlObjectSerializerWriteContext.GetDefaultValue is not annotated.")]
System.Private.Reflection.Execution (4)
Internal\Reflection\Execution\TypeLoader\ConstraintValidatorSupport.cs (3)
57Justification = "We won're remove interfaces used in constraints")] 159Justification = "Linker doesn't recognize always throwing method. https://github.com/mono/linker/issues/2025")] 277Justification = "Default constructors of types that could be arguments to MakeGenericType are preserved.")]
Internal\Reflection\Execution\TypeLoader\TypeCast.cs (1)
27Justification = "Looking at interface list is safe because we wouldn't remove reflection-visible interface from a reflection-visible type")]
System.Private.Xml (17)
System\Xml\Schema\XmlSchemaValidator.cs (2)
965[UnconditionalSuppressMessage("AotAnalysis", "IL3050", Justification = "ToArray is called for known reference types only.")] 1008[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)
137Justification = "Annotating this as dangerous will make the core of the serializer to be marked as not safe, instead " + 226Justification = "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)
668Justification = "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)
251Justification = 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")] 731[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2055:RequiresDynamicCode", Justification = "Test")] 732[UnconditionalSuppressMessage("ReflectionAnalysis", "IL3050:RequiresUnreferencedCode", Justification = "Test")]
System\Reflection\Emit\TypeBuilderImpl.cs (6)
97[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2083:DynamicallyAccessedMembers", Justification = "Not sure how to handle warning on 'this'")] 197Justification = "GetConstructor is only called on a TypeBuilderInstantiation which is not subject to trimming")] 429[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2072:DynamicallyAccessedMembers", Justification = "The members of 'ValueType' are not referenced in this context")] 547Justification = "System.Object type is preserved via ModulBuilderImpl.s_coreTypes")] 1247[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2085:DynamicallyAccessedMembers", Justification = "Methods are loaded from this TypeBuilder")] 1358Justification = "The GetInterfaces technically requires all interfaces to be preserved" +
System.Reflection.MetadataLoadContext (6)
System\Reflection\TypeLoading\Assemblies\Ecma\EcmaAssembly.ManifestResources.cs (2)
60Justification = "ResourceLocation should never be ContainedInAnotherAssembly if embedded in a single-file")] 62Justification = "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)
352Justification = "Enum Types are not trimmed.")]
System.Resources.Extensions (3)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Resources\ResourceReader.cs (1)
975Justification = "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)
62[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.")] 63[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.InteropServices.JavaScript (7)
System\Runtime\InteropServices\JavaScript\JSHostImplementation.CoreCLR.cs (4)
16[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "It's kept from trimming by ModuleInitializerAttribute in the generated code.")] 17[UnconditionalSuppressMessage("Trimming", "IL2075", Justification = "It's kept from trimming by ModuleInitializerAttribute in the generated code.")] 38[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "It's kept from trimming by DynamicDependencyAttribute in the generated code.")] 39[UnconditionalSuppressMessage("Trimming", "IL2075", Justification = "It's kept from trimming by DynamicDependencyAttribute in the generated code.")]
System\Runtime\InteropServices\JavaScript\JSHostImplementation.cs (3)
48Justification = "Task<T>.Result is preserved by the ILLinker because s_taskGetResultMethodInfo was initialized with it.")] 191[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "It's always part of the single compilation (and trimming) unit.")] 200[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "It's always part of the single compilation (and trimming) unit.")]
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)
96Justification = "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)
327[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 328[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 413[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 414[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 551[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 552[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 591[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 592[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 669[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 670[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)
175[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 176[UnconditionalSuppressMessage("ILLink", "IL2026:RequiresUnreferencedCode", Justification = "ctors are marked as RUC")] 221[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "ctors are marked as RDC")] 222[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.ServiceModel.Syndication (6)
System\ServiceModel\Syndication\SyndicationElementExtension.cs (6)
101[UnconditionalSuppressMessage("Trimming", "IL2026:RequiresUnreferencedCode", Justification = "Constructors not marked RequiresUnreferencedCode always set _outerName to a non-null value.")] 102[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "Constructors not marked RequiresUnreferencedCode always set _outerName to a non-null value.")] 116[UnconditionalSuppressMessage("Trimming", "IL2026:RequiresUnreferencedCode", Justification = "Constructors not marked RequiresUnreferencedCode always set _outerName to a non-null value.")] 117[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "Constructors not marked RequiresUnreferencedCode always set _outerName to a non-null value.")] 183[UnconditionalSuppressMessage("Trimming", "IL2026:RequiresUnreferencedCode", Justification = "Constructors not marked RequiresUnreferencedCode always set _extensionDataWriter to null.")] 184[UnconditionalSuppressMessage("AOT", "IL3050:RequiresDynamicCode", Justification = "Constructors not marked RequiresUnreferencedCode always set _extensionDataWriter to null.")]
System.Text.Json (18)
src\runtime\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)
176Justification = "The derived type was supplied via [JsonDerivedType] by the user, so its interface " +
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 (4)
21Justification = "The ctor is marked RequiresUnreferencedCode.")] 27Justification = "The ctor is marked RequiresUnreferencedCode.")] 29Justification = "The ctor is marked RequiresUnreferencedCode.")] 80Justification = "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)
314Justification = "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\FSharpCoreReflectionProxy.cs (1)
333Justification = "FSharpFunc<TArg, TResult>.Invoke is always available. Callers are marked RequiresUnreferencedCode.")]
System\Text\Json\Serialization\Metadata\PolymorphicTypeResolver.cs (2)
219Justification = "The call to GetInterfaces will cross-reference results with interface types " + 274Justification = "The call to GetInterfaces will cross-reference results with interface types " +
System.Text.RegularExpressions (2)
System\Text\RegularExpressions\Regex.cs (1)
146Justification = "Compiled Regex is only used when RuntimeFeature.IsDynamicCodeCompiled is true. Workaround https://github.com/dotnet/linker/issues/2715.")]
System\Text\RegularExpressions\RegexCompiler.cs (1)
6539[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2060:MakeGenericMethod", Justification =
System.Threading (1)
System\Threading\CDSsyncETWBCLProvider.cs (1)
56Justification = "Parameters to this method are primitive and are trimmer safe")]
System.Threading.Tasks.Parallel (3)
System\Threading\Tasks\ParallelETWProvider.cs (3)
100Justification = EventSourceSuppressMessage)] 162Justification = EventSourceSuppressMessage)] 211Justification = 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)
1109[UnconditionalSuppressMessage("SingleFile", "IL3002", Justification = "Single-file case is handled")] 1268[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")]