2009-05-07 6 views
4

Ich benutze .net Reactor, um eine Datenschicht Assembly zu verschleiern, die LinqToSql-Klassen enthält. Auf der Versammlung unter Berufung bekomme ich die folgende Fehlermeldung ..Können Sie LinqToSql Assemblies mit .net-Reaktor abdichten, ohne sie zu beschädigen?

Bad Lagerung Eigenschaft: ‚_ApplicationId‘ auf Mitglieder RCSQLData.Application_DB.ApplicationId '

ich die ‚Library‘ Modus bin mit und aktiviert haben ‚Necrobit "und" Verschleierung ".

Ist es möglich, LinqToSQL-Klassen zu verschleiern, oder ist es wieder die alte Reflexionswalnuss?

Michael

+0

Können Sie bitte eine Antwort akzeptieren, die Ihnen hier geholfen hat. Vielen Dank – GONeale

Antwort

1

berufen sich die geschützte Montage in dem Code, den er verwenden möchte? (dh Referenzierung der geschützten. DLL?)

Ich benutze auch .NET Reactor, aber im "Anwendungsmodus" und Schutz einer .exe mit zusätzlichen Baugruppen und es funktioniert gut. Wie auch immer, ich wähle meine Hauptbaugruppe und gebe zusätzliche Satelliten-DLLs an, die verwendet werden sollen, und sie werden in einer Aufnahme zusammengeführt und geschützt.

Ich glaube nicht, dass Sie in der Lage sein werden, einen Verweis auf eine geschützte .dll hinzuzufügen, das ist die Idee dahinter, da es darüber nachdenken müsste. Ich werde mehr über den Bibliotheksmodus lesen und zu dir zurückkommen.

3

Seine Ursache LINQ-toSQL verwendet Reflection sehr stark. Es kann die ursprünglichen Eigenschaften nicht finden, da es versucht, nach ihren ursprünglichen Namen (die jetzt verschleiert sind) zu suchen.

Die Lösung besteht darin, die richtigen Klassen/Mitglieder von der Umbenennung auszuschließen. Einige wie Crypto Obfuscator werden all dies automatisch für Sie tun, indem Sie LINQ-SQL-Verwendung in Ihrem Code erkennen.

Verwandte Themen