Вопрос ваш понятен. На самом деле никак это не запретишь. Можно, конечно, пройтись обфускатором и переименовать все, даже public можно переименовать, чтобы не было понятно, что какой класс и метод делают. Можно сделать так, чтобы библиотека при использовании проверяла какую либо лицензию, которую вы придумаете.
Но я хотел поднять другой вопрос - а зачем все это? Пусть пользуются! Если захотеть, можно взломать что угодно, вопрос только в том, стоит ли это делать!
Это же реклама, причем бесплатная. Ведь если библиотека классная, то и сам продукт будут покупать, а готовый продукт куда дороже просто набора библиотек. Попробуйте сделать
наоборот, ничего не прячьте, откройте все методы, напишите SDK и распространяйте с готовым продуктом.
Thank you,
Misha Zhutov
http://submain.com - .NET Developer Tools
Microsoft
MVP