Hello so I have been trying to get my website to run on mono (on ubuntu server) and I have followed these tutorials almost to the letter:
However when my directory is not blank fastcgi logs reveal this: 
    Notice  Beginning to receive records on connection.
    Error   Failed to process connection. Reason: Exception has been thrown by the target of an invocation.
I am not really sure what this means, and depending on what I do I can get another error that tells me the resource cannot be found:
The resource cannot be found.
    Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.   Please review the following URL and make sure that it is spelled correctly.
Requested URL: /Default.aspx/
Version information: Mono Runtime Version: 2.10.8 (tarball Thu Aug 16 23:46:03 UTC 2012)      ASP.NET Version: 4.0.30319.1
If I should provide some more information please let me know. 
Edit:
I am now getting a nginx gateway error.
My nginx configuration file looks like this:
server {
    listen   2194;
    server_name localhost;
    access_log $HOME/WWW/nginx.log;
    location / {
      root $HOME/WWW/dev/;
      index index.html index.html default.aspx Default.aspx Index.cshtml;
      fastcgi_index Views/Home/; 
      fastcgi_pass 127.0.0.1:8000;
      include /etc/nginx/fastcgi_params;
    }
}
Running the entire thing with xsp4 I have discovered what the "Exception has been thrown by  the target of an invocation."
  Handling exception type TargetInvocationException Message is Exception
  has been thrown by the target of an invocation. IsTerminating is set
  to True System.Reflection.TargetInvocationException: Exception has
  been thrown by the target of an invocation.
  
  Server stack trace:  at System.Reflection.MonoCMethod.Invoke
  (System.Object obj, BindingFlags invokeAttr,
  System.Reflection.Binder binder, System.Object[] parameters,
  System.Globalization.CultureInfo culture) [0x00000] in :0    at System.Reflection.MethodBase.Invoke (System.Object
  obj, System.Object[] parameters) [0x00000] in :0
  at System.Runtime.Serialization.ObjectRecord.LoadData
  (System.Runtime.Serialization.ObjectManager manager,
  ISurrogateSelector selector, StreamingContext context) [0x00000] in
  :0    at
  System.Runtime.Serialization.ObjectManager.DoFixups () [0x00000] in
  :0    at
  System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadNextObject
  (System.IO.BinaryReader reader) [0x00000] in :0
  at
  System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectGraph
  (BinaryElement elem, System.IO.BinaryReader reader, Boolean
  readHeaders, System.Object& result,
  System.Runtime.Remoting.Messaging.Header[]& headers) [0x00000] in
  :0    at
  System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize
  (System.IO.Stream serializationStream,
  System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000] in
  :0    at
  System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize
  (System.IO.Stream serializationStream) [0x00000] in :0    at
  System.Runtime.Remoting.RemotingServices.DeserializeCallData
  (System.Byte[] array) [0x00000] in :0    at (wrapper
  xdomain-dispatch) System.AppDomain:DoCallBack (object,byte[]&,byte[]&)
  
  Exception rethrown at [0]:   --- System.ArgumentException: Couldn't
  bind to method 'SetHostingEnvironment'.   at
  System.Delegate.GetCandidateMethod (System.Type type, System.Type
  target, System.String method, BindingFlags bflags, Boolean ignoreCase,
  Boolean throwOnBindFailure) [0x00000] in :0    at
  System.Delegate.CreateDelegate (System.Type type, System.Type target,
  System.String method, Boolean ignoreCase, Boolean throwOnBindFailure)
  [0x00000] in :0    at System.Delegate.CreateDelegate
  (System.Type type, System.Type target, System.String method) [0x00000]
  in :0    at
  System.DelegateSerializationHolder+DelegateEntry.DeserializeDelegate
  (System.Runtime.Serialization.SerializationInfo info) [0x00000] in
  :0    at System.DelegateSerializationHolder..ctor
  (System.Runtime.Serialization.SerializationInfo info, StreamingContext
  ctx) [0x00000] in :0    at (wrapper
  managed-to-native) System.Reflection.MonoCMethod:InternalInvoke
  (System.Reflection.MonoCMethod,object,object[],System.Exception&)   at
  System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags
  invokeAttr, System.Reflection.Binder binder, System.Object[]
  parameters, System.Globalization.CultureInfo culture) [0x00000] in
  :0    --- End of inner exception stack trace ---
  at (wrapper xdomain-invoke) System.AppDomain:DoCallBack
  (System.CrossAppDomainDelegate)   at (wrapper
  remoting-invoke-with-check) System.AppDomain:DoCallBack
  (System.CrossAppDomainDelegate)   at
  System.Web.Hosting.ApplicationHost.CreateApplicationHost (System.Type
  hostType, System.String virtualDir, System.String physicalDir)
  [0x00000] in :0    at
  Mono.WebServer.VPathToHost.CreateHost
  (Mono.WebServer.ApplicationServer server, Mono.WebServer.WebSource
  webSource) [0x00000] in :0    at
  Mono.WebServer.XSP.Server.RealMain (System.String[] args, Boolean
  root, IApplicationHost ext_apphost, Boolean quiet) [0x00000] in
  :0    at Mono.WebServer.XSP.Server.Main
  (System.String[] args) [0x00000] in :0