iis 正在中使用ASMX服务,Net Core API:System.Reflection.ReflectionTypeLoadException:无法加载一个或多个请求的类型

odopli94  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(162)

当我尝试启动时,日志文件中出现以下错误。部署在IIS上的Net Core API应用程序。根据许多帖子(IIS中的配置更改等)尝试了许多解决方法,但仍然无法解决此问题。特别尝试添加日志来查找特定的缺少的dll使用此链接,相关。净核心ReflectionTypeLoadException in ASP.NET Core MVC application

  • 创建了ExceptionCatchMiddleware扩展类。
  • 将其添加到启动中的Configure()方法中。cs:

但它没有记录任何与此异常相关的特定日志消息。日志中只有上述错误。
这是一个.Net Core API应用程序(Net Core 2.0与Visual Studio 2017)。部署在Windows 10和Windows Server 2012 R2中的IIS上。日志文件中存在相同错误。
我在这里发现的主要问题是:这个项目添加了对SOAP服务(asmx服务)的引用。删除此服务引用后,不会出现此类错误。似乎应用程序试图从其他地方获取相关的dll,而不是从发布的文件夹获取。可能来自GAC。但是复制了与“系统”相关的dll。服务模型。* “也添加到GAC(这些是通过Visual Studio中的Connected Services添加服务引用时自动添加的dll(来自Nuget))。
只有在部署(在IIS上)之后才会发生这种情况。当从源代码运行此应用程序时,这工作正常。无此类错误。我不确定这些新版本的。Net Core在部署后不支持asmx服务。
感谢任何帮助来解决这个问题,因为我们在这个项目中需要asmx服务参考。谢谢大家。
2018-10-01T10:10:42.6383743+01:00 0 HLH 7 FMNJ 4U 50:0000002 [ERR]连接id““0 HLH 7 FMNJ 4U 50”",请求id““0 HLH 7 FMNJ 4U 50:0000002”":应用程序引发了未处理的异常。(560 e7 d32)系统。Reflection.ReflectionTypeLoadException:无法加载一个或多个请求的类型。有关详细信息,请检索LoaderExceptions属性。在System. Reflection中。运行时间模块。GetTypes(RuntimeModule模块)。Reflection.RuntimeAssembly.get_DefinedTypes()在Microsoft。AspNetCore.Mvc.控制器。ControllerFeatureProvider。PopulateFeature(IEEnumerable 1部件,ControllerFeature功能)。AspNetCore.Mvc.应用程序部件。ApplicationPartManager。Microsoft的PopulateFeature[TFeature](TFeature功能)。AspNetCore.Mvc.Internal. ControllerActionDescriptorProvider。Microsoft的GetControllerTypes()。AspNetCore.Mvc.Internal. ControllerActionDescriptorProvider。BuildModel()在Microsoft。AspNetCore.Mvc.Internal. ControllerActionDescriptorProvider。Microsoft的GetDescriptors()。AspNetCore.Mvc.Internal. ControllerActionDescriptorProvider。OnProvidersExecuting(ActionDescriptorProviderContext context)在Microsoft。AspNetCore.Mvc.Internal. ActionDescriptorCollectionProvider。UpdateCollection()在Microsoft。AspNetCore.Mvc.Internal. ActionDescriptorCollectionProvider。get_ActionDescriptors()在Microsoft。AspNetCore.Mvc.Internal.AttributeRoute.GetTreeRouter()在Microsoft。AspNetCore.Mvc.Internal.AttributeRoute.RouteAsync(RouteContext context)。AspNetCore.Routing.RouteCollection。d__9.MoveNext()---从抛出异常的前一个位置开始的堆栈跟踪结束---在系统上。Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()系统。Runtime.CompilerServices.任务等待。Microsoft的HandleNonSuccessAndDebuggerNotification(任务任务)。AspNetCore.Builder.路由器中间件。d__4.MoveNext()---从抛出异常的前一个位置开始的堆栈跟踪结束---在系统上。Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()系统。Runtime.CompilerServices.任务等待。Microsoft的HandleNonSuccessAndDebuggerNotification(任务任务)。AspNetCore.Server.IIS整合。IISMiddleware。d__11.MoveNext()---从抛出异常的前一个位置开始的堆栈跟踪结束---在系统上。Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()系统。Runtime.CompilerServices.任务等待。Microsoft的HandleNonSuccessAndDebuggerNotification(任务任务)。AspNetCore.Hosting.Internal. RequestServicesContainerMiddleware。d__3.MoveNext()---从抛出异常的前一个位置开始的堆栈跟踪结束---在系统上。Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()系统。Runtime.CompilerServices.任务等待。Microsoft的HandleNonSuccessAndDebuggerNotification(任务任务)。AspNetCore.Server.Kestrel.Core.Internal.Http.Frame1.d__2。MoveNext()2018-10-01T10:10:42.6385488+01:00 0 HLH 7 FMNJ 4U 50:0000002 [INF]请求在11完成。3774ms 500(791a596a)
PS:我可以解决这个问题。我在下面的评论中添加了我找到的解决方案。

qco9c6ql

qco9c6ql1#

我可以通过添加a来解决这个问题。Net标准项目的。Net Core 2.0项目(已添加。NET标准项目引用。Net Core项目)。

相关问题