Unsupported .NET Framework Constructs? (FAQ24)

Can Software Potential be used to protect any .NET assembly?

You can protect and implement licensing for any kind of .Net assembly. However, methods with the following constructs cannot be transformed in Code Protector:

  • Generic methods or methods on generic types (see FAQ127: Generics support in SLPS) for more details of Generics support).
  • Non-static methods of a structure.
  • Methods with “out” or “ref” parameters.
  • Methods that invoke other methods with “out” or “ref” parameters.
  • Methods that modify a method parameter, even if the parameter is defined as a “by value”
  • Methods with too many local variables or parameters (> 254).
  • Methods that contain calls to
    • Reflection.Assembly.GetExecutingAssembly(),
    • Reflection.MethodInfo.GetCurrentMethod(), or
    • Reflection.Assembly.GetCallingAssembly().
  • Implicit and explicit cast operators
  • Unsafe code – For example, in C#, methods that contain the keyword unsafe typically cannot be transformed.
  • Autoproperty Initializers (in C# 6) 
  • Exception Filters (in C# 6)

Link to this


You can link to this item directly, using the shorter URL support.inishtech.com/FAQ24.