The .NET Framework enforces secuity at several levels. For example, assemblies downloaded from the Internet have very limited permissions (especially after installing the Service Pack 1 of the Framework). This means that many operations that would be legal in some cases may throw an exception in others.
In general, the exception being thrown has "security" in its name, so you can often understand when an assembly isn't working property because of security issues. In some cases, however, the exception is caught somewhere in your code, and the application malfunctions without any apparent causes. In this case, you can easily tell whether security is involved.
The easiest way to understand whether security is the cause of the problem is to temporarily disable .NET security completely. You can do this with the CASPOL command line utility:
caspol –security off
The above command disables security at the machine level, for all the version of the .NET framework installed on the computer. Of course, you should re-enable security as soon as you fix the problem, with this command:
caspol –security on
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible.
Submit your tip here.