Я запускаю dotfuscator 5 из командной строки, используя файл конфигурации.Это работает нормально, более или менее, за исключением одного нового требования, которое только что появилось.
У меня есть класс с небольшим числом (менее полдюжины) пустых методов, которые необходимо исключить из переименования (дляокольная система вызова отраженных методов по имени; не спрашивайте ...)
Их подпись (имена изменены, чтобы защитить невинных) void Method(System.Xml.XmlNode xnode, ref System.String str)
.
Мой вопросfold:
- Как выразить параметр ref в синтаксисе конфигурации dotfuscator?
- Почему не работает сигнатура метода, указанного в файле карты?
Файл карты содержит элемент <signature>void(System.Xml.XmlNode, string&)</signature>
, когда эти методы переименованы.Поэтому я ожидал бы иметь возможность указать в файле конфигурации:
<type name="ParentClass" excludetype="false">
<method signature="void(System.Xml.XmlNode, string&)"/>
</type>
Это не работает.В выводе утилиты командной строки утверждается, что файл конфигурации недействителен.
Если я включу синтаксис name=".*" regex="true"
, all , методы в типе исключаются.Я не хочу этогоЯ понимаю, почему это так - правила объединяются в единое целое - но утилита вынуждает меня использовать опции, которые мне не нужны, отклоняя конфигурационные файлы, которые указывают мои действительные требования.
Что дает?
Я чувствую - потому что меня это начинает раздражать - я должен указать, что я нашел документацию по Dotfuscator как ... не очень хорошую.