C# TypeLoadExeception从应用程序启动调用类库
我正在处理一个.NET4.5WebAPI项目1,我遇到了一个奇怪的错误。最初,一切都构建在一个项目中。我发现我想将业务逻辑项目BLL分解成一个单独的类库,以便它可以在其他项目中重用。我经历了将其分解的过程,发现它在项目2中起作用。当我尝试运行Project1时,我遇到了一个奇怪的问题,当我尝试调用ProjectBLL中的函数时,我在应用程序中遇到了TypeLoadException。我在项目2中调用了相同的函数,没有问题。问题似乎只出现在项目1中,该项目在拆分之前运行良好。我得到的确切错误消息是:C# TypeLoadExeception从应用程序启动调用类库,c#,asp.net,asp.net-web-api,.net-4.5,C#,Asp.net,Asp.net Web Api,.net 4.5,我正在处理一个.NET4.5WebAPI项目1,我遇到了一个奇怪的错误。最初,一切都构建在一个项目中。我发现我想将业务逻辑项目BLL分解成一个单独的类库,以便它可以在其他项目中重用。我经历了将其分解的过程,发现它在项目2中起作用。当我尝试运行Project1时,我遇到了一个奇怪的问题,当我尝试调用ProjectBLL中的函数时,我在应用程序中遇到了TypeLoadException。我在项目2中调用了相同的函数,没有问题。问题似乎只出现在项目1中,该项目在拆分之前运行良好。我得到的确切错误消息是
Could not load type 'Project.BLL.Mappers.v1.AutoMapperConfiguration' from assembly 'Project.BLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
在项目1中,我能够使用Intelesense和F12 Go to Definition查看这两个项目是否正确连接。有什么想法吗
更新:
这是整个堆栈跟踪。它没有命中Global.asax.cs中的断点,因此我无法真正访问内部异常:
[TypeLoadException: Could not load type 'Project.BLL.Mappers.v1.AutoMapperConfiguration' from assembly 'Project.BLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.]
Project.BLL.WebApiApplication.Application_Start() in d:\Solutions\Project_1\Global.asax.cs:58
[HttpException (0x80004005): Could not load type 'Project.BLL.Mappers.v1.AutoMapperConfiguration' from assembly 'Project.BLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +12864365
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +175
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +304
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +404
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +475
[HttpException (0x80004005): Could not load type 'Project.BLL.Mappers.v1.AutoMapperConfiguration' from assembly 'Project.BLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12881108
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12722297
检查项目配置,确保两个项目的目标都是相同的框架和平台,例如,任何Cpu都可能有更多关于运行时无法在InnerException中加载类型的信息。这些都是相同的.NET版本吗?Adam-我在Garrison上添加了堆栈跟踪信息-两个项目都设置为.NET 4.5 Whats工作项目的类型?创建一个空的web api项目,只使用automapper,看看是否发生了相同的事情。这两个项目都是为.NET 4.5和任何CPU设置的