I'm trying to build a sample MVC3 project using FluentNhibernate, and I'm getting a typeloadexception when I try to create a sessionFactory.
SessionFactory
//using System;
//using NHibernate;
//using NHibernate.Cfg;
//using FluentNHibernate.Cfg;
//using FluentNHibernate.Cfg.Db;
//using System.Collections.Generic;
//using System.Linq;
//using System.Web;
//using System.Web.Mvc;
public class SessionProvider
{
public SessionProvider ()
{
}
public static ISessionFactory BuildFactory()
{
return Fluently.Configure()//Explosion here
.Database(MySQLConfiguration.Standard.ConnectionString(
c => c.FromConnectionStringWithKey("DashboardModels")
))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Accounts>())
.BuildSessionFactory();
}
}
Global.Asax
public class MvcApplication : System.Web.HttpApplication
{
public static ISessionFactory SessionFactory =
SessionProvider.BuildFactory();
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}
Exception
System.TypeInitializationException: An exception was thrown by the type initializer for
System.Web.Configuration.WebConfigurationManager ---> System.Exception: Method not found: 'System.Configuration.ConfigurationManager.get_ConfigurationFactory'.
--- 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 <filename unknown>:0
at Mono.WebServer.VPathToHost.CreateHost (Mono.WebServer.ApplicationServer server, Mono.WebServer.WebSource webSource) [0x00000] in <filename unknown>:0
at Mono.WebServer.XSP.Server.RealMain (System.String[] args, Boolean root, IApplicationHost ext_apphost, Boolean quiet) [0x00000] in <filename unknown>:0
at Mono.WebServer.XSP.Server.Main (System.String[] args) [0x00000] in <filename unknown>:0
I've used this exact code elsewhere in the past with no problem, and I don't know what could be the issue. Am I doing something wrong here?
I have learned that if you have any errors in Monodevelop, simply delete your project, throw your laptop out the window, and then you have a clear opening to jump out of it behind it. :P
Honestly, I had to delete the project, use a backup and do the exact steps I first took and it worked. So I'm sorry my only advice is to save many backups along the way. Basically if you have any errors in your output, but none when you build it. Just delete it and try again. Once the compiler is confused it would take an act of God to fix it.