Поделиться через


Режим библиотеки для сборки

ms227298.pro(ru-ru,VS.90).jpg Данный параметр указывает, что в определенной входной сборке содержится библиотека. (Для целей запутывания с помощью средства Dotfuscator библиотека определяется как сборка, на которую ссылаются из других компонентов и которая не определена как один из исходных компонентов для данной обработки.) Это имеет смысл для переименования и очистки, независимо от любых других установленных собственных исключений.

ms227298.ce(ru-ru,VS.90).jpg В версии Dotfuscator Community Edition параметр библиотеки применяется для всех входных сборок. Если одна входная сборка отмечена как библиотека, то все другие входные сборки также считаются библиотеками.

Ниже приводятся правила использования параметра библиотеки.

  1. Имена открытых классов и вложенных открытых классов не переименовываются. Члены (поля и методы) таких классов также не переименовываются, если у них стоит уровень доступа «public», «family» или «famorassem».
  2. Кроме того, не переименовываются виртуальные методы, независимо от уровня доступа. Это позволяет клиентам библиотеки при необходимости переопределять закрытые виртуальные методы (такое поведение разрешается в архитектуре .NET).
  3. Любые другие собственные исключения для переименования применяются в дополнение к исключениям, налагаемым вышеупомянутыми правилами.
  4. Метаданные свойств и событий всегда сохраняются неизменными.

Если для сборки не задан параметр библиотеки, это говорит средству Dotfuscator о том, что входная сборка является автономным приложением или используется только для ссылок из других входных сборок. В этом случае запутывание является более сложным:

  1. Переименование не выполняется для методов, которые переопределяют классы, внешние для приложения (то есть, классы сборок, которые не включены в данную обработку).
  2. Удаляются метаданные свойств и методов, поскольку указанные метаданные не требуются для выполнения приложения (это относится к «пользователям» кода библиотеки.
  3. Как правило, также применяются исключения для переименования, определенные пользователем.

Чтобы задать режим библиотеки для входной сборки, добавьте элемент <option> в соответствующий элемент <inputassembly>.

      <inputassembly>
        <option>library</option>
        <file dir="c:\temp" name="myproj.dll"/> 
      </inputassembly>

© 2002-2007 PreEmptive Solutions. Все права защищены.