我遇到了运行以.NET Framework 4.6为目标的ASP.NET Core 1.0应用程序的问题。直到我们尝试在运行Windows Server 2016的服务器上运行应用程序时,才发生该问题。该应用程序在IIS中托管,并且我已在服务器上安装了.NET Core 1.0 Windows托管软件包。ASP.NET中的ReflectionTypeLoadException核心MVC应用程序
在加载返回500错误的网站,这是写入日志:发生
未处理的异常:无法加载请求的类型中的一种或多种。检索LoaderExceptions属性以获取更多信息。 (fc7986d0) System.Reflection.ReflectionTypeLoadException:无法加载一个或多个请求的类型。检索LoaderExceptions属性以获取更多信息。
研究这个似乎涉及缺少DLL或不匹配的版本,我应该看LoaderExceptions属性来获取更多的信息,但我不知道怎么做,在这种情况下。日志条目只是通过在Startup.cs的Configure()方法中设置loggerFactory来创建的。
我试着添加一个IExceptionFilter ActionFilter实现并读取LoaderExceptions属性,如果该异常的类型为ReflectionTypeLoadException,但它在服务器上运行时不会命中。
有没有办法深入到Exception来读取LoaderExceptions属性(在生产环境中,在Visual Studio中运行时没有错误,因此调试没有帮助),或者另一种方法来解决原始问题错误来确定服务器设置有什么问题?