Если я правильно понимаю, вы находитесь на пути создания кошмара для обслуживания.
Ваша сборка не должна знать, кто ее потребляет. Представьте себе, что завтра будет другой контекст, в котором используется ваша сборка, вам придется снова изменить код и добавить больше зависимостей, которых не должно быть на первом месте.
ИМХО, вы либо создаете событие OnError, для которого вызываете соответствующий делегат, назначенный для него потребителями вашей сборки, или, по крайней мере, вы делаете что-то подобное тому, что делает System.Console.Out; то есть вы создаете свойство типа TextWriter, которое по умолчанию используется для регистрации всех ошибок, но разрешаете потребителям вашей сборки иметь установщик для этого свойства, чтобы они могли перенаправлять журнал в свой собственный TextWriter и обрабатывать сообщения как необходимо.
Имеет ли это смысл?