Подобные проблемы обычно можно обойти, добавив затронутую сборку в качестве внешней сборки в проект ConfuserEx.
Это можно сделать в файле * .crproj, добавив:
<module path="Discord.Net.WebSocket.dll" external="true" />
Исправьте значение пути, как требуется. Это даст ConfuserEx команду загружать конкретную сборку перед началом разрешения типов. Таким образом, вы получаете необходимый контроль над тем, какие сборки загружаются.
Часть external="true"
означает, что сборка не подлежит упаковке или запутыванию, а используется только для разрешения ссылок.
Таким образом, в итоге файл проекта ConfuserEx должен выглядеть примерно так:
<project outputDir=".\Confused" baseDir="." xmlns="http://confuser.codeplex.com">
<rule pattern="true" …>
…
</rule>
<module path="test.exe" />
<module path="Discord.Net.WebSocket.dll" external="true" />
</project>
Пути могут отличаться.