C# MissingMethodException获取查询字符串
我在.net core应用程序(.net core 2.1,我使用的是service stack 5.2)中遇到此异常 找不到方法:“ServiceStack.Web.INameValueCollection ServiceStack.Web.IRequest.get\u QueryString()” 它最初来自一个插件,但我不知道为什么。 这行代码中断C# MissingMethodException获取查询字符串,c#,.net,servicestack,C#,.net,servicestack,我在.net core应用程序(.net core 2.1,我使用的是service stack 5.2)中遇到此异常 找不到方法:“ServiceStack.Web.INameValueCollection ServiceStack.Web.IRequest.get\u QueryString()” 它最初来自一个插件,但我不知道为什么。 这行代码中断 session.refererUrl=getrefererUrl(authService,session,request) 顺便说一句,在应用
session.refererUrl=getrefererUrl(authService,session,request)代码>
顺便说一句,在应用程序控制台中,我还可以看到:
警告:ServiceStack.Serialization.StringMapTypeDeserializer[0]属性“redirect”在类型“ServiceStack.Authenticate”上不存在
……但我认为这与上述例外情况无关
有什么提示可能是问题吗?去年没有被v5+中的NameValueCollection
替代的,无论您使用的是什么v4代码,都需要使用与项目其余部分相同的版本重新编译
要获得干净的升级,请确保所有项目都引用相同的ServiceStack版本,删除/bin
和/obj
文件夹,然后再次尝试从NuGet还原
如果仍然存在问题,请清除NuGet缓存并再次恢复:
警告:ServiceStack.Serialization.StringMapTypeDeserializer[0]属性“redirect”在类型“ServiceStack.Authenticate”上不存在
这是无关的,只是一个警告,在请求DTO上有一个重定向
属性,我已将其添加到中的忽略列表中
我这样做了,我清除了所有bin
和obj
文件夹,在所有项目中将我的ServiceStack更新为5.4.1,清除了缓存的nuget包,但当我使用受保护的API方法时,我仍然看到同样的错误。@ShP您有一些根据v4编译的旧二进制文件,需要根据最新版本重新编译。
nuget locals all -clear