When I try to use my assembly I get an IO error and it says it cannot be loaded or mentions CAS policy and network shares?

There are two common causes of this problem and both are easily fixed.

Downloaded File

If you downloaded the library from a website or received it by email, Windows often marks them as a “downloaded file” and will also cause this error. To resolve it, select file properties in explorer and unblock the file and any dependencies that it has.

Exist on a Network Share

.NET has restrictions regarding loading code from network shares. You can either make the network share a trusted location, or you can tell .NET to allow CrossTalk to load the library explicitly and ignore the security restriction.