throws a SecurityException "This assembly does not allow partially trusted subscribers"
This is a good thing. If the assembly was not marked with the βAllow partially trusted callersβ attribute, this means that either (1) the authors of this assembly never performed a security check to ensure that it could be called by a hostile partially trusted code, or (2) performed a check security and determined that the assembly is not safe to call using hostile partially trusted code.
This exception protects your users from harm, and therefore you should be glad that you left it.
However, if I move the library to the same folder on the intranet as the running assembly, everything works fine.
So it looks like you solved your problem.
How can I improve a custom converter to avoid this security exception?
Are you asking how to work with a properly functioning security system that protects your users from attacks with hostile partially trusted code ? Why do you want to do this? If you could do it successfully, I hope you tell Microsoft about it so that we can fix the error and prevent you from doing this.
Do not work with security systems; work with security systems. If the problem is that you are invoking a component that requires a fully trusted caller, either (1) do not invoke that component, or (2) instruct your users to set policies that fully trust the caller.
source share