This is just for those developing ASP.NET 2.0 web apps.
There are instances where IIS (and even more so Cassini) will swap your Thread from one AppDomain to another. What this means is:
1. Thread local storage content MUST be serializable
2. Any AppDomain that the thread is swapped to MUST have access to the assembly
The only current workaround offered is to simply store the assembly in the GAC. This is fine for releases but is a pain during development. On the up side, if your IIS is local, then I’m guessing that #2 would not be an issue.