我正在使用ASP.NET核心Authentication.OAuth包(Version2.2.0)在我的web应用程序中为一个独特的身份验证流开发中间件。我正在使用.NET Core3.1。我遇到了几个问题,在这些问题中,包的基本代码中似乎缺少了构造函数/方法,创建了我无法解决的缺少的方法异常(例如,这个异常,我已经讨论过,但还没有真正解决:"MissingMethodException: Method not:'Void CreatingTicketContext..ctor“,这是我在尝试实例化OnCreatingTicketContext
对象时得到的)。我尝试过卸载和重新安装OAuth包,所以我不认为这是一个问题,我的具体安装。尽管我设法解决了其中的一些错误,但我目前无法在扩展的OAuthTokenResponse
类中实例化新的OAuthHandler
对象。
调用'Microsoft.AspNetCore.Authentication.OAuth.OAuthTokenResponse Microsoft.AspNetCore.Authentication.OAuth.OAuthTokenResponse.Success(Newtonsoft.Json.Linq.JObject)'").会产生缺少的方法异常(“方法未找到:OAuthTokenResponse.Success(response)
”)如果我试图直接指定对象的每个字段(如下所示),则会遇到另一个错误:"'OAuthTokenResponse‘不包含接受0参数的构造函数“。
var payload = JObject.Parse(await response.Content.ReadAsStringAsync());
var result = new OAuthTokenResponse()
{
Response = payload,
AccessToken = payload.Value<string>("access_token"),
TokenType = payload.Value<string>("token_type"),
RefreshToken = payload.Value<string>("refresh_token"),
ExpiresIn = payload.Value<string>("expires_in")
};
实际上,从类定义来看,似乎没有使用任何参数定义的构造函数,尽管我怀疑它是存在的,而且是不可访问的,所以这可能是意料之中的。不管是什么情况,我都不知道该怎么做,也不知道是我做错了什么,还是包本身出了问题。有什么见解吗?
发布于 2020-03-27 06:41:51
这个问题源于对同一组包的多个引用。我还没有意识到,包含Nuget包时没有引用2.2之后的ASP.NET核心版本,并且.NET Core3.1框架提供了最新的版本。我卸载/删除了对2.2版本包的引用,问题就消失了。
https://stackoverflow.com/questions/60286133
复制相似问题