我正在开发。Net Standard项目,我在其中使用netDxf.netstandard库。
我正试图使用DotFuscator社区版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;
}
}
}
这个片段出了什么问题,所以混淆过程总是失败?
我在Dotfuscator团队工作,并以该身份回答这个问题。
感谢您发现此问题。它似乎发生在保护的时候。NET标准库,并且仅当受保护的库引用另一个名称包含netstandard
的库时。在这种情况下,您的。NET标准库引用CCD_ 2。
您可以通过设置名称为ilreader.alias_netstandard.never
的配置属性和任何非空值来解决此问题。但是,这可能会导致程序集解析出现其他问题,因此您可能还需要更新程序集加载路径。
至于潜在的问题,我们已经在内部提交了一个bug。该错误将在Dotfuscator Professional和Dotfuscat Community的未来版本中得到修复。