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_v40_long. 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.
Indicates that the runtime will enforce level 1 (.NET Framework version 2.0) transparency rules.
Indicates that the runtime will enforce level 2 transparency rules.
Unsupported. Using this value results in a System.IO.FileLoadException being thrown.