LoaderOptimization Enum
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
An enumeration used with the LoaderOptimizationAttribute class to specify loader optimizations for an executable.
public enum class LoaderOptimization
public enum LoaderOptimization
[System.Serializable]
public enum LoaderOptimization
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum LoaderOptimization
type LoaderOptimization =
[<System.Serializable>]
type LoaderOptimization =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type LoaderOptimization =
Public Enum LoaderOptimization
- Inheritance
- Attributes
Fields
Name | Value | Description |
---|---|---|
NotSpecified | 0 | Indicates that no optimizations for sharing internal resources are specified. If the default domain or hosting interface specified an optimization, then the loader uses that; otherwise, the loader uses SingleDomain. |
SingleDomain | 1 | Indicates that the application will probably have a single domain, and loader must not share internal resources across application domains. |
MultiDomain | 2 | Indicates that the application will probably have many domains that use the same code, and the loader must share maximal internal resources across application domains. |
DomainMask | 3 | Do not use. This mask selects the domain-related values, screening out the unused DisallowBindings flag. |
MultiDomainHost | 3 | Indicates that the application will probably host unique code in multiple domains, and the loader must share resources across application domains only for globally available (strong-named) assemblies that have been added to the global assembly cache. |
DisallowBindings | 4 | Ignored by the common language runtime. |
Remarks
.NET Framework only: The meaning of MultiDomainHost
changed starting with .NET Framework version 2.0. The loader now shares resources across application domains only for assemblies that have been added to the global assembly cache.
Note
.NET Framework only: If custom code access security policy is set for the AppDomain, by using the SetAppDomainPolicy property, and the AppDomain is created using the MultiDomain
flag, the effect is the same as specifying the MultiDomainHost
flag; that is, only assemblies in the GAC are shared. When this occurs, the loader does not throw an exception and the application does not experience the performance gains associated with the MultiDomain
flag.
For more information on assembly sharing and domain-neutral assembly loading, see Application Domains and Assemblies.