我在IdentityModel v3.6.1中使用了IntrospectionClient和TokenClient。
但是当我将项目从.Net 4.7.1升级到4.7.2时,我遇到了构建错误:
"错误CS0012类型' HttpMessageHandler'在未引用的程序集中定义。您必须添加对程序集的引用,System.Net.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"
该项目已经引用了" System.Net.Http" V4.3.3
有没有人知道wat已经改变了,我可以做些什么来解决这个问题?
答案 0 :(得分:1)
您是否使用<PackageReference Include=".../>
引用IdentityModel包?如果是这样,我相信您可能会遇到这个已知问题:https://github.com/Microsoft/dotnet/blob/master/releases/net472/KnownIssues/613745%20-%20Single-name%20references%20are%20removed%20by%20the%20SDK%20when%20targeting%204.7.2.md
假设是这种情况,你可以尝试一下那里列出的解决方法,基本上要添加到你的.csrpoj中:
<ItemGroup>
<PackageReference Include="System.Net.Http" Version="4.3.3">
<ExcludeAssets>All</ExcludeAssets>
</PackageReference>
</ItemGroup>
我希望能解决您的问题。另外,请注意我们正在修改VisualStudio方面,以便您不再需要此解决方法。
答案 1 :(得分:0)
将IdentityModel包更新为IdentityModel v3.7.0-preview1有帮助。