Runtime settings schema

Runtime settings are used by the common language runtime to configure applications that target .NET Framework. This article shows the schema for runtime settings in an application configuration file.

The <runtime> section and its parent and child elements

<configuration>
  <runtime>
    <alwaysFlowImpersonationPolicy>
    <AppContextSwitchOverrides>
    <appDomainManagerAssembly>
    <appDomainManagerType>
    <appDomainResourceMonitoring>
    <assemblyBinding>
      <dependentAssembly>
        <assemblyIdentity>
        <bindingRedirect>
        <codeBase>
        <publisherPolicy>
      <probing>
      <qualifyAssembly>
      <supportPortability>
    <bypassTrustedAppStrongNames>
    <CompatSortNLSVersion>
    <developmentMode>
    <disableCachingBindingFailures>
    <disableCommitThreadStack>
    <disableFusionUpdatesFromADManager>
    <disableStackOverflowProbing>
    <EnableAmPmParseAdjustment>
    <enforceFIPSPolicy>
    <etwEnable>
    <forcePerformanceCounterUniqueSharedMemoryReads>
    <gcAllowVeryLargeObjects>
    <gcConcurrent>
    <GCCpuGroup>
    <GCHeapAffinitizeMask>
    <GCHeapCount>
    <GCLOHThreshold>
    <GCNoAffinitize>
    <gcServer>
    <generatePublisherEvidence>
    <legacyCorruptedStateExceptionsPolicy>
    <legacyImpersonationPolicy>
    <loadfromRemoteSources>
    <NetFx40_LegacySecurityPolicy>
    <NetFx40_PInvokeStackResilience>
    <NetFx45_CultureAwareComparerGetHashCode_LongStrings>
    <PreferComInsteadOfManagedRemoting>
    <relativeBindForResources>
    <shadowCopyVerifyByTimeStamp>
    <Thread_UseAllCpuGroups>
    <ThrowUnobservedTaskExceptions>
    <TimeSpan_LegacyFormatMode>
    <useLegacyJit>
    <UseRandomizedStringHashAlgorithm>
    <UseSmallInternalThreadStacks>
  <system.runtime.caching>
    <memoryCache>
      <namedCaches>
        <add>
        <clear>
        <remove>

Alphabetical list of <runtime> elements

Element Description
<add> Adds a named cache to the namedCaches collection for a memory cache.
<alwaysFlowImpersonationPolicy> Specifies that the Windows identity always flows across asynchronous points, regardless of how impersonation was performed.
<AppContextSwitchOverrides> Defines one or more switches used by the AppContext class to provide an opt-out mechanism for new functionality.
<appDomainManagerAssembly> Specifies the assembly that provides the application domain manager for the default application domain in the process.
<appDomainManagerType> Specifies the type that serves as the application domain manager for the default application domain.
<appDomainResourceMonitoring> Instructs the runtime to collect statistics on all application domains in the process for the life of the process.
<assemblyBinding> Contains information about assembly version redirection and the locations of assemblies.
<assemblyIdentity> Contains identifying information about an assembly.
<bindingRedirect> Redirects one assembly version to another.
<bypassTrustedAppStrongNames> Specifies whether strong name verification for trusted assemblies should be bypassed.
<clear> Clears the namedCaches collection for a memory cache.
<codeBase> Specifies where the runtime can find an assembly.
<CompatSortNLSVersion> Specifies that the runtime should use legacy sorting behavior when performing string comparisons
<dependentAssembly> Encapsulates binding policy and assembly location for each assembly.
<developmentMode> Specifies whether the runtime searches for assemblies in directories specified by the DEVPATH environment variable.
<disableCachingBindingFailures> Specifies whether the caching of binding failures, which is the default behavior in .NET Framework 2.0, is disabled.
<disableCommitThreadStack> Specifies whether the full thread stack is committed when a thread starts.
<disableFusionUpdatesFromADManager> Specifies whether the default behavior, which is to allow the runtime host to override configuration settings for an application domain, is disabled.
<disableStackOverflowProbing> Specifies whether stack-overflow probing is disabled.
<EnableAmPmParseAdjustment> Determines whether date and time parsing methods use an adjusted set of rules to parse date strings that contain only a day, month, hour, and AM/PM designator.
<enforceFIPSPolicy> Specifies whether to enforce a computer configuration requirement that cryptographic algorithms must comply with the Federal Information Processing Standards (FIPS).
<etwEnable> Specifies whether to enable event tracing for Windows (ETW) for common language runtime events.
<forcePerformanceCounterUniqueSharedMemoryReads> Specifies whether PerfCounter.dll uses the CategoryOptions registry setting in a .NET Framework version 1.1 application to determine whether to load performance counter data from category-specific shared memory or global memory.
<gcAllowVeryLargeObjects> On 64-bit platforms, enables arrays that are greater than 2 gigabytes (GB) in total size.
<gcConcurrent> Specifies whether the runtime runs garbage collection concurrently.
<GCCpuGroup> Specifies whether garbage collection supports multiple CPU groups.
<GCHeapAffinitizeMask> Defines the affinity between GC heaps and individual processors.
<GCHeapCount> Specifies the number of heaps/threads to use for server garbage collection.
<GCLOHThreshold> Specifies the threshold size that causes objects to go on the large object heap (LOH).
<GCNoAffinitize> Specifies whether or not to affinitize server GC threads with CPUs.
<gcServer> Specifies whether the common language runtime runs server garbage collection.
<generatePublisherEvidence> Specifies whether the runtime uses code access security (CAS) publisher policy.
<legacyCorruptedStateExceptionsPolicy> Specifies whether the runtime allows managed code to catch access violations and other corrupted state exceptions.
<legacyImpersonationPolicy> Specifies that the Windows identity does not flow across asynchronous points, regardless of the flow settings for the execution context on the current thread.
<loadfromRemoteSources> Specifies whether assemblies from remote sources are loaded as full trust.
<memoryCache> Defines an element that is used to configure a cache that is based on the MemoryCache class.
<namedCaches> Contains a collection of configuration settings for the namedCache instance.
<NetFx40_LegacySecurityPolicy> Specifies whether the runtime uses legacy code access security (CAS) policy.
<NetFx40_PInvokeStackResilience> Specifies whether the runtime automatically fixes incorrect platform invoke declarations at run time, at the cost of slower transitions between managed and unmanaged code.
<NetFx45_CultureAwareComparerGetHashCode_LongStrings> Specifies whether the runtime uses a fixed amount of memory to calculate hash codes for the StringComparer.GetHashCode method.
<PreferComInsteadOfManagedRemoting> Specifies that the runtime will use COM interop instead of remoting across application domain boundaries.
<probing> Specifies subdirectories that the runtime searches when loading assemblies.
<publisherPolicy> Specifies whether the runtime applies publisher policy.
<qualifyAssembly> Specifies the full name of the assembly that should be dynamically loaded when a partial name is used.
<relativeBindForResources> Optimizes the probe for satellite assemblies.
<remove> Removes a named cache entry from the namedCaches collection for a memory cache.
<runtime> Contains information about assembly binding and the behavior of garbage collection.
<shadowCopyTimeStampVerification> Specifies whether shadow copying uses the default startup behavior introduced in the .NET Framework 4, or reverts to the startup behavior of earlier versions of the .NET Framework.
<supportPortability> Specifies that an application can reference the same assembly in two different implementations of the .NET Framework, by disabling the default behavior that treats the assemblies as equivalent for application portability purposes.
<system.runtime.caching> Provides configuration information for the default in-memory object cache.
<Thread_UseAllCpuGroups> Specifies whether the runtime distributes managed threads across all CPU groups.
<ThrowUnobservedTaskExceptions> Specifies whether unhandled task exceptions should terminate a running process.
<TimeSpan_LegacyFormatMode> Specifies whether the runtime uses legacy formatting for TimeSpan values.
<useLegacyJit> Determines whether the common language runtime uses the legacy 64-bit JIT compiler for just-in-time compilation.
<UseRandomizedStringHashAlgorithm> Specifies whether the runtime calculates hash codes for strings on a per application domain basis.
<UseSmallInternalThreadStacks> Requests that the runtime use explicit stack sizes when it creates certain threads that it uses internally, instead of the default stack size.

See also