Como existe o problema de incompatibilidade, a nossa recomendação é evitar o uso da DLL, pois não temos como oferecer suporte para a resolução deste problema.
Contudo, caso o usuário não se importe em correr riscos, as possíveis soluções para este problema são:
1. não utilizar a nossa DLL;
2. construir a aplicação de modo que a aplicação não faça uso da DLL e do Report Viewer de forma simultânea, uma forma de fazer isto seria separar os módulos;
3. utilizar alguma solução alternativa ao Report Viewer;
4. utilizar uma versão específica da DLL que não apresenta problemas, mas existe a ressalva que não temos garantir que a versão específica irá funcionar sempre ou que conseguiremos gera-la sempre, assim é uma escolha de alto risco;
5. utilizar a "solução" reportada por um de nossos usuários:
No formulário que é chamado o o Formulário do Report Viewer no using:
using System.Reflection
antes de chamar o relatório:
reportViewer1.LocalReport.ExecuteReportInCurrentAppDomain(Assembly.GetExecutingAssembly().Evidence);
No modo de depuração (no Visual Studio) o erro continua a dar erro porém quando de executa direto o executável o problema acaba.