使用IdentityModel v3.6.1和.Net 4.7.2构建错误

时间:2018-05-22 19:48:02

标签: c# identityserver4 .net-4.7.2

我在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已经改变了,我可以做些什么来解决这个问题?

2 个答案:

答案 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有帮助。