Bibliothekenmodus nach Assembly
Diese Einstellung teilt Dotfuscator mit, dass eine bestimmte Eingabeassembly eine Bibliothek darstellt. (Für Dotfuscator ist eine Bibliothek als Assembly definiert, auf die von anderen Komponenten verwiesen wird, die jedoch nicht als Eingaben in diesem Durchlauf angegeben sind.) Dies hat unabhängig von benutzerdefinierten Ausschlüssen Auswirkungen auf das Umbenennen und Pruning.
In Dotfuscator Community Edition gilt die library-Option für alle Eingabeassemblys. Wenn auch nur eine Eingabeassembly als Bibliothek markiert ist, werden alle Eingabeassemblys als Bibliotheken betrachtet.
Im Folgenden werden die Regeln für die Verwendung der library-Option aufgeführt:
- Namen von öffentlichen Klassen und geschachtelten öffentlichen Klassen werden nicht umbenannt. Member (Felder und Methoden) dieser Klassen werden ebenfalls nicht umbenannt, wenn sie den Zugriffstyp public, family oder famorassem besitzen.
- Außerdem werden virtuelle Methoden ungeachtet ihres Zugriffsspezifizierers nicht umbenannt. Dadurch können Clients der Bibliothek private virtuelle Methoden ggf. überschreiben (dies ist ein in der .NET-Architektur zulässiges Verhalten).
- Zusätzlich zu den aus den oben aufgeführten Regeln resultierenden Ausnahmen werden benutzerdefinierte Ausnahmen für das Umbenennen angewendet.
- Metadaten für Eigenschaften und Ereignisse werden immer beibehalten.
Wenn Sie für keine Assembly die library-Option festgelegt haben, wird Dotfuscator angewiesen, dass es sich bei der Eingabeassembly um eine eigenständige Anwendung handelt oder dass nur andere Eingabeassemblys auf diese Assembly verweisen. In diesem Fall fällt die Verbergung deutlich stärker aus:
- Alle Elemente mit Ausnahme von Methoden, die externe Klassen der Anwendung überschreiben (d. h. Klassen in Assemblys, die nicht in den Vorgang miteinbezogen werden), werden umbenannt.
- Metadaten für Eigenschaften und Ereignisse werden entfernt, da diese Metadaten für das Ausführen der Anwendung nicht erforderlich sind (diese sind für "Consumer" des Bibliothekscodes vorgesehen).
- Die benutzerdefinierten Ausnahmen für das Umbenennen werden wie gehabt angewendet.
Um den Bibliothekenmodus für eine Eingabeassembly anzugeben, fügen Sie dem entsprechenden <inputassembly>-Element ein <option>-Element hinzu.
<inputassembly> <option>library</option> <file dir="c:\temp" name="myproj.dll"/> </inputassembly>
© 2002-2007 PreEmptive Solutions. Alle Rechte vorbehalten.