PreEmptive DotFuscator: для модуля не найдены отладочные символы, элемент с таким же ключом уже был добавлен

Я работаю над проектом.Net Standard и использую в нем библиотеку netDxf.netstandard.

Я пытаюсь скрыть свой код с помощью графического интерфейса DotFuscator Community Edition.

Процесс сборки 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;
        }
    }
}

Что не так с этим фрагментом, поэтому процесс обфускации всегда терпит неудачу?

1 ответ

Решение

Я работаю в команде Dotfuscator и в этом качестве отвечаю на этот вопрос.

Спасибо, что нашли эту проблему. Кажется, это происходит только при защите стандартных библиотек.NET и только в том случае, если защищаемая библиотека ссылается на другую библиотеку, имя которой содержитnetstandard. В этом случае ваша библиотека.NET Standard ссылается наnetDxf.netstandard.dll.

Вы можете обойти проблему, установив свойство конфигурации с именемilreader.alias_netstandard.neverи любое непустое значение. Однако это может вызвать другие проблемы с разрешением сборки, поэтому вам также может потребоваться обновить пути загрузки сборок.

Что касается основной проблемы, мы зарегистрировали ошибку внутри компании. Ошибка будет исправлена ​​в будущих выпусках Dotfuscator Professional и Dotfuscator Community.

Другие вопросы по тегам