Если пользователь знает почти что-либо о кодировании в .net, и они видят .dll, у них есть неудачная возможность вызвать ваши общедоступные функции и подпрограммы. Я знаю, что вы можете попробовать «ключевую» систему, где он будет проверять определенный «ключ» в качестве аргумента и только запускать код, если «ключ» действителен, но я просто запустил код и DLL, которые я и когда .dll бросил необработанное исключение, он показал мне содержимое файла.Можно ли использовать DLL для основной логики вашего приложения .NET?
Как защитить ваши .dlls? Если вы ставите только код, в котором вы готовы рисковать?
Что-то еще, о чем нужно помнить: я не думаю, что вы можете «видеть код» для DLL в необработанном исключении, если DLL построена в режиме деблокирования, а PDB-файл отсутствует. –
@Mark Rushakoff: сборка .NET может быть декомпилирована с использованием рефлектора ... –
@Mitch Wheat: Согласовано, но платформа .NET не должна давать подробных сведений, если существует необработанное исключение, если DLL была построена таким образом. –