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.