Also, having just done a quick google, the following might help
Firstly check the following blog post which has some very useful info in it:
http://blogs.msdn.com/suzcook/archive/2003/05/29/57120.aspx
Secondly, in order to trouble shoot this, I would:
1) turn on Assembly Binding logging to see where Codesmith is trying to locate the dll in case that offers any assistance (instructions on how to do that are in the above post)
2) Use the log viewer to see the results of 1) - see: http://msdn.microsoft.com/en-us/library/e74a18c4(VS.80).aspx for that
3) There is a comment in the blog post about not checking the GAC for assemblies where the full name isn't given (your error message stack trace shows a call to System.Reflection.Assembly.LoadWithPartialNameInternal so it might not be looking in the GAC anyway) - if that's the case then finding out where it IS looking may help you know where the dll needs to sit
Hope that helps
Martin