ObfuscateAssemblyAttribute(Boolean) Constructor

Definition

Initializes a new instance of the ObfuscateAssemblyAttribute class, specifying whether the assembly to be obfuscated is public or private.

public:
 ObfuscateAssemblyAttribute(bool assemblyIsPrivate);
public ObfuscateAssemblyAttribute (bool assemblyIsPrivate);
new System.Reflection.ObfuscateAssemblyAttribute : bool -> System.Reflection.ObfuscateAssemblyAttribute
Public Sub New (assemblyIsPrivate As Boolean)

Parameters

assemblyIsPrivate
Boolean

true if the assembly is used within the scope of one application; otherwise, false.

Examples

The following code example shows how the attribute constructor specifies that an assembly is private. The StripAfterObfuscation property is false, to prevent the obfuscation tool from stripping the attribute after processing.

using System;
using System.Reflection;

[assembly: ObfuscateAssemblyAttribute(true,
    StripAfterObfuscation=false)]
Imports System.Reflection

<Assembly: ObfuscateAssemblyAttribute(False, _
    StripAfterObfuscation:=False)>

Remarks

Mark assemblies as private if they are used only by your application, and are not libraries to be used by other software. Generally, marking an assembly as private tells an obfuscator that it can obfuscate the names of all methods, including public methods, as part of obfuscating an application. If an assembly is public, an obfuscator should not obfuscate the names of public members.

Important

Applying this attribute does not automatically obfuscate the assembly. Applying the attribute is an alternative to creating a configuration file for the obfuscation tool. That is, it merely provides instructions for an obfuscation tool. Microsoft recommends that vendors of obfuscation tools follow the semantics described here. However, there is no guarantee that a particular tool follows Microsoft recommendations.

Applies to