【问题标题】:PreEmptive DotFuscator: No debugging symbols found for module, An item with the same key has already been addedPreEmptive DotFuscator:未找到模块的调试符号,已添加具有相同键的项
【发布时间】:2020-08-08 18:21:10
【问题描述】:

我正在开发一个 .Net 标准项目,我正在其中使用 netDxf.netstandard 库。

我正在尝试使用 DotFuscator Community Edition GUI 混淆我的代码。

DotFuscator 构建过程失败并抛出以下消息:

Reading debugging symbols for module 'MyNameSpace.dll'...
Warning: No debugging symbols found for module 'MyNameSpace.dll'.
An item with the same key has already been added.
Build Error.

经过两天的代码修剪:我最终得到了一个单一文件的项目,并且抛出了相同的错误消息!

using netDxf.Entities;

namespace MyNameSpace
{
    public class Cls
    {
        public static double Method1(Polyline p)
        {
            return 0;
        }

        public static double Method2(LwPolyline p)
        {
            return 0;
        }
    }
}

这个sn-p有什么问题所以混淆过程总是失败?

【问题讨论】:

    标签: obfuscation class-library dotfuscator .net-standard-2.1


    【解决方案1】:

    我在 Dotfuscator 团队工作,并以这种身份回答这个问题。

    感谢您发现此问题。它似乎仅在保护 .NET Standard 库时发生,并且仅当受保护的库引用另一个名称包含 netstandard 的库时。在这种情况下,您的 .NET Standard 库引用 netDxf.netstandard.dll

    您可以通过setting a config property 使用名称ilreader.alias_netstandard.never 和任何非空值来解决此问题。但是,这可能会导致程序集解析出现其他问题,因此您可能还需要更新 assembly load paths

    至于根本问题,我们已经在内部提交了一个错误。该错误将在 Dotfuscator Professional 和 Dotfuscator Community 的未来版本中修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-14
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多