Dotfuscator und Typen von verschmolzenen Baugruppen
-
12-10-2019 - |
Frage
Mit Dotfuscator Professionelle V4.8 (von PreEmptive Solutions) ist es möglich, einen öffentlichen Typ zu machen, aus einem zusammen (aka verbunden sind) nicht-Urversammlung eine öffentliche Art der fusionierten Montage?
Das heißt, nehme Anordnung A einen öffentlichen Typ hat Foo genannt, und die Montage ist B eine öffentliche Methode mit einer Signatur, die Foo enthält geben. Nach dem Zusammenführen von A und B in C, mit B als Primäranordnung, ich mag Foo eine öffentliche Art von C zu sein.
Es scheint, dass Dotfuscator macht immer Foo interne C geben.
- Ich habe versucht, das Hinzufügen [System.Reflection.Obfuscation (Ausschließen = true)] geben Foo, aber es scheint zu haben keine Wirkung.
- Ich interessiere mich nicht, dass die neue Art Wille mit dem Typ aus dem Original nicht kompatibel Montage.
Lösung
. Hinweis: Ich arbeite an dem Dotfuscator Team
Das sollte nicht passieren. Ich habe gerade zwei kleine Beispiele und konnte das Verhalten nicht reproduzieren Sie erwähnen. Meine Grundeinstellungen waren
Tester.exe (Primary Assembly, both merged into out.exe)
References Library
public class Program { public void Method(Foo foo) {} }
Library.dll
public class Foo {}
und
Tester.exe (Primary Assembly, all 3 merged into out.exe)
References LibraryA & LibraryB
LibraryA.dll
public class Foo {}
LibraryB.dll
References LibraryA
public class C { public void Method(int x, Foo foo) {} }
In beiden Fällen Foo bleibt öffentlich.
Das Verhalten, das Sie beschreiben, sind oft, was die Nutzer wollen passieren, aber wir ändern nicht wissentlich barriere Ebenen wegen der Verschmelzung.
Bitte lassen Sie mich wissen, wenn Ihr Setup irgendwie anders war als meine. Ich würde mich interessieren Ihre genaue Reproduktion zu sehen. Wenn Sie in der Lage sind, bitte diesen Thread es support@preemptive.com und Referenz schicken. Danke.