我正在使用 .net Reactor 来混淆包含 LinqToSql 类的数据层程序集。在调用程序集时,我收到以下错误..
错误的存储属性:成员“RCSQLData.Application_DB.ApplicationId”上的“_ApplicationId”
我正在使用“图书馆”模式并启用了“Necrobit”和“混淆”。
是否可以混淆 LinqToSQL 类,或者它又是旧的反射核桃?
迈克尔
我正在使用 .net Reactor 来混淆包含 LinqToSql 类的数据层程序集。在调用程序集时,我收到以下错误..
错误的存储属性:成员“RCSQLData.Application_DB.ApplicationId”上的“_ApplicationId”
我正在使用“图书馆”模式并启用了“Necrobit”和“混淆”。
是否可以混淆 LinqToSQL 类,或者它又是旧的反射核桃?
迈克尔
这是因为 LINQ-toSQL 大量使用反射。它无法找到原始属性,因为它试图通过原始名称(现在已被混淆)搜索它们。
解决方案是从重命名中排除正确的类/成员。Crypto Obfuscator等一些会通过检测代码中的 LINQ-SQL 使用情况自动为您完成所有这些工作。
您是否在希望使用它的代码中调用受保护的程序集?(即引用受保护的 .dll?)
我也在使用 .NET Reactor,但在“应用程序模式”下并使用附加程序集保护 .exe,它工作正常。但是,我选择了我的主程序集并指定了要使用的附加卫星 .dll,它在一次合并和保护中被合并。
我不相信您将能够添加对受保护的 .dll 的引用,这就是它背后的想法,因为它需要反思它。我会在图书馆模式上阅读更多内容并回复您。