Я думаю, ЭТО - это то, что вы ищете, вы должны следовать (хорошо объясненным) шагам Автора, и с вами все будет в порядке.
Это прочитает ваш добавленный встроенный ресурс (dll в вашем случае) и загрузит / скомпилирует его во время выполнения по его расположению (и другой логике).
Цитата:
DLL не распространяются вместе с приложением, когда
приложение не может найти DLL, оно вызывает событие
AppDomain.CurrentDomain.AssemblyResolve. AssemblyResolve запрашивает
недостающая DLL. Затем мы сообщим нашему приложению, что нужно искать
DLL в памяти. Используйте EmbeddedAssembly.Get, чтобы извлечь DLL из
памяти и передать его AssemblyResolve для обработки остальных.