@TK has the answer here, I believe, though it may not be as simple as whether or not nant is running from a network drive.
I have had a similar issue as @Aidan. It turns out that I had copied the nantcontrib (v .86) assemblies to my build system in such a way that Windows 7 restricted access to the nantcontrib assemblies. To fix this, I first copied the nantcontrib zip file to my build VM, then overwrote the blocked assemblies with the contents of the .zip. Windows 7 saw that the files were coming from the local system (rather than from whatever untrusted source I had copied from originally) and it unblocked the assemblies.
There is probably a more direct means of trusting the assemblies (such as @TK's link), but this worked for me.
If you see this error again, look for two things:
First, Nant (v .91 alpha 2) does a decent job reporting exactly what the error is. I saw the same error as @Adian, along with a complete error stack, and finally this information (emphasis mine):
The assembly or AppDomain that failed was: NAnt.Contrib.Tasks,
Version=0.86.3319.0, Culture=neutral, PublicKeyToken=null The method
that caused the failure was: NAnt.Core.Task
CreateChildTask(System.Xml.XmlNode)
The Zone of the assembly that
failed was: Internet
The Url of the assembly that failed was:
file:///C:/Program Files (x86)/NAntBuilder
2/nantcontrib/bin/NAnt.Contrib.Tasks.dll
Second, look at the property page of the offending assembly (in my case, Nant.Contrib.Tasks.dll). If the file has been copied from an untrusted source, you will see an "Unblock" button in the properties section (beneath Advanced...) along with a note which stated that the files had come from an untrusted source.