SecurityRuleSet 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.
Identifies the set of security rules the common language runtime should enforce for an assembly.
public enum class SecurityRuleSet
public enum SecurityRuleSet
type SecurityRuleSet =
Public Enum SecurityRuleSet
- Inheritance
Fields
Name | Value | Description |
---|---|---|
None | 0 | Unsupported. Using this value results in a FileLoadException being thrown. |
Level1 | 1 | Indicates that the runtime will enforce level 1 (.NET Framework version 2.0) transparency rules. |
Level2 | 2 | Indicates that the runtime will enforce level 2 transparency rules. |
Remarks
This enumeration indicates which set of security rules the common language runtime should enforce for an assembly. For example, an assembly that is marked with [SecurityRules(SecurityRuleSet.Level1)]
uses the .NET Framework version 2.0 transparency rules, where public security-critical types and members are treated as security-safe-critical outside the assembly. This requires security-critical types and members to perform a link demand for full trust to enforce security-critical behavior when they are accessed by external callers. Typically, level 1 rules should be used only for compatibility, such as for .NET Framework 2.0 assemblies. By default, .NET Framework 2.0 assemblies become level 2 assemblies when they are recompiled for the .NET Framework 4. To compile these assemblies as level 1, you must mark them explicitly as level 1. For more information about level 1 behavior, see Security-Transparent Code, Level 1. For information about level 2 behavior, see Security-Transparent Code, Level 2.