servicestack - ServiceStack:升级到 5.4.1 在 ServiceStack.Common 上给了我 ReflectionTypeLoadException
问题描述
我正在运行 ServiceStack 5.2.0,直到我因为这个答案而升级。
完成此操作并再次运行应用程序后,我现在ReflectionTypeLoadException
在处理 Assembly 时得到ServiceStack.Common, Version=5.0.0.0, Culture=neutral, PublicKeyToken=02c12cbda47e6587
.
在我的代码中,由于某种与此问题无关的原因,我执行以下操作:
Type[] typeArray = assembly.GetTypes();
当我这样做时,我收到此错误:
{“来自程序集 'ServiceStack.Common, Version=5.0.0.0, Culture=neutral, PublicKeyToken=02c12cbda47e6587' 的类型 'ServiceStack.SimpleAppSettings' 中的方法 'GetKeyValuePairs' 没有实现。”:“ServiceStack.SimpleAppSettings”}
我想“让我们避免处理 Servicestack,因为它不是我真正想要的”,所以我将其更改为:
if (!assembly.DefinedTypes.Any(x => x.FullName.StartsWith("SomeThing")))
但是当执行到达这一行时我仍然得到同样的错误。
更新
升级后,我实际上在其他地方也看到了 LoaderExceptions:
System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。在 System.Reflection.RuntimeModule.GetTypes(RuntimeModule 模块) 在 System.Reflection.RuntimeModule.GetTypes() 在 System.Reflection.Assembly.GetTypes() 在 tWorks.Core.CoreServerCommons.RequestProcessing.RequestProcessorFactory`2.<>c.b__8_0 (程序集)在 ....RequestProcessorFactory.cs:line 105
一些底层库发生了什么事吗?
解决方案
正如 Mythz 在此处的评论中所说,所需要做的就是清除 NuGet 缓存:
VS --> Tools --> NuGet Packet Manager --> Packet Manager Settings --> Clear All NuGet Caches(s)
推荐阅读
- ibm-midrange - 检索数据结构字段的名称
- css - 如何在 Jest 中处理带有 ?module 后缀的 css 模块
- reactjs - 如何使用 REST API(React) 从 SharePoint 列表将图像上传到图像列
- powershell - PowerShell - 仅导入和拆分 csv 文件中的一列
- postgresql - 如果语句在 Postgresql 中使用提取日期
- html - Excel VBA 宏获取 HTML SPAN ID 值
- vue.js - 默认选中所有复选框
- java - Apache POI 仅在 Number 为十进制时才应用浮点格式
- delphi - 如何获取驱动器的 SHSTOCKICONID?
- android - Kotlin 替换字符串中的所有匹配表达式