我正在尝试使用FluentNhibernate构建一个示例MVC3项目,当我尝试创建一个sessionFactory时,我得到了一个typeloadexception。
的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);
}
}
异常
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
我在过去的其他地方使用过这个确切的代码没有问题,我不知道可能是什么问题。我在这里做错了吗?
答案 0 :(得分:1)
我了解到,如果您在Monodevelop中有任何错误,只需删除您的项目,将您的笔记本电脑扔出窗外,然后您就可以在其后面跳出它。 :P
老实说,我不得不删除项目,使用备份并按照我第一次采取的确切步骤进行操作。所以我很抱歉我唯一的建议是在整个过程中保存很多备份。基本上,如果输出中有任何错误,但在构建时没有错误。只需删除它,然后重试。一旦编译器感到困惑,就需要采取上帝的行动来解决它。