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.
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top